it-swarm-ja.com

SysAdmin&Developer:責任

本番ウェブサーバーのようなものになると、システム管理者と開発者の責任のベストプラクティスは何ですか?具体的には、ソフトウェアの更新・インストールを考えています。 (私の理解では、開発者は本番サーバーへのルートアクセスを持ってはなりません。)

そのため、本番WebサーバーはWordpressを実行しており、最新バージョンに更新する必要があります。誰がそれを最新の状態に保つ責任がありますか?

開発者がカスタムハッキングされたプラグイン、またはアプリ(この例ではWP)にカスタムコアファイルを持っている場合はどうなりますか?

26
Josh Brower

ほとんどの場合、あなたが物理サーバーの責任者である場合は、開発者にルートアクセスを許可しないことが最善であることがわかりました。

これは少し「聖戦」の議論です。反対する開発者が見つかると確信しています。私は個人的にその議論の両側にいます。

開発者(100%信頼できる開発者でさえ)にルートアクセスを与えない主な理由は、XYZを正しく機能させるために必要なパッケージがあることが多いためです。彼らは先に進んでそれをインストールします...またはそれが機能するようにすでに配置されているものを再構成します...または...まあ...あなたはアイデアを得るでしょう。

数か月が経ちます...サーバーを再インストールまたは再作成する必要があります...そして突然、「古いサーバーでは機能するが、新しいサーバーでは機能しない」理由がわかりません。

もちろん、あなたが見ているドキュメントには、開発者がシステムを初めて動作させるために行った小さなパッケージや微調整がすべて含まれているわけではありません。

双方にとって$$の苦痛かもしれません...しかし、システム管理者がサーバー、パッケージ、およびドキュメントを担当し、開発者が開発とソフトウェアを担当している場合...私はあなたが結局、それだけの価値があったことがわかります。

開発者がカスタムプラグイン、モジュール、構成、微調整を必要とする場合...問題ありません...彼らのためにそれを行います...しかし、次回それを再現できるようにそれを文書化します。

21
KPWINC

黄金律:管理者以外の人に、壊したくないものや責任を問われるものに触れさせないでください。

開発者はテスト環境にアクセスできる必要があります。彼らの仕事がプロダクションマシンに配置する準備ができたら、システム管理者に引き渡す必要があります。開発者が仕事を終え、手順を適切に文書化すれば、すべてうまくいくでしょう。そうでない場合は、適切にテストしないために裏側を蹴る必要があります。

16
John Gardeniers

私もこの戦いに参加しました。私の答えは、サーバーの稼働時間の責任者はすべての更新や変更などの責任者であるということです。他のNobodoyは、サーバー上でこれらのタイプの機能を実行する機能を備えている必要があります。サーバーが稼働していることを確認するのがあなたの仕事であり、上司があなたにサーバーの責任と責任を負わせている場合は、サーバーを維持および保護するのはあなたの責任です。

ほとんどの開発者は、サーバーへの管理者レベルのアクセスが必要であり、ほとんどの人が私に同意しないと言っていますが、電話を切ったときに午前2時に再起動する必要があり、その後再構築する必要があります更新が失敗した場合、ダウンタイムは私の部門などに請求されます。SLAに影響を与えるものについてはCIOに回答する必要があるため、サーバーへの管理者レベルのアクセス権を取得できるのは私だけです。 mすべてのコンポーネント、更新、変更などに責任があります。

12
joeqwerty

開発と運用の区別を曖昧にする傾向があります。開発者をsysadminsおよびsysadmins開発者にします。

この意味で、wordpressは、ブログの自動化された(およびプログラムによる)提供に関するいくつかの作業から利益を得る可能性があります。多くのwordpressユーザーは少数のWP/WPMUインスタンスを維持していますそして、タイムリーにそれらを更新することは、少なくとも面倒です。

哲学の素晴らしい(そして楽しい)概要は アジャイル2009のアジャイルインフラストラクチャスライド で見つけることができます。

1
scyldinga

