8

少し前に、これまで取り組んできた顧客プロジェクトのほとんどすべてが、重要な利害関係者グループであるシステム管理者を軽視していることに気付きました。

これらの無口なヒーローは、通常、プロジェクトの最後にのみ関与し、今後何年にもわたってインストール、サポート、および保守する必要がある、実行可能なビットのブラック ボックスが残されます。このブラック ボックスで問題が発生するたびに、ブラック ボックスまたは基盤となるプラットフォームによって利用可能になったランダムな情報とツール サポートを使用して問題を解決する方法を見つける必要があります。これが十分でない場合は、即興で対応する必要があります。 .

彼らが最初からプロジェクトの利害関係者として関与していれば、潜在的な問題を予測し、それについてプロジェクト チームに知らせる機会があったでしょう。しかし、現実は異なります。私は開発者として、システム管理者を追加の利害関係者として関与させたいと思っていますが、外部要因がこれを妨げている可能性があります。

このような状況では、静かなヒーローをできる限り助けたいと思います. だから私の質問は:

システム管理者は、私たち開発者が保守しなければならないシステムを開発するときに、私たち開発者に何を望むでしょうか?

あなたがシステム管理者である場合は、かつて経験した困難な問題と、それを解決しやすくするために開発者ができたことについて、戦争の話をしてください。

4

9 に答える 9

9

これらを含む(ただし、これらに限定される可能性は低い)さまざまなもので、優先順位はありません。

  • 特権インストールを使用する必要はありません
  • 特権インストールを使用するオプション
  • 分散インストールのオプション(サーバーにインストールして他のマシンで使用できるようにするため)
  • クリーンアンインストール
  • 賢明なアップグレードパターン
  • インストール場所を選択するオプション
  • 他のソフトウェアへの最小限の依存
  • システム全体でのデータの分散を最小限に抑えます(/ etc、/ usr / lib、/ var / adm、...にデータをダンプしないでください)
  • 増え続けるログはありません
  • サイレントインストール
  • スクリプトインストール
  • オンラインドキュメント(マシン上およびインターネット上)
  • おそらくmanページ
  • 設定が簡単
  • エンドユーザーが簡単にアクセスできるようにする
  • セキュリティリスクなし
  • 特別なユーザーやグループはありません(または限られた数-多くても1人の特別なユーザー、1つの特別なグループがターゲットですが、常に達成できるとは限りません)
  • 「phonehome」機能がないか、明示的に設定されている場合のみ(デフォルトではない)
  • 問題がある場合の診断の適切なログ
  • 問題がある場合に利用できる優れた技術サポート
  • インストール中にアクティベーションコードを取得する必要はありません
  • インストール後にマシンを再起動する必要はありません
  • 古いバージョンと新しいバージョンを並行して実行する機能

多くは、ソフトウェアが何であるか、そしてそれがどのように使用されるかに依存します。Windows、Linux、およびMacOS Xで動作するGUIプログラムの要件は、ネットワークデーモンの要件とは根本的に異なりますが、目標は、安定性があり、信頼性が高く、管理が容易なソフトウェアである必要があります。

社内部門が社内で使用するために作成したソフトウェアと、社外の顧客がソフトウェアを開発するために作成したソフトウェアには大きな違いがあることに注意してください。

于 2008-11-21T00:35:40.543 に答える
5

やむをえず問題が発生した場合は、システム管理者の言うことに注意を払い、システム管理者を信じてください。最初の評価に合わない場合は、すぐに却下しないでください。

戦争の話: 約 6 年前、私は小規模な製造会社でシステム管理を行っていました。彼らは、機器の予防保守のスケジューリングを処理するためのソフトウェアを購入することにしました。その機能の 1 つは、電子メールからメンテナンス リクエストをインポートすることでしたが、このプロセス中にメール サーバーと通信する際にエラーが発生する問題が時々発生し、最終的に開発者との電話で確認するように呼ばれました。会話には複数回の繰り返しが含まれていました

開発者: メール サーバーとの通信でそのような問題が発生したという話は聞いたことがありません。ファイアウォールの問題である必要があります。

私: ファイアウォールにログインし、パケット スニファーを実行して、アプリのトラフィックが問題なく通過するのを監視しています。ファイアウォールを問題なく通過しています。

開発者: いいえ、いいえ - ファイアウォールの問題に違いありません。

(最終的に、問題は、アプリが POP3 接続を開き、すべてのメールを読み取り、ユーザーがタスクをスケジュールするのを待ってから、すべての要求がスケジュールされた後にメールを削除するための POP コマンドを送信したことであることが判明しました。ユーザーがスケジューリングを行うのに 15 分以上かかった場合、POP 接続がタイムアウトし、アプリが回復できなかったため、代わりにアプリが停止しました。その後、ユーザーはスケジューリングを繰り返す必要がありました。つまり、おそらく十分な時間がかかります。再びタイムアウトする...)

于 2008-11-23T23:02:56.737 に答える
2

システム管理者は通常、次のことを望んでいます。

  • システムの運用に対する透明性。したがって、システム設定とおそらくシステムの問題の履歴、およびシステムが正しく処理したもののリストを表示するある種のGUI。
  • 問題に対する明確なコンテキスト依存のエスカレーションパス。つまり、各問題タイプには修正に関する注意事項があり、問題を迅速に修正できず、エスカレーションが必要な場合に連絡できる人またはチームがあります。
  • 先を見越して、つまりエンドユーザーがシステムの問題についてエンドユーザーに通知する前に、エンドユーザーに通知できるようにする。したがって、それが実行可能な場合は、システムの問題に対するある種の即時アラート。
  • アラートが殺到しないようにします。したがって、アラートが到着すると、同じ問題に対するアラートはなくなります。システムが再び動作可能になったときの別のメッセージ。
  • 問題をより深く調査するためのイベントログ(Windowsの場合)などを使用した詳細なログ。
于 2008-11-21T00:24:45.480 に答える
2

以下の組み合わせだと思います。

1) 容量のしきい値 -> このソフトウェアを実行するのに必要なマシンと、この数がいつ変化するかを判断するために使用する必要があるメトリック (たとえば、データベース サーバーが 2 つから 3 つになるか、Web サーバーが 10 から 15 になるか)。ハードウェアはどれくらい強力である必要がありますか? また、RAM よりも CPU の方が重要であるとか、ハード ドライブの構成と容量はどうですか?

2) クックブック スタイルのトラブルシューティング -> 何か問題が発生した場合、コード、データ、またはネットワーク エラーにどれだけ簡単に分類できるか。

3) 環境の図 -> このソフトウェアの開発、テスト、および本番インスタンスはどのように見えますか? 現在実行中のこれらの環境、およびおそらく他の環境はありますか?

4) メンテナンス -> レポートに解析するログ ファイル、送信する毎週のエラー ログ、またはソフトウェアに関するある種のハウスキーピング (サーバーを毎週再起動するなど) はありますか。

5) セキュリティ -> 作成および管理するアカウントと、システム上で誰がどのレベルの権限を持っているかを概説するセキュリティ ポリシーがありますか。

それらが私の頭に浮かぶ主なものです。

于 2008-11-21T20:48:30.893 に答える
1

私のホーム管理者の経験が何であれ、ソフトウェアにパッケージ化されている、十分に文書化された依存関係。

于 2008-11-21T01:10:09.303 に答える
1

すべてのプロジェクトには、システムアーキテクチャとともに「キャパシティプランニング」があります。システム管理者は、キャパシティプランニングプロセスとシステムアーキテクチャの最終レビューに関与する必要があります。これにより、彼はシステムをよりよく理解し、展開とサポートの準備をすることができます。

于 2008-11-21T00:27:03.760 に答える
1

戦時中の話というよりも恐ろしい話です。明らかな理由もなく、管理者ユーザー アカウントで実行する必要があるアプリケーションを維持することです。

アプリケーションにあるといいと思ういくつかのランダムなもの:

  • 意味のあるコマンド ライン引数
  • ある種のスクリプト機能 (該当する場合)
  • 長時間実行される操作のあらゆる種類の進行状況インジケーター
  • エラーロギング
  • 一貫した UI
于 2008-11-21T21:17:40.570 に答える
1

パッケージのメンテナンスが簡単!

ソフトウェアのインストールとアップグレードは非常に簡単である必要があり、それは依存関係にも当てはまります。多数の依存関係とサブ依存関係があり、各オペレーティング システムのパッケージ管理方法論のニュアンスを習得する傾向がない場合は、必要なすべての依存関係が巨大な tarball にまとめられたパッケージ バージョンを提供するとよいでしょう。 . スクリプトを実行し、すべてを /usr/local/yourproject に入れ、startup/shutdown/restart スクリプトの場所を伝えます。

于 2008-11-23T21:54:06.627 に答える
1

彼が子供たちの家に帰れるようにシステムが機能していること。

于 2008-11-21T00:06:21.273 に答える