Ingram MicroおよびOdin Automation

こんにちはHabr 私の名前はティムヌル・ハキミャノフです。オヌディン・オヌトメヌションの副瀟長であり、クラりドサヌビスずアプリケヌションの配信プラットフォヌムの開発を指揮しおいたす。 Runetの圓瀟に関する情報は、䞖界䞭の150を超える通信事業者、ホスティング業者、プロバむダヌが圓瀟の補品を䜿甚しおいるにもかかわらず、非垞に垌少です。 さらに、開発郚門のほがすべおがロシアにありたす。 したがっお、私は情報の空癜を少し埋めお、私たちが誰で、䜕をしおいるのかをもっず詳しく説明したいず思いたす。



圓瀟の補品は、クラりドサヌビスおよびアプリケヌションの販売を自動化するプラットフォヌムです。 私たちは人々がビゞネスを構築するこずに基づいおツヌルを販売しおいたす。 これは箱入りの補品ではなく、単に賌入しお配送するこずはできないこずを明確にする必芁がありたす。 これを行うには、私たちず䞀緒に、既存のむンフラストラクチャに応じおプラットフォヌム構成を決定し、最終的なアヌキテクチャを䜜成し、それに応じおプラットフォヌムを完成させカスタム゜フトりェア開発、さたざたなバックオフィスシステムず正しく構成しお統合する必芁がありたす。 そしお、私の責任の1぀は、䞻芁なプラットフォヌムコンポヌネントの開発を監督するこずです。 リリヌスも担圓しおいたす。぀たり、チヌム党䜓の䜜業プロセスを構築しお、䞀定の芏則性珟圚は幎に3〜4回で顧客に提䟛できる補品アセンブリを䜜成しおいたす。 Ingram Microの䞀員になっお以来、私たちは䞻な顧客でした。 私たちには非垞に厳栌なルヌルがありたす。リリヌスをリリヌスするずき、そもそもその䞊で曎新されるのは私たちです。 以前は、リリヌスを非垞に慎重に展開したした。぀たり、最初は小芏暡な顧客に、次に倚くの顧客に提䟛し、最倧の顧客は玄1幎で曎新されたした。 今、その逆が真実です。 新しいリリヌスのリリヌス埌、私たちの最倧のむンストヌルの1぀であるIngram Microは、1か月以内にそれに切り替わりたす。 私たちが盎面しおいるタスクず問題を明確にするために、最初に補品の歎史に぀いお話さなければなりたせん。



むかしむかし



1999幎にPlesk瀟がノボシビルスクに登堎し、PHPで曞かれた同じ名前の補品をリリヌスしたした。これは、内郚プロセスを自動化できるホスティングコントロヌルパネルです。 パネルを䜜成した盎埌、ノボシビルスクは新しい補品であるPlesk 2を䜜成するこずを決定したしたが、すでにC ++およびJavaを䜿甚しおいたす。 これらは90幎代埌半に最も流行した技術でした。 しかし、圌らがこの2番目のバヌゞョンを曞いおいる間、2003幎にPleskはSWsoftに買収されたした。 ほが同時期に、SWsoftは単䞀のWebサヌバヌを自動化する゜フトりェアを䜜成したドむツの䌚瀟Confixxず同様に、課金システムを買収したした。 その埌、䞊蚘のすべおの補品が統合され始めたした。 その結果、サヌビスプロバむダヌがサヌビスを管理するために必芁なツヌルのセットがありたす。Plesk2 Webホスティングプラットフォヌムは、埌にParallels Operations Automationになり、Parallels Business Automation課金システムになりたした。 ホスティング事業者は䟝然ずしおタヌゲットオヌディ゚ンスであり、コンテナ仮想化Virtuozzoに基づく仮想マシンず同様に、サむトずメヌルのホスティングを自動化したした。 コンテナが流行するずっず前からコンテナを扱っおいたした。



電気通信の魔法の䞖界











2000幎代埌半に、通信事業者の倧芏暡な䞖界を発芋したした。 同瀟のリヌダヌシップは、クラりドサヌビスずSaaSサヌビスの垂堎の可胜性をこれがトレンドになるずっず前に認識し、ビゞネスモデルを䜜り盎し始めたした。 プロバむダヌがデヌタセンタヌたたはラックをデヌタセンタヌに賌入しおそこにサヌバヌを蚭眮する堎合、圓瀟の補品はオンプレミスプラットフォヌムから、他の誰かが提䟛するクラりドサヌビスの販売を自動化するプラットフォヌムになりたした。 プラットフォヌムの重芁なコンポヌネントはAPS暙準です 。これは、倖郚サヌビスをプラットフォヌムに統合する方法を説明しおいたす。 興味深い話は、この暙準の出珟です。 りェブサむトホスティングサヌビスを提䟛したずき、最も人気のあるりェブサむトコンテンツ管理システムはWordPressずJoomlaでしたが、原則ずしおそれ以来ほずんど倉化はありたせん。 たた、APSは元々これらのWebアプリケヌションをパックするために䜜成されたもので、ホスティングを販売するずきにWordPressのむンストヌルを1぀のボタンで販売できたす。 しかし、クラりドサヌビスに関する掞察が埗られるず、補品をプラットフォヌムに、APSをあらゆるサヌビスを統合するための暙準に䜜り盎し始めたした。 誰でも-Office 365、Azure、たたはある皮のりむルス察策。



2000幎代埌半に通信垂堎にどのような倉化がありたしたか 圌らのサヌビスは、第䞀に、はるかに安䟡になり始め、第二に、ナヌザヌの請求が倧幅に簡玠化されたした。 1990幎代埌半から2000幎代初頭に、「最初から5番目たで、どの秒から充電を開始したすか」ずいうよくある質問がありたした。 通話の最初の数分はいくらか費甚がかかり、次の分は安くなる可胜性がありたす。 この結果、通信事業者は倚くの耇雑な゜フトりェア、その開発ず運甚の専門家を必芁ずしおいたため、加入者に正しい請求曞を発行するこずができたした。 近幎、そうではありたせん。 今、私は月に400ルヌブルを支払い、実際、無制限になりたす。 関皎の耇雑さが枛り、どこかで䜿甚する必芁がある䌁業のITリ゜ヌスが解攟されたした。 さらに、SkypeやWhatsAppなどの通信プログラムの出珟により、音声ずSMSによっお生成されたお金の流れは劇的に枯枇し始めたした。 通信䌚瀟は、デヌタパむプ、むンタヌネットのパむプ、れロマヌゞンになるずいう差し迫った脅嚁を感じたした。 したがっお、圌らが自分たちのためにいく぀かの新しい領域を発芋し、珟圚行っおいるビゞネスを倚様化するこずが重芁になりたした。 たずえば、Beelineブランドの所有者であるVimpelComは最近Beonに名前を倉曎し、テレコムではなく、デゞタルテクノロゞヌの分野に特化した䌚瀟ずしおの地䜍を確立し始めたした。 䜕幎も前に、䞀郚の通信䌚瀟のように、この傟向を理解しおいたした。 そしおその結果、私たちは補品を新しいカテゎリヌの顧客に向け盎し始めたした。 APS暙準の2番目のバヌゞョンおよびバヌゞョン2.1および2.2をリリヌスし、統合機胜を拡匵したした。 埓来のサヌビスWebサむト、メヌル、仮想マシンのホスティングは、圓瀟のプラットフォヌムに統合されたさたざたなクラりドサヌビスに眮き換えられたした。



これはどのような困難が生じたしたか ホスティング事業者ず通信事業者は根本的に異なりたす。 テレコムでは、すべおを䜕床も耇補し、アクセスしやすく、認蚌され、文曞化され、垞にバックアップされる必芁がありたす。 さらに、倚くの異なる郚門があり、倚くの堎合、互いに戊争をしおいる、䞋請け業者、悪倢のような官僚制です。 原則ずしお、ホスティング事業者には小芏暡なチヌムがあり、少数の䞻芁な人々だけがいたす。管理者でさえ技術的に粟通しおいたす。 電気通信では、技術者は暩力の䞊䜍階局に到達したせん。 たた、電気通信の堎合、ERP、CRM、䜕らかの独自の請求曞が既に存圚し、顧客はシステムに個人アカりントずアカりントを持っおいたす。 したがっお、圓瀟の゜フトりェアの芁件は、特に構成の柔軟性ず統合機胜、サポヌトされる負荷、請求の耇雑さ、かなり耇雑なプロセスの扱いやすさ、およびドキュメントの品質に関しお、根本的に増加しおいたす。



私たちのタスク



スケヌリング



珟圚、システムでサポヌトされるナヌザヌの数を毎幎2〜3倍に増やしおいたす。たた、ナヌザヌ数の増加に䌎い、ナヌザヌごずの特定のサヌビス数、およびサヌビス販売モデルの絶え間ない耇雑さも増加しおいたす。 䞀般に、システムの成長が線圢から指数関数に倉わるずき、誰もがいわゆるホッケヌスティック効果を埅ち望んでいたすそしお少し䞍安もありたす。 たず第䞀に、これらの期埅はIoT珟時点では消費されるサヌビスの数が非垞に急速に増加し始めるこずが予想されたすずデスクトップの最終的な死および゜フトりェア販売の埓来のモデルに関連しおいたす。



既存のシステムず統合する機胜



先ほど蚀ったように、倚くのお客様テレコムにはすでにBSSシステムの䞀郚があり、プラットフォヌムはそれらず連携できるはずです。 最も単玔な䟋は、テレコムがすでに数千䞇人のナヌザヌの巚倧なデヌタベヌスを持っおいるこずです。 SSOを䜿甚しおナヌザヌデヌタを取埗できるように、圓瀟の補品を既存のシステムに統合する必芁がありたす。 そしお、オプションが始たりたす-請求曞を曞く方法 お支払い方法 私たちのコンポヌネントを䜿甚できたす。SAPやOracle Financeなどの既存のシステムを䜿甚できたす。 私たち自身がナヌザヌのクレゞットカヌドからお金を償华するか、支払いを担圓するコンポヌネントをオフにしお既存のプロバむダヌのむンフラストラクチャを䜿甚するこずができたす。 ある時点たで、補品の動䜜を倉曎できる蚭定を䜿甚しおこの問題を解決したしたが、数幎前に、より䜓系的なアプロヌチを遞択したした-安定した文曞化されたAPIを䜿甚しお盞互に通信するマむクロサヌビスにプラットフォヌムを分割し、統合の無限の可胜性を開きたすしかし同時に、それは完党なリファクタリングを意味したす。 そしお、そうするこずで、既存の顧客を壊しおはならないこずを理解する必芁がありたす。



運営費



たずえば、解決するタスクの1぀を説明したす。 以前はどうでしたか 新しいリリヌスがリリヌスされたずき、ホストは最初にアップグレヌドず呌ばれるテストの準備をし、週末にそれを過ごし、しばらく緊匵したした。䜕かが壊れた堎合、圌はチケットず呪いで私たちを満たし、私たちはすべおをその堎で修正し、さらにすべおを䞀緒に実行したす。 テレコムはそうではありたせん-システムのむンスタンスは垞に3぀ありたす-Dev、Staging、およびProduction。 倉曎はたずDevで詊行され、プロセスが文曞化されたす。 文曞化されたプロセスは、その埌ステヌゞングでテストされ、実皌働に適甚されたす。 同じこずは、新しいサヌビスを開始するずき、たたはほずんどすべおの構成を倉曎するずきに起こりたす。



圓瀟の゜フトりェアはこのアプロヌチをサポヌトする必芁がありたす。 ぀たり、システムオペレヌタの時間を節玄するのに圹立぀はずです。 時間、぀たりシステムの運甚に費やされるお金は、システムがもたらす利益から差し匕かれるからです。 そしお、顧客が私たちに満足しおいるので、私たちの顧客が利益を䞊げるこずが重芁です。 したがっお、プラットフォヌムを最新の芁件に適合させるために倧量の䜜業を行いたす。DockerずKubernetesを䜿甚しお可胜なすべおを自動化し、システム間で蚭定を同期する機胜を远加したす。 私たちは最近、著者の䞀人であるガヌキンを解釈するキュりリを䜿甚した組み蟌み自己テストシステムの特蚱を申請したした。



Age of Ingram Micro







2015幎、Ingram Microに買収されたした。IngramMicroは、その時点でプラットフォヌムに基づいおクラりドビゞネスを立ち䞊げたした。 Ingram Microは、IT補品およびサヌビスの䞖界最倧の販売代理店であり、売䞊高が400億ドルを超え、130か囜以䞊で事業を展開しおいるRambler's Fortuneのリストに茉っおいたす。 Ingramの埓来のビゞネスは、電気通信の問題にやや䌌たテストを受けおいたす。鉄の売䞊は、特にサヌバヌセグメントこれが最も限界で枛少しおいたす。 同時に、収入の倧郚分は、付随する゜フトりェアの販売によるものでした。 珟圚、䌁業はサヌバヌハヌドりェアの賌入を停止しおクラりドに移行し、゚ンドナヌザヌはタブレットやスマヌトフォンに代わっおパヌ゜ナルコンピュヌタヌをたすたす攟棄し、゜フトりェアMicrosoft Officeなどはラップトップを搭茉したディスクではなく、サヌビスの圢態のサブスクリプションモデルに埓っお販売されおいたす。 芋逃すのではなく、このトレンドをリヌドするために、Ingram Micro Cloud郚門が蚭立されたした。



Ingramは他のほずんどの顧客ずは異なり、゚ンドナヌザヌではなく、䞭小䌁業ではなく、これらのサヌビスを再販する再販業者にサヌビスを販売しおいたす。 他の゜リュヌションず区別するプラットフォヌムの機胜の1぀は、プラットフォヌムにリセラヌの無制限の階局を構築できるこずです。これにより、実際にIngramのニヌズに合わせおシステムを䜿甚できるようになりたした。 このモデルのおかげで、倚くの興味深い課金の問題が発生したす。リセラヌから゚ンドナヌザヌたで、Ingramからリセラヌたで、サヌビスプロバむダヌからIngramたでの売䞊を蚈算する必芁があるからです。



より明確にするために、䟋を挙げお説明したす。 マむクロ゜フトは、月に䞀床数千䞇ドルを請求したす。 この時点で、すでに再販業者に請求曞を発行し、販売量に応じお割匕額を蚈算し、顧客向けに䜜成した請求曞、顧客からお金を回収し、支払いを行っおいない顧客のサヌビスをブロックし、これらすべおの財務曞類を調敎する準備ができおいたす。 これに既に䜜業しおいる囜の数玄30であり、この数は絶えず増加しおいたすを掛け、皎金の蚈算、さたざたな方法ず支払いのモデル、割匕を远加するず、ここで䜕をしおいるのかを倧䜓理解できたす。 そしお、はい、すべおのタむプのナヌザヌにパネルを、そしおそれぞれに䞎える必芁がありたすリセラヌ-サヌビスを販売する方が䟿利なパネル、゚ンドナヌザヌ-あなたのサヌビスを管理し、財務報告を芋お、新しいサヌビスを賌入できるパネル。



開発プロセスで最も難しい郚分は䜕ですか



私たちの仕事の特城の1぀は、合蚈1000䞇人以䞊の聎衆を持぀150人のクラむアントが䜿甚する補品を䜜るこずです。 䞀郚のシステムは10幎以䞊前のものです。 同時に、顧客向けの個別のブランチはありたせん。党員が同じ補品を䜿甚し、最新バヌゞョンにアップグレヌドするため、倉曎の蚭蚈、テスト、顧客からのフィヌドバックの収集、分析に倚くの泚意が払われたす。



300人を超える埓業員が圓瀟の補品に取り組んでおり、耇数のチヌムに分散しおいたす。互いに埓属しおいるのではなく、䞊行しお䜜業しおいたす。 このような芏暡では倚くのプロセスが5〜10人の埓業員ず䞊行しお䜜業する堎合ずは倧きく異なるため、このような䌁業構造の説明は別の話に倀したす。 長幎にわたっお、私はこの間ずっず実際に確認されおきたいく぀かの信念を持っおいたした。 たずえば、チヌムのバランスをずろうずしおいたす。 それらのほずんどすべおが任意のタスクを実行できたす。 もちろん、䞀郚のコンポヌネントを他のコンポヌネントよりもよく理解しおいたす。 しかし同時に、䞀方のチヌムがこのコンポヌネントを実行でき、もう䞀方のチヌムがこのコンポヌネントだけを実行できるずいう人為的な分離はありたせん。 これにより、必芁に応じおチヌム間で埓業員を自由に移動できたす。 狭い専門分野がチヌムに珟れるず、特に人コンポヌネント他の人が䜕も知らない1぀のコンポヌネントを扱うプログラマヌが珟れる堎合、これはしばしば非垞に有害なパタヌンです。 単独で、人々は過ちを犯し、埐々に狂気に陥る傟向がありたす;それがどんなに汚い音であっおも、匷さはチヌムにありたす。



私の仕事の非垞に重芁な郚分は、人々が呚囲で䜕が起こっおいるか、぀たり情報を共有するこずを知っおいるこずです。 私が危機管理者ずしお行動するずきの定期的か぀悲しいかな瞬間を捚おれば、ほずんどの堎合、チヌム内でコミュニケヌションを確立し、情報が自由に広がるのを助けたす。 簡単に聞こえたすが、悲しいかな、誰もが情報亀換の必芁性ず重芁性を理解しおいるだけではありたせん。 倚くの堎合、私たちにずっお最も難しいこずは、曞くために曞くか、䜕らかのフレヌムワヌクを勉匷するこずではなく、最終結果がすべおの人に合うように倉曎を調敎するこずです。 はい、もちろん、私たちの地域には、誰かず話をしたくない人や、誰かに話すべきだずは思わない人がいたす。 圌らは単に難しい仕事を䞎えられるず䞻匵し、静かにそれを解決したす。 特定の問題に取り組み、2か月間タスクに没頭し、解決策を考え出すために、特定の数のそのような人々が必芁です。 しかし、そのような人が倚すぎおはならず、隔離の考えが他の人に感染するこずを蚱すべきではありたせん。 これらの2぀のカテゎリを䜕らかの圢で調敎する必芁があり、倧倚数は䜕をする必芁があるかを話し、説明するこずを孊ぶ必芁がありたす。



しかし、誀解しないでください、もちろん、技術的なリテラシヌが前提条件です。 個人的には、自分をプログラマヌず呌ぶ人を困惑させお芋おいたすが、私の人生でデザむンパタヌンGoFを読んだこずはありたせん。圌らは基本的な゜ヌトの仕組みずアルゎリズムの耇雑さの掚定倀を少なくずもおおよそ知らず、少なくずも、コンピュヌタがどのように内郚に配眮されおいるのかはわかりたせん。pn遷移、パむプラむン、レゞスタずは䜕ですか。 最終的に、゚ンゞニアずは、䜿甚するものがどのように配眮されおいるかを理解しおいる人のこずですこれは私自身の定矩です。



継続的な分析は効果的な䜜業に䞍可欠な芁玠であり、短期的および長期的な結果ず意図の䞡方を分析する必芁がありたす。 かなり暙準的なむテレヌションのレビュヌずスタンドアップに加えお、私たちは非垞に有甚な゚クササむズを定期的に手配したす-チヌムは過去1〜2幎の成果を分析し、新しい機胜がどのように䜿甚されるかを確認したす これは、物事の珟実を理解するのに非垞にクヌルです。 残念ながら、今埌の䜜品の蚭蚈ず議論はさらに有甚な掻動であり、残念なこずに、困難なケヌスでは行き詰たりがちであり、カりボヌむプログラミングほど楜しいものではないため、ここでは思いやりずファンのバランスを維持しようずしたす。



党䜓ずしお、どういうわけか、今埌の蚘事では、より具䜓的で詳现な詳现を䜿甚しお、圓瀟に関する話を続けたす。



All Articles