私は100%同意します。開発者はほとんどの場合、syadminがどのように機能するかを認識していません。彼らが何かを必要とするならば、彼らはあなたに尋ねます、それはすべてです。いつ、どのようにして、使いやすいパッケージを提供するかを考えます。 (彼らが電子メールを送信する必要があるように、あなたは後置を設定する人です)。さらに、通常のアクセスではそれを実行できない場合、ほとんどの場合、rootアクセスは物事を機能させると考える傾向があります。私はここで他の人に同意します、あなたが問題を見るであろう午前2時に彼らはあなたと一緒にいません。私は数週間前に事件を起こしました、開発者は彼のワードプレスを更新したかったです。 RTF changelog、彼にとっては役に立たなかった、更新プロセスは美しいインターフェイスを介して行われました。更新は機能しませんでした。アプリケーションを保存し、バックアップを作成しました。彼ではなくスクリプトを実行してください。私がいなければ、サイトを復元できませんでした。これらのことに注意して、戦略(chroot、バックアップ、構成)をセットアップするために時間を費やしています。そして開発者は決してこれらのものに干渉するべきではありません(シーザーに属するものはシーザーに戻してください)

1
Razique

開発者は本番環境に根ざすべきではありません。開発者以外の全員がこれに同意します。しかし、開発者はケーキを持って食べることもできます。誰も明示的にこれを言及しなかったことに少し驚いています:

私の非常に長い間中小企業のクライアントの1つは、Drupalインストール、いくつかのWordPressサイト、SMFフォーラム、および他のいくつかのランダムな小さなWebアプリ。私は契約sysadminであり(歴史的な理由から、更新/ハックWordPressおよび必要に応じてSMF))、クライアントは独自の契約を結んでいますDrupal開発者。環境は、パブリッククラウドプロバイダー上の複数のVMware仮想マシンです。

開発者は本当にrootアクセスを持ちたいと思っており、それを必要としています。たとえば、すべてのカスタムDrupalのものを機能させるために、nginx書き換えルールを作成するのは彼らの責任です。しかし、本番サーバーでルートアクセスを許可することはできません。クライアントは同意します。その上で私と一緒に。

そのため、妥協しました。テストWebサーバーでルートアクセスを取得します(IPアドレスを除いて、通常は本番サーバーと同じであり、同じクラウド上にあります)。これは、本番環境と同様に、etckeeperを備えているため、必要な変更やインストールしたパッケージを確認できます。次に、変更を本番環境に取り込むか、やりたいことの何が問題になっているのかを伝えます。そして、彼らが本当に失敗した場合(彼らはまだ、gawdに感謝します)、私は彼らの変更を簡単に元に戻すことができます。

運用データベースサーバーにはまったくアクセスできません。ユーザーのログインさえありません。私のクライアントと私だけがそうします。

(Webアプリ自体は、gitを使用して直接デプロイします。壊れた場合は、修正して、開発者であり続ける必要がある理由をクライアントに説明します。ただし、クライアントはそのようなメールでCCを送信するので、どちらでもかまいません。それらまたはfacepalmを笑ってください。)

1
Michael Hampton

システム管理者は、(タイトルが言うように)管理者アクセス権を持っている必要があります。他の誰も実動サーバーにアクセスする必要はありません。開発者が本番システムで問題のトラブルシューティングを行う必要がある場合、その問題は開発環境で再現可能である必要があります。そうでない場合は、sysadminと一緒に座って、システムを調べることができます。

開発者は本番環境に触れることができないのは好きではありませんが、それは仕事ではありません。ソフトウェアを作成し、製品版リリースのためにそれをsysadminsに引き渡すことが仕事です。彼らがすべてを正しく文書化した場合(そしてほとんどの店で文書化は汚い言葉であることを覚えておいてください)、リリースはうまくいくはずです。

ここ米国の公開企業では、SOX、HIPPAなどに対処する必要があります。これらの見捨てられた規制のほとんどは、実際にこの議論に役立ちます。 SOXは、開発者が本番システムから手を離しておくことを要求する職務の分離を指示します。

0
mrdenny

ルート==システム管理者。

ユーザー==開発者、DBA、またはユーザー。

ルートはサーバーがダウンしているときにスリープがないことを認識し、ルートはユーザーを自分自身から保護し、ルートはユーザーのデータをネットから保護し、ルートはサーバーの状態をすべてのユーザーよりも優先します。サーバーがオフラインのとき、ルートのお尻はライン上にあります。サーバーハッピー、ルートハッピー!

予定外のダウンタイムの一般的な理由:ユーザー、文書化されていない環境の変更、およびバックホー。サーバーは、ランダムに破壊するのではなく、指示されたとおりに実行します。あなたが尋ねるハッカー、そうでない場合、そのとき...したがって「根」の必要性。

00:33 CDTバックアップと災害復旧ドキュメントがどこにあるか知っていますか? :-p

0
ForgeMan