IT䌚瀟の最新のバックオフィス

最近の議論の1぀で、IT䌁業の仕事を文明化する䞻なシステムをリストしたした。 このリストは非垞に広範であったため、独立した蚘事ずしおデザむンするこずにしたした。



同様の蚭蚈は倚くの䌁業で芋るこずができ、さらに、これらのシステムの䞀郚が長い間存圚しおいなかった䌁業を芳察したした。解決できない絶え間ない問​​題のため、これらのシステムは自然に珟れ始めたした。



以䞋のすべおは、有資栌者が働く䌁業/郚門に適甚されたす。぀たり、「初心者向けオフィス」コヌスは必芁ありたせん。 ワヌクステヌションのグルヌプポリシヌや、デスクトップのショヌトカットを倉曎したり、お気に入りのプログラムをむンストヌルしたりするための特別な管理者は必芁ありたせん。 ぀たり、これはITスペシャリストのバックオフィスであり、他の郚門のバックオフィスずは倧きく異なりたす。



簡単なコンテンツスポむラヌVCS、゜ヌスコヌドリポゞトリ、コヌドレビュヌ、ビルドサヌバヌ、CI、タスクトラッカヌ、Wiki、䌁業ブログ、機胜テスト、パッケヌゞリポゞトリ、構成管理システム、バックアップ、メヌル/ゞャバヌ。



議論䞭のむンフラストラクチャの断片の写真







それでは、簡単なものから始めたしょう。



職堎各職堎甚のボタン玄90〜100個を備えたコンピュヌタヌ。 倖郚/ 2/3モニタヌも望たしいです。 䞀般的に䜿甚されるラップトップ、非垞に広く-MacBooks。 ナヌザヌは自分のマシンにadminたたはsudoを持ち、゚ディタヌ、デバッガヌ、電子メヌルクラむアント、ブラりザヌ、タヌミナルなどを含む䟿利な゜フトりェアのセットを自分で決定したす。



むンタヌネット。 通垞、オフィスのWiFiずBYOD蚀い換えれば、オフィスのWiFi'emを悪甚するラップトップ、タブレット、携垯電話を自由に持ち蟌みたした。 倚くの堎合、有線ネットワヌクがたったくない堎合がありたす。 すべおの通信が暗号化されるため、このようなネットワヌクのセキュリティは条件付きです。 むンタヌネットには倚くのこずが必芁です。 そしお、勀務時間䞭のYouTubeのシヌルだけでなく、突然緊急の「今すぐパッケヌゞバヌゞョンを比范するために、原材料を含むDVDをダりンロヌドする」ためにも。 ちなみに実生掻から。 あらゆる皮類のスタックオヌバヌフロヌやその他のITリ゜ヌスを考えるず、むンタヌネットは無制限で制埡されず、高速であるほど良いはずです。



シンプルなものを運転したした。 さらに深刻です。



バヌゞョン管理システム VCSは䞀般的である必芁があり、「それぞれに」はここでは機胜したせん。 事実䞊の暙準は、前䞖玀のsvn / cvs / vcsからのgit 、条件付きで人気のある氎銀hg、゚キゟチックバザヌbzrです。 さらに、ワむナリヌには独自の䞖界があり、他にも䜕かがありたす。



バヌゞョン管理システムはロヌカルで動䜜するため、誰もがプッシュするプッシュする必芁がある 䞭倮゜ヌスコヌドリポゞトリが必芁です。 gitlabは非垞に人気がありたす。 独自の゜リュヌションがあり、自分を育おるのが面倒な人のためのgithubがありたす。 圌女は2番目に重芁なこず、プル芁求を決定したす。 そのため、ある人がメむンブランチ共有リポゞトリに到達する前に別の人が䜕をしたかを芋るこずができたす。 コヌドレビュヌがそのように実行されない堎合でも、プルリク゚ストは意味があるこずに泚意しおください。 原理は単玔です-1぀は曞き、もう1぀はsmerdzhilマヌゞです。



コヌドが耇雑な堎合は、 コヌドレビュヌのためのシステムが必芁です。 コヌドレビュヌずは、プログラマヌたたはシステム管理者-devops、すべおが互いのコヌドを確認するこずを意味し、コヌドを受け入れるための正匏な手順がありたす-たずえば、「少なくずも2人が芋お、承認する必芁があり、そのうちの1人はシニア/リヌドでなければなりたせん」 䟋gerrit、Crucible。 耇雑さが゚ッゞでバランスを保っおいる堎合、gitlabのコメントで議論しながら、自発的に契玄に準拠しようずするこずができたす。 しかし、ロボットが埓わないすべおが自発的であるように、それは時々倱火したす。



最小圢匏の人々のチヌムの管理は、 タスクスケゞュヌラ タスクトラッカヌredmine、jira、mantisを介しお実行されたす。 ほずんどの堎合、 バグトラッカヌの圹割も実行したす。 䞻な目暙は、問題のステヌトメントを圢匏化し、あいたいさを取り陀き、誰かが間違ったこずをしたずきに加害者を芋぀けるこずですあなたはそれを蚀ったのですかいいえ、あなたはそれを理解したせんでした-その埌、タスクテキストが芋え、誰が芋逃したかが明らかになりたす。 タスクトラッカヌの堎合、特にヘッド/チヌムリヌダヌから、蚀葉の法埋を慎重に排陀する必芁がありたす。 䜕か倉曎する必芁がありたすか タスクを蚭定したす。 官僚䞻矩の量は最小限であり、混ofの量は倍に枛少したす。



wiki -mediawiki、moin-moin、confluence、dokuwiki-他のチヌムメンバヌに衚瀺される蚘事を曞くこずができ、他の人の埌に線集できるものはすべお、自分のwikiを持぀こずがほが必須ず考えるこずができたす。 「これを行う方法」、芏制、蚎議結果、蚈画されたアヌキテクチャ゜リュヌション、他の方法ではなくこの方法でこれが行われる理由を説明するテキストを折り畳むのに理想的な堎所です。 よく構成されたりィキは良いですが、テキストの乱雑な山でさえ、「これをすべお知っおいた」退職した埓業員ずずもに消えおいく口承の䌝統よりも数倍䟿利です。



りィキがブログをサポヌトしおいる堎合、りィキでのブログの圢匏に同意するか、瀟内ブログのために䜕かを䞊げる必芁がありたす。 そのようなブログに䜕を曞くべきですか 構成に奇劙なバグを芋぀けるのに4時間かかりたしたか ブログで説明しおください-次回は自分で怜玢するので、すぐに読むこずができたすが、ゆっくりず読んでください。 頭の䞭に完党には収たらない長い長い問題に察凊し始めたしたか ノヌトブックずしおのコンピュヌタヌ䞊のテキスト゚ディタヌの代わりに、wikiに曞き蟌みたす。 同僚の1人が既に曞かれた内容を読んで、デバッグの過皋で短い解決策を蚀うこずが刀明する堎合がありたす。 そしお、ある時点で、同瀟のブログはおそらく困難な状況で最も䟡倀のあるリ゜ヌスになるでしょうむンタヌネットの埌の第2。



それが曞かれたワヌクステヌションで動䜜するコヌドを曞くこずは、たれな莅沢です。 ほずんどの堎合さらに、より倚くの堎合、コヌドはミドルりェアであり、他の倧きなサヌバヌコヌド間のレむダヌであり、生産的な䜜業のために広範な環境を必芁ずしたす。 「このデバッグアプリケヌションには、䜜業ベヌス、memcached、redis、snmpをスむッチにコピヌしたmysqlが必芁です。」 ワヌクステヌションでこのような環境を構築するこずは今でも楜しみです。 そしお、いく぀かのプロゞェクトがあり、それぞれに独自の環境がありたす。



したがっお、私たちは最初の難しいこずを埗たす プログラマヌの略です 。 実際には、USB接続のマむクロコントロヌラヌたたはhadoopサヌバヌファヌムになりたす。 プログラマが自分の立堎を持っおいるこずが重芁です。これは、プログラマが曞いたように、プログラマが自分の䜜業の結果をすぐに確認できる䜜業構成に少なくずもある皋床䌌おいたす。 節玄する䟡倀はありたせん。各プログラマヌは自分の立堎を持぀べきです。 コストが高すぎる堎合-mocapasを調達する必芁があり、mocapasを調達できない堎合、䌚瀟に問題がありたす-プログラマヌは「本番」で、耇数のプログラマヌがいる堎合は同時に曞き蟌みたす。 プログラマが本番環境に入るこずを蚱可されおいない堎合、圌らは盲目的に曞き蟌みたす-生産性にさよなら。



次に、本番環境でコヌドがどのように衚瀺されるかずいう問題がありたす。 ほずんどの堎合、これらはパッケヌゞdeb / rpm、実行可胜ファむルexe、たたは退屈なものhtmlです。 パッケヌゞに「退屈な静的芁玠をラップする」こずも理にかなっおいるこずに泚意しおください。 オタクから盎接拡散するチヌムがありたす特定のブランチ、タグ、たたはマスタヌであり、他のブランチで開発が行われるこずを前提ずしおいたす。



パッケヌゞを構築するこずは、特にコヌドがれロから曞かれおいないが、既存の構成ず他の倚くのパッケヌゞに䟝存しおいる堎合、非垞に耇雑で耇雑になる可胜性がありたす。 パッケヌゞビルドシステムを蚭定するのは理にかなっおいたす 。 これを行うには、最小限の構成でCI継続的統合を䜿甚したす。倚くの堎合、手動で制埡したすむンタヌフェむスに移動しお、パッケヌゞアセンブリの[タスクを実行]をクリックしたす。 オヌプン゜ヌスの暙準はゞェンキンスです。 最も有名なプロプラむ゚タリなもの-チヌムシティ。 最小構成では、指定されたブランチ/タグ/リポゞトリを取埗しおパッケヌゞを収集したす。 CIのむンタヌフェヌスからダりンロヌドできたす。



しかし、誰もがaptitudeのむンストヌルに慣れおいるため、 ミラヌたたはパッケヌゞリポゞトリを䞊げる必芁がありたす 。 同じCIがパッケヌゞをリポゞトリにアップロヌドできたす。 マりスでクリック-リポゞトリが接続されおいるすべおのサヌバヌに゜ヌスコヌドを配眮できたす。 リポゞトリの存圚により、倚数のサヌバヌ䞊のアプリケヌションを自動モヌドたたは半自動モヌドですばやく「ロヌルアりト」でき、さらに実隓/テスト/本番/旧安定に分離できるこずに泚意しおください。 たた、パッケヌゞマネヌゞャヌはむンストヌルされたファむルの敎合性を怜蚌するために必芁なすべおのツヌルを備えおおり、パッケヌゞを再床ダりンロヌドしお倉曎されたファむルを埩元できるため、非垞に迅速に損傷を修埩するこずができたすWordPressのあらゆる皮類の悪のバックドアがお気に入りのphpファむルを台無しにするWebマスタヌに泚意しおください アセンブリ䞭にディストリビュヌションにないパッケヌゞが必芁な堎合は、パッケヌゞもパッケヌゞ化する必芁がありたす。 䞊昇はpypiの皌働時間に䟝存したすが、生産は悲しい光景です。 䟝存関係の䞀郚は、アセンブリ䞭にのみ関連する堎合があるこずに泚意しおください;この堎合、サヌバヌぞの䜿甚枈みパッケヌゞディレクトリのレプリケヌションを構成するのが理にかなっおいたす。



CIは同時に、テストを実行できたす。 ナニットテストは、ほずんどの堎合、パッケヌゞアセンブリの段階コンパむル埌で実行されたす。 ただし、機胜受け入れテストの堎合は、 テスト環境 1぀たたは耇数を䞊げる必芁がありたす 。 コンパむルが正垞に完了するず、スタンドぞのパッケヌゞのむンストヌルず操䜜性のテストが開始されたす。 䌚瀟にリ゜ヌスがあれば、奇劙なバグごずにテストが行​​われ、それをキャッチしたす。 最小限の圢匏では、基本的なハッピヌパスをチェックする必芁がありたす。぀たり、「クラむアントは来お、商品を芋お、バスケットに入れお、支払いず賌入ができたす」。 悲しいパスクラむアントにお金がない/カヌネルバヌゞョンがモゞュヌルに察応しおいないも確認できたすが、それははるかに倚くのリ゜ヌスです。 しかし、ハッピヌパステストでも安定性は倧幅に向䞊したす。



倚数の構成ずテストがある堎合、コヌドレビュヌシステムずテストの統合を高めるこずは理にかなっおいたす 。 最も有名なものは、ゲルをゞェンキンに結合するズヌルです。 この堎合、コヌドレビュヌの提案は、プログラマヌシステム管理者のコミットがテストに合栌した埌にのみ送信されたす-膚倧な数の単玔なバグが「正気ずの戊い」段階でキャッチされるこずは蚀うたでもなく、人々の時間が節玄されたす これが䜕癟人もの独立した開発者でどのように機胜するかの理想的な䟋は、オヌプンスタックプロゞェクトむンフラストラクチャです。



テストが構成されおいる堎合、コヌドレビュヌは解決され、垞に以前のバヌゞョンが存圚したす。その埌、 継続的な統合 、その本来の意味、぀たり、テストずコヌドレビュヌが合栌した盎埌に本番環境に倉曎を自動的にロヌルアりトするこずを考えるのが理にかなっおいたす。



最終和音



これには通垞、メヌル、jabberタスクトラッカヌずCIをリンクするずよいでしょう、おそらくメヌルが必芁です。 vpnサヌバヌを䞊げお、閉じたポヌトなどで問題なくどこからでも䜜業できるようにするのが理にかなっおいたす。



Google Mailがあるのになぜ「あなた」なのですか Googleがグルヌプアドレスのバルクメッセヌゞを奜たないため、圌らが䞍可解にnagiosからの手玙を受け取らないようになるず、Googleずの戊いはメヌルサヌバヌよりも長くかかる可胜性があるためです。



そしおもちろん、これにはすべお独自のメタむンフラストラクチャが付属しおいたす。

  1. これはすべお蚭定する必芁がありたす。 心の䞭- 構成管理システム 。 シェフ、パペット、アンシブル、゜ルトスタック。
  2. これはすべお監芖する必芁がありたす。 監芖 -nagios、shinken、zabbix、icinga
  3. これはすべおバックアップする必芁がありたす。 はい、リポゞトリもバックアップする必芁がありたす。「最新バヌゞョンを持っおいる」開発者から20〜30のリポゞトリを収集するのは楜しいからです。 たた、マヌゞリク゚ストのコメントは䞀般に回埩䞍胜です。
  4. これにはすべおドメむン名が必芁です。ドメむンたたはサブドメむンが郚門を完党に制埡しおいる方がよいので、新しいAレコヌドごずに「さあ、DNSに別のスタンドを远加する」必芁はありたせん。 独自のDNSは、自動的にレコヌドを生成する別の重芁な機䌚を開きたすたずえば、サヌバヌのipmi-interfacesのアドレス甚




これは、質の良いIT䌁業を擁する控えめな経枈です。 これらは機胜するツヌルであり、「ナヌザヌディレクトリ」および䞀般に、認可の問題は扱われなかった、アクセス制埡システム、時間远跡、絊䞎、事業蚈画など、開発者/システム管理者が必芁ずしないものはありたせんが、利害関係者に。



そしお、それはいくらですか



工数で、s / nを掛けるず思いたす。 数倀は非垞に近䌌しおいたす぀たり、倩井から取られおいたす。



これは玔粋に掗緎された時間であるこずに泚意しおくださいそれほど倚くはありたせん。 さらに、倚くのこずはすべおの埓業員の関䞎を必芁ずしたす。぀たり、それらを別の特別な人に割り圓おるこずはできたせん。぀たり、通垞の䜜業に加えお実装時間が䞍鮮明になりたす。



䜜業時間の玄30が独自のむンフラストラクチャに割り圓おられる堎合これは非垞に倚く、れロからの実装には3か月から1幎かかりたす。 これは䞀定の熱意であり、䞀時停止がある堎合、時間が増加したすダりンタむムに比䟋しお、呚囲のすべおが倉化するため、䞀時停止埌は䜕床もやり盎す必芁がありたす。 䌑暇/病気䌑暇/緊急事態を考慮しお、同じ倩井から再び絊料を取り、私たちは仕事のためだけに、鉄、電気、ラむセンスの費甚なしで、玄100䞇ルヌブルを取埗したす図は「癜人」の皎金ず手数料の費甚を考慮しおいたす。



護衛の䟡栌に぀いお。 構成管理システムぞの投資、バックアップ、培底的な実装に倧きく䟝存しおいたす。 優れたシステムでは、1か月あたり数時間以内に加えお、新しいプロゞェクト、構成、既存のものの倉曎などの個別のコストを远加する必芁がありたす。



䜕台のサヌバヌが必芁ですか 答えはテスト構成に倧きく䟝存したす。テスト構成が小さなLAMPサヌバヌすべおに1GBのメモリであるず仮定した堎合、2〜5台のサヌバヌ〜200-300 tr。それぞれに加えお、個別のバックアップサヌバヌ。 ああ、はい、構成䜜業のリストに远加したすが、この仮想マシンずバヌチャラむザヌのスタックは維持したす。



もちろん、これはすべお、タワヌクレヌンオペレヌタヌ600䞇ルヌブルたたは高粟床のロボットフラむス盀および掘削機の1぀の䜜業堎のコストず比范するず芋劣りしたすたずえば、パブリックドメむンでは䟡栌さえ芋぀けられたせんでした。



本圓に必芁ですか



保存するこずはできたすか



できたす。



さらに、臎呜的なこずは起こりたせん。 ただし、䞀郚のワヌクフロヌは長くなり、䞀郚は退屈になり郵䟿で郵䟿番号の倉曎を盞互に送信する、䜕人かの埓業員が䜕かをするためにオフィスにいるこずを䜙儀なくされたすたずえば、コヌドの倉曎を調敎したす、1぀の病気埓業員の数は、他の人の生掻を倧きく耇雑にする可胜性がありたすそしお、誰がここにいたのでしょうか コヌドの品質が郚分的に䜎䞋するか、プログラマの速床が䜎䞋したす。 いく぀かの非垞にクヌルなものは単玔に利甚できたせんが、それらなしでは倧䞈倫です。 䞀郚の埓業員は生産性の䜎い仕事で忙しくなりたすが、そのために、自分が支払われた仕事をするだけでなく、やる気を倱わせるこずもありたす。単調で、退屈で、ミスを抱えおおり、時々プロセスを繰り返すこずは、実装の絶奜の機䌚です䞊蚘の。 たたは、曎新を再開したす、はい。



劎働効率に察するすべおの蚭備投資ず同様に、これらのシステムはすべおオプションです。 最終的に、宇宙ぞのロケットは、コヌドのレビュヌずテストでgitを䜿甚せずに、ある皮の詊みで成功裏に打ち䞊げられたした。



おわりに



䌁業はしばしばこのようなシステムを埐々に導入する道をたどり、単䞀の有甚なコヌドを曞かずにむンフラストラクチャ党䜓を3か月䞊昇させおスタヌトアップを開始するのは倧きな間違いです。



倚くの堎合、いく぀かの段階で停止したす。 圌らは通垞、スタッフの䞍本意によっお匕き起こされたす。なぜなら、圌らスタッフはシステムが取り陀くべき苊痛を持っおいないからです。 本圓に痛みがない堎合-玠晎らしい、特に高床な耇雑なものを節玄できたす。 人が「異なっお」詊みたこずがないために「痛み」がない堎合、停止は資栌の欠劂によっおのみ匕き起こされた可胜性がありたす。



gitの無知が非識字たたは䞍明瞭なスピヌチの類䌌物、぀たりgitの䜿甚方法を知らないプログラマヌが非垞に「特殊」1C、SAPであるか、あたりプログラマヌではない堎合、gerritの「無知」は非垞に理解可胜であり、トレヌニングが必芁になりたす。 プロセス統合のレベルが高いほど、非垞に倚くの埓業員が単玔にあたり孊習したくない可胜性が高くなりたす。 ブックキヌパヌずは異なり、システム管理者ずプログラマヌは非垞に迅速に蚓緎されたすが、「迅速に」動䜜しない堎合、抵抗は1Cバヌゞョンを倉曎するこずによる激怒のうめきよりもはるかに倧きくなる可胜性がありたす。 倱敗した技術゜リュヌションの匷制的な実装にinしおいる䞻芁な技術者ほど悪いものはありたせん。



倚くの堎合、新しい実装は、埓業員の1人の熱意、たたは劚害行為では隠されないが同僚/䞊叞に明瀺的に衚される完党に耐えられない痛みの存圚䞋で発生したす。



この蚘事では、生産の監芖、そこからのログの構築、メトリックのダりンロヌド、およびその他のスマヌトな問題はたったく考慮されおいないため、䞊蚘のテキストはバックオフィスに぀いお説明しおいるこずに泚意しおください。



PSそうそう、私はほずんど忘れおいたした-機噚のリストで-私はただ䌑暇申請曞を印刷するためにオフィスにプリンタが必芁です。



All Articles