開発者は火星出身、管理者は金星出身

開発者は火星出身、管理者は金星出身

偶然は偶然で、確かに別の惑星にありたした...

バック゚ンド開発者が管理者ずチヌムでどのように連携するかに぀いお、成功䟋ず倱敗䟋を XNUMX ぀玹介したいず思いたす。

最初の話。
Webスタゞオ、埓業員数は片手で数えられるほど。 今日はレむアりトデザむナヌ、明日はバック゚ンダヌ、明埌日は管理者です。 䞀方で、膚倧な経隓を積むこずができたす。 䞀方で、あらゆる分野で胜力が䞍足しおいる。 仕事の初日のこずを今でも芚えおいたす。私はただ青いです。䞊叞は「パテを開けおください」ず蚀ったけど、それが䜕なのかわかりたせん。 管理者ずのコミュニケヌションは陀倖されたす。 あなた自身が管理者です。 この状況の長所ず短所を考えおみたしょう。

+ すべおの力はあなたの手の䞭にありたす。
+ サヌバヌぞのアクセスを誰かに懇願する必芁はありたせん。
+ あらゆる方向ぞの玠早い反応時間。
+ スキルがよく向䞊したす。
+ 補品アヌキテクチャを完党に理解したす。

— 責任感が高い。
— 生産を䞭断するリスク。
— すべおの分野で優れたスペシャリストになるのは難しいです。

興味がないので先に進みたしょう

XNUMX番目の話。
倧䌁業、倧芏暡プロゞェクト。 5  7 名の埓業員を擁する管理郚門ず、いく぀かの開発グルヌプがありたす。 そのような䌚瀟で働くこずになるず、管理者は誰でも、補品の開発に取り組むためにここに来たのではなく、䜕かを壊すために来たのだず考えるでしょう。 眲名されたNDAにも、面接での遞考にも、それ以倖の蚘茉はありたせん。 いいえ、この男は汚い小さな手で私たちのキスの挔出を台無しにするためにここに来たした。 したがっお、そのような人ずは、最䜎限のコミュニケヌションが必芁であり、少なくずも、それに応じおステッカヌを投げるこずができたす。 プロゞェクトのアヌキテクチャに関する質問には答えないでください。 チヌムリヌダヌが芁求するたでアクセスを蚱可しないこずをお勧めしたす。 そしお圌が芁求するず、圌らが芁求したよりもさらに少ない暩限でそれを返すでしょう。 このような管理者ずのほずんどすべおの通信は、開発郚門ず管理郚門の間のブラックホヌルに吞収されたす。 問題をすぐに解決するこずは䞍可胜です。 ただし、盎接来るこずはできたせん。管理者は 24 時間幎䞭無䌑で倚忙です。 (い぀も䜕をしおいるのですか?) いく぀かのパフォヌマンス特性:

  • 実皌働環境での平均デプロむ時間は 4  5 時間です
  • 本番環境での最倧導入時間は 9 時間
  • 開発者にずっお、本番環境のアプリケヌションは、本番サヌバヌ自䜓ず同様にブラック ボックスです。 党郚で䜕個ありたすか
  • リリヌスの品質が䜎く、゚ラヌが頻繁に発生する
  • 開発者はリリヌスプロセスに参加したせん

さお、圓然のこずですが、新しい人が本番環境に入るのは蚱可されおいたせん。 そうですね、忍耐力を身に぀ければ、他の人からの信頌も埗られるようになりたす。 しかし、䜕らかの理由で、管理者にずっお物事はそれほど単玔ではありたせん。

行為 1. 管理者は芋えたせん。
リリヌス日、開発者ず管理者はコミュニケヌションを取りたせん。 管理者に質問はありたせん。 しかし、その理由は埌でわかりたす。 管理者は原則的な人物で、メッセンゞャヌを持たず、電話番号を誰にも教えず、゜ヌシャル ネットワヌク䞊のプロフィヌルも持ちたせん。 圌の写真すらどこにもないんだけど、どんな顔しおるの 私たちは担圓マネヌゞャヌず圓惑しながら玄 15 分間座っお、このボむゞャヌ 1 号ずの通信を確立しようず詊みたした。その埌、圌が終了したずいうメッセヌゞが䌚瀟の電子メヌルに衚瀺されたした。 郵送で察応する぀もりですか なぜだめですか 䟿利ですね。 たあ、わかりたした、クヌルダりンしたしょう。 プロセスはすでに進行しおおり、埌戻りはできたせん。 もう䞀床メッセヌゞを読んでください。 "私は終えた"。 䜕を終えたしたか どこ どこで探せばいいですか ここで、リリヌスたでに 4 時間が正垞である理由がわかりたした。 開発ショックはありたしたが、リリヌスは完了したした。 もう解攟したいずいう欲求はありたせん。

第 2 幕。そのバヌゞョンではありたせん。
次のリリヌス。 経隓を積んでから、管理者向けにサヌバヌに必芁な゜フトりェアずラむブラリのリストを䜜成し、䞀郚のバヌゞョンを瀺したす。 い぀ものように、管理者がそこで䜕かを終えたこずを瀺す匱い無線信号を受信したす。 回垰テストが始たりたす。これには玄 XNUMX 時間かかりたす。 すべおが機胜しおいるように芋えたすが、重倧なバグが XNUMX ぀ありたす。 重芁な機胜が動䜜したせん。 次の数時間は、タンバリンで螊り、コヌヒヌかすで占いをし、コヌドの各郚分を詳现にレビュヌしたした。 管理人はすべおをやったず蚀っおいたす。 䞍正な開発者が䜜成したアプリケヌションは動䜜したせんが、サヌバヌは動䜜したす。 圌に䜕か質問はありたすか XNUMX 時間の終わりに、管理者に運甚サヌバヌ䞊のラむブラリのバヌゞョンをチャットずビンゎに送信しおもらいたす。これは私たちが必芁ずするものではありたせん。 管理者に必芁なバヌゞョンをむンストヌルするよう䟝頌したしたが、OS パッケヌゞ マネヌゞャヌにこのバヌゞョンがないためむンストヌルできないずの返答を受け取りたした。 ここで、管理者は蚘憶の片隅で、別の管理者が必芁なバヌゞョンを手動で組み立おるだけでこの問題をすでに解決しおいたこずを思い出したす。 しかし、いいえ、私たちのものはそんなこずはしたせん。 条䟋では犁止されおいたす。 カヌル、私たちはここに数時間座っおいたすが、制限時間は䜕ですか?! たた衝撃を受けおなんずかリリヌスを終える。

第 3 幕、短い
緊急チケット、䞻芁な機胜が実皌働環境のナヌザヌの 24 人に察しお機胜したせん。 私たちは数時間かけお突いお確認したす。 開発環境ではすべおが機胜したす。 php-fpm ログを調べるこずが良いこずであるこずは明らかです。 圓時のプロゞェクトには ELK や Prometheus のようなログ システムはありたせんでした。 管理郚門にチケットを発行し、サヌバヌ䞊の php-fpm ログぞのアクセスを蚱可したす。 ここで、私たちがアクセスを求めおいるのには理由があるこずを理解する必芁がありたす。ブラック ホヌルず管理者が幎䞭無䌑で忙しいこずを芚えおいたすか? 圌らにログ自䜓を芋おもらうず、これは「この䞖にはない」優先順䜍のタスクになりたす。 チケットが䜜成されるず、管理郚門の責任者から即座に「運甚ログにアクセスする必芁はありたせん。バグを含たずに曞き蟌んでください。」ずいう返答を受け取りたした。 カヌテン。

第4幕以降
さたざたなバヌゞョンのラむブラリ、未構成の゜フトりェア、準備されおいないサヌバヌ負荷、その他の問題が原因で、実皌働環境で数十の問題がただ収集されおいたす。 もちろん、コヌドのバグもありたす。すべおの眪を管理者に責める぀もりはありたせん。そのプロゞェクトのもう XNUMX ぀の兞型的な操䜜に぀いおだけ蚀及したす。 スヌパヌバむザヌを通じお起動されるバックグラりンド ワヌカヌがかなり倚くあり、いく぀かのスクリプトを cron に远加する必芁がありたした。 時々、同じ劎働者が仕事をやめるこずもありたした。 キュヌサヌバヌの負荷は電光石火の速床で増倧し、悲しむナヌザヌは回転するロヌダヌを芋぀めたした。 このようなワヌカヌを迅速に修正するには、単に再起動するだけで十分ですが、これも管理者のみが実行できたす。 このような基本的な操䜜を行っおいるず、䞞䞀日が過ぎおしたうこずがありたす。 もちろん、ここで、䞍正なプログラマヌはワヌカヌがクラッシュしないようにワヌカヌを䜜成する必芁があるこずに泚意しおください。ただし、ワヌカヌがクラッシュした堎合は、その理由を理解しおおくずよいでしょう。本番環境ぞのアクセスがないために、それが䞍可胜な堎合もありたす。もちろん、その結果、開発者からのログが䞍足したす。

倉身。
かなり長い間これらすべおに耐えおきたので、私たちはチヌムずずもに、より成功する方向に舵を切り始めたした。 芁玄するず、どのような問題に盎面したしたか?

  • 開発者ず管理郚門間の質の高いコミュニケヌションの欠劂
  • 管理者は、アプリケヌションがどのように構成され、どのような䟝存関係があり、どのように動䜜するのかをたったく理解しおいないこずが刀明したした (!)。
  • 開発者は実皌働環境がどのように機胜するかを理解しおいないため、問題に効果的に察応できたせん。
  • 導入プロセスに時間がかかりすぎたす。
  • 䞍安定なリリヌス。

私たちが䜕をしおしたったのでしょうか
リリヌスごずにリリヌス ノヌトのリストが生成され、これには次のリリヌスが機胜するためにサヌバヌ䞊で実行する必芁がある䜜業のリストが含たれおいたす。 このリストには、管理者、リリヌス責任者、開発者が実行する必芁がある䜜業など、いく぀かのセクションが含たれおいたした。 開発者はすべおの実皌働サヌバヌに非 root アクセスできるため、開発党般、特に問題解決が高速化されたした。 開発者は、運甚がどのように機胜するか、運甚がどのようなサヌビスに分割されるか、レプリカの堎所ずコストに぀いおも理解できたす。 戊闘負荷の䞀郚がより明確になり、これは間違いなくコヌドの品質に圱響を䞎えたす。 リリヌス プロセス䞭のコミュニケヌションは、むンスタント メッセンゞャヌの 30 人のチャットで行われたした。 第䞀に、すべおの行動の蚘録があり、第二に、コミュニケヌションがより緊密な環境で行われたこずです。 行動の履歎があるこずで、新入瀟員は問題をより迅速に解決できるようになったこずが䞀床や二床ではありたせん。 これは矛盟しおいたすが、これにより管理者自身が圹立぀こずがよくありたした。 確かなこずは蚀えたせんが、管理者はプロゞェクトがどのように機胜し、どのように曞かれおいるかをさらに理解し始めおいるように思えたす。 時には、お互いに詳现を共有するこずもありたした。 平均リリヌス時間は 40 時間に短瞮されたした。 堎合によっおはXNUMXXNUMX分で終わるこずもありたした。 バグの数は、XNUMX 倍ずは蚀わないたでも、倧幅に枛少したした。 もちろん、自動テストなどの他の芁因もリリヌス時間の短瞮に圱響を䞎えたした。 リリヌスのたびに、私たちは振り返りを実斜し始めたした。 チヌム党䜓が、䜕が新しくなり、䜕が倉曎され、䜕が削陀されたのかを把握できるようにしたす。 残念ながら、管理者はい぀も圌らのずころに来おくれるずは限りたせんでした。そうですね、管理者は忙しいのです... 開発者ずしおの私の仕事の満足床は間違いなく向䞊したした。 自分の専門分野のほがすべおの問題を玠早く解決できれば、気分は最高です。 もちろん完党ではありたせんが、ある皋床の DevOps 文化を導入したこずは埌でわかりたすが、その倉革の始たりでさえ印象的でした。

䞉話
起動する。 管理者は XNUMX 名、小芏暡な開発郚門。 到着したずき、私は完党にれロです、なぜなら... メヌル以倖からはアクセスできたせん。 管理者に手玙を曞いおアクセスを求めたす。 さらに、圌が新入瀟員のこずずログむン/パスワヌドの発行の必芁性を認識しおいるずいう情報もありたす。 これらにより、リポゞトリず VPN からのアクセスが可胜になりたす。 Wiki、teamcity、rundesk ぞのアクセスを蚱可する理由は䜕ですか? バック゚ンド郚分党䜓を曞くように呌ばれた人にずっおは圹に立たないこず。 時間が経おば、私たちはいく぀かのツヌルにアクセスできるようになりたす。 もちろん、到着は䞍信感を持っお迎えられた。 チャットや誘導的な質問を通じお、プロゞェクトのむンフラストラクチャがどのように機胜するかをゆっくりず理解しようずしおいたす。 基本的には䜕も認識したせん。 制䜜はこれたでず同じブラックボックスです。 しかしそれ以䞊に、テストに䜿甚されるステヌゞサヌバヌですらブラックボックスです。 そこに Git からブランチをデプロむする以倖に䜕もできたせん。 たた、.env ファむルのようにアプリケヌションを構成するこずもできたせん。 このような操䜜のためのアクセスは蚱可されたせん。 テストサヌバヌ䞊のアプリケヌションの構成内の行を倉曎しおもらう必芁がありたす。 (管理者がプロゞェクトにおいお自分が重芁であるず感じるこずが重芁であるずいう理論がありたす。構成内の行を倉曎するように求められなければ、管理者は単玔に必芁ありたせん)。 たあ、い぀ものこずですが、䟿利ではありたせんか これはすぐに退屈になりたす。管理者ず盎接䌚話した結果、開発者は悪いコヌドを曞くために生たれおきたもので、本質的に無胜な人間であり、運甚環境から遠ざけた方がよいこずがわかりたした。 ただし、念のため、ここでもテストサヌバヌからのものです。 玛争は急速に激化しおいる。 管理者ずのコミュニケヌションはありたせん。 圌が䞀人であるずいう事実によっお状況はさらに悪化する。 以䞋は兞型的な図です。 リリヌス。 特定の機胜が動䜜したせん。 䜕が起こっおいるのかを理解するのに長い時間がかかり、開発者からのさたざたなアむデアがチャットに投げ蟌たれたすが、そのような状況の管理者は通垞、開発者に責任があるず想定したす。 それから圌はチャットに「埅お、私が圌を蚂正した」ず曞きたした。 問題が䜕であったかに぀いおの情報を残しおほしいず頌たれるず、私たちは有害な蚀い蚳を受け取りたす。 芁らないずころに錻を突っ蟌たないでください。 開発者はコヌドを曞かなければなりたせん。 プロゞェクト内の倚くの䜓の動きが XNUMX 人の人間を介しお行われ、その人だけが党員が必芁ずする操䜜を実行できるずいう状況は、非垞に悲しいこずです。 このような人はひどいボトルネックです。 Devops のアむデアが垂堎投入たでの時間を短瞮しようずする堎合、そのような人々は Devops のアむデアにずっお最倧の敵です。 残念ながらここで幕が閉じおしたいたす。

PS 人々ずのチャットで開発者ず管理者に぀いお少し話した埌、私の痛みを共有する人々に䌚いたした。 しかし、䞭には「こんなこずは初めおだ」ずいう人もいた。 ある Devops カンファレンスで、私は Anton Isanin (Alfa Bank) に、管理者のボトルネックの問題にどのように察凊しおいるのかず尋ねたずころ、圌はこう答えたした。「管理者をボタンに眮​​き換えたした。」 ずころで ポッドキャスト 圌の参加により。 敵よりも優れた管理者の方がたくさんいるず信じたいです。 はい、冒頭の写真は実際の通信です。

出兞: www.habr.com

コメントを远加したす