クラウドと自動化のスキルが食べ放題のビュッフェの中で、何を学ぶかをどのように決めるのでしょうか? 以前の記事では、プライベート クラウドがもたらす運用上の変化と、クラウド時代に運用チームが行うことになる新しい種類の作業について説明しました。
私たちのほとんどにとって、これはいくつかの新しい一般的な概念といくつかの特定の技術的スキルを学ぶことを意味します。 運が良ければ(詳細によっては運が悪ければ)、環境に合わせた自動化およびオーケストレーション ツールのスイートが、命令または共通の採用によって確立されます。 その場合、通常は、学習したい方法を見つけて、何らかのラボまたはテスト環境を用意し(多くの場合、パブリック クラウド プロバイダーとその「初回無料」クレジットが役立ちます)、実際に学習を開始するだけです。
しかし、自動化ツールセットをゼロから構築する場合、または、それほど遠くない将来に自動化ツールセットが登場することが分かっているため、単に学習する場合はどうでしょうか? 選択肢があるのは素晴らしいことですが、自動化の分野では選択肢が本当にたくさんあります。 広い分野に細分化することは、学ぶべき内容に焦点を絞る一つの方法です。
ソース コードのバージョン管理システム。 バージョン管理システムを把握することは重要です。その理由は、A) ボタン作成に必要なスクリプトやツールを作成するときに、それらを保存してバージョン管理を管理する場所が必要になるため、B) 開発チームや DevOps グループの同僚がそれを使用するためです。 ここで最も明白な出発点はGit/Githubですが、もちろん他にも利用できるシステムは数多くあり、その中にはあなたの組織により適したものもあるかもしれません。 しかし、Git は普及しており、移植可能なスキルセットです。
継続的インテグレーション/継続的デリバリー (CI/CD) ツール。 多くの場合、変更とデプロイメントは、CI/CDapplicationの良い例である Jenkins などのツールによって管理されます。 Jenkins は、applicationコードを順序付けられた自動化されたワークフローでコンパイル、テスト、デプロイできるデプロイ パイプラインを作成します。 ほとんどの CI/CDapplicationsは、新しいサーバー インスタンスの展開やインフラストラクチャ コンポーネントの構成など、さまざまなアクティビティの管理に使用できるプラグインを使用することで拡張可能です。
私たちが興味を持っている CI/CD ワークフローが活用する可能性のあるツールは、主にインフラストラクチャを自動化するためのものであり、ツールの選択肢はかなり幅広く、それぞれに長所と短所があります。 F5 は多くのプロバイダーと良好なパートナー関係にあるため、特定のプロバイダーを推奨するつもりはありませんが、その違いを詳しく説明した優れた記事が数多くあります。 私のアドバイスは、少し読んでみて、最も簡単そうだと思ったものから始めることです。 これは非常に主観的で具体的でないアドバイスのように聞こえるかもしれませんが、人の脳はそれぞれ異なるため、特に理由がない限り、すぐに使いこなせるユーティリティを見つける価値はあります。 Ansible、Puppet、Chef、Salt、Terraform などのツールはすべて十分に文書化されており、多くのユーザーが使用しています。
最後に、あるいはこのブログの最後の段落を信じるのであれば最初に、基本的なスクリプト言語の基礎を身に付けておく必要があるでしょう。 ネットワーク自動化の圧倒的な勝者は Python です。F5を含む多くの主要ベンダーやソフトウェア プロジェクトの SDK が用意されているからです。
以上が、少し時間をかけて学習するとよい主要な自動化テクノロジーの簡単な概要です。 まあ、もう少し長いです。昼間に仕事をしていると仮定すると、これから数か月は勉強することになると思います。 最後に、私のアドバイスは、リストの最後、つまり Python から始めて、そこから「上流」で作業することです。 ツールがコンポーネントとプログラム的に通信する方法を理解していれば、スタックを上に進むにつれて複雑な部分を理解するのがずっと簡単になり、おそらくソース管理の楽しさをより深く理解できるようになります。