インフラエンジニアが知っておくべき最新動向 研修コースに参加してみた
今回参加した研修コースは インフラエンジニアが知っておくべき最新動向 です。
最新動向というと、かなりザックリ幅広いテーマなのですが、抑えておくべきポイントを “クラウド・仮想化” と “自動化” にフォーカスされていたので、集中してキャッチアップできました!!
Kubernatesをはじめとするオーケストレーションの分野はとても動向が速いのですが、その入り口までご紹介頂いたので、とても見通しが良くなりました! (マイクロサービス、サービスメッシュやIstioなどはまだ五里霧中)
また、このインフラの最新動向を扱うコースでも、開発に関するテーマ、CI/CD、DevOpsなどが含まれていて、アプリケーション開発とインフラが混ざり、SRE (Site Reliability Engineer) という新しいポジションが注目されていることを感じられるものでした!! (スキルの過渡期なのかも知れません)
では、どんな内容だったのかレポートします !!
もくじ
想定している受講者
- TCP/IPネットワークの基礎知識があること
- WindowsおよびLinuxの基本操作ができること
受講目標
- インフラ分野の最近の動向を理解する
- OpenStackやDockerなど、利用が進んでいる技術の概要を理解する
- インフラ管理やアプケーション開発の自動化の動向を理解する
講師紹介
本当に多くのインフラ系コースで登壇されている 岩木 慎一さん です。ちなみにお客様から講師登壇の引き合いがあっても、スケジュールの空きは遥か先という状態です。いつもありがとうございます!
今日は実習も含めて、最新動向を見てみます。
動向
- オンプレミスからクラウドへ、という流れと、現状のオンプレミス環境もクラウド化する、という流れもある
- OpenStackやDockerなどOSSが使われている、というのも傾向
- ちなみに OpenStack と比べられていた Cloud Foundry は動きがほとんど無くなった (!! いつの間に..)
- スライドの数値は国内の状況
仮想化と自動化
クラウド・仮想化が可能になったことで、インフラ自動化が出来るようになったことも大きく、このコースでも自動化を扱います。
以降は仮想化の違いや、AWS、Dockerの紹介、Dockerの演習となりましたが、他の “参加してみた” レポートでも紹介していますので、ここでは割愛して、OpenStackだけ紹介します。(AWSは今後レポートします!!)
OpenStack
- 大規模なデータセンター向け
- ローカル環境で動かそうとすると、ちょっと遅くてツライ。。
- 多くの企業が参加しているOSSなので開発が活発
- AWSなどと同じく利用者がサーバーを立てられる
インフラ自動化
クラウド化が進み、物理的な制約がなくなったことで、出来るようになったことが自動化です。ここからはその自動化について紹介いただきました。
オーケストレーション
- オーケストレーションとはハードウェアも含めたアプリケーション構築・設定を自動化する
- 従来だと明日までに5台ハードウェアを調達し、ミドルウェアやアプリケーション設定するというのは不可能
- クラウドならほんの数分で出来る
- ChefならRubyで記述された Recipe と呼ばれる設定を実行すると出来る
- その他PuppetやHeat (OpenStack対応)といったツールでも出来る
- Docker でもオーケストレーションできる
- Swarmというツールを使えば出来る
kubernetes
- Googleが開発したOSSのオーケストレーションツール
- AWS、Windows Azure、Google Cloud Platform などが続々とフルマネージド対応
- 「Docker from Mac with Kubernetes」 などGUIツールが充実し、学習コストが下がった
- CNCF (Cloud Native Computing Foundation) という団体が管理しベンダーニュートラルに
- 大規模向け
Immutable Infrastructure (変更のないインフラ)
- 修正アップデートやパッチの適用などしない
- 古いインフラは捨てて新しく作る、というやり方
- Heroku というPaaSでは
git push
すると古いコンテナを捨てて、新しく作っている
Infrastructure as Code
- インフラをコード (ソフトウェア) で自動制御するという考え方
- インフラの自動構築を infrastructure as Code 、出来上がったインフラを自動設定するのを Configuration as Code という人もいる
- Infrastructure as Code 寄りのツール、AWS Cloud Formation, Azure Resource Manager, Chef-provisioning など
- Configuration as Code 寄りのツール、Chef, Puppet, Ansible など
その他、インフラ自動化を活かしたCIやTDDやDevOpsなどの開発手法についても紹介されました。
冒頭にも挙げましたが、インフラの最新動向に開発手法が入ってくるというのは時勢ですね。最近ではSREという職種が、コードも書いてインフラやCI/CDなどデプロイを自動化し、マイクロサービスなどアーキテクチャを取り入れたり、GraphQLなどAPI基盤を変えるなど、開発の高速化、効率化、拡張性・可用性の向上を行っています。
- 関連リンク: インフラチーム改め Site Reliability Engineering (SRE) チームになりました – Mercari Engineering Blog (2015年11月18日)
インフラ自動化の演習 ~Chef
アパッチをインストールして、起動する、という操作をChefで自動化します。
/cookbooks
というディレクトリに cookbooks を作成するchef generate cookbook [対象ソフトウェア // 今回は apache]
でrecipiesやテストなどが入ったディレクトリができる
/cookbooks/recipes
にあるdefault.rb
をviで編集する- Chef があるディレクトリで
chef-client -z -o [対象ソフトウェア // 今回はapache]
を実行する
出来ました!!
- コマンドライン
- ローカルサーバー
その他、Docker のオーケストレーションツール Rancher を起動して、GUIでどのように設定するのかデモンストレーションを見て、このコースは終了しました。
まとめ
このコースでは最新動向を “クラウド・仮想化” と “インフラ自動化” という2つの観点からウォッチしました。
またインフラ自動化を契機として、アプリケーション開発者に近いスキルがインフラにも求められていることを感じられました。(実際、SREと呼ばれるポジションも登場し、注目されています)
一方で、ネットワークに限った最新動向は触れられておらず、Interopでも目立ったトピックはありませんでした。SDN以降ちょっと寂しい気がしますね。
その代わり (?)、インフラ自動化、オーケストレーション分野の動向は速く、岩木さんもコースで扱っていた製品が1年後には無くなったり、コマンドが変わったりと、目まぐるしく変わっている、とおっしゃっていました。
そんな目まぐるしい動向を体系的にキャッチアップするには、とてもオススメのコースです!
SEプラスにしかないコンテンツや、研修サービスの運営情報を発信しています。