CloudNative Days Kansai 2019に参加してきました 第2回レポート(後編)
2020.4.20 (更新日 2021.6.01)
前回に引き継ぎ、CloudNative Days Kansai 2019レポートの後編になります。もちろん、今回も「マンガ付き」です。
1.CNDKでわからないことだらけだったのでとりあえず手を動かして案件に取り入れてみた
Com Div.所属のエンジニア須藤です。
普段は打ち合わせに行ったり、フロントエンドしたり、バックエンドしたり、インフラしたりしています。今回から「CNDKでわからないことだらけだったので、とりあえず手を動かして案件に取り入れてみた」を全2回でお届けします。
〜カンファレンスに参加してみて〜
そもそもカンファレンスに参加する前、筆者はCloudNativeについての知見はあまりありませんでした。
Dockerを使ったことはありますが、他の人が用意したdocker imageをpullしてrunするだけで、中身を読んでみたりすることはない、そんな状態です。
では、なぜカンファレンスに参加しようと思ったのか。それは ”大阪に行きたかったから!”
実際カンファレンスに参加してみると、勉強になることばかりでしたがDocker compose, Kubernetes, CloudNative, Anthos などのあまり聞いたことない単語がたくさん出てきました。
調べてみてもわからないことだらけだったので、手を動かしてみることにしました!
〜Dockerについて調べてみた〜
Dockerは、コンテナと呼ばれるOSレベルの仮想化環境を提供するオープンソースソフトウェアである。VMware製品などの完全仮想化を行うハイパーバイザ型製品と比べて、ディスク使用量は少なく、仮想環境(インスタンス)作成や起動は速く、性能劣化がほとんどないという利点を持つ。※1
…よくわからない!!!
というわけで手を動かしてみました!
〜Dockerインストール・Docker run〜
前述したようにDockerはすでに使っていたため、Docker Desktopをインストール済みでした。
そのためググったり、Docker docを参考にしながらDocker runをしてみると…!Pythonの環境を作ることができました!なんと簡単な…。
しかし、以前他の人が作ったイメージをpullしたことがあるためここまでは、経験済み…。
ただ毎回感じることとして、Dockerコマンドって長いなぁと…。次は何を調べようか考えているときに、天からの声が…!
「Docker composeを使うとコマンド1つで設定した全てのサービスを作成・起動までやってくれるし、複数のコンテナが俯瞰して見やすくなるから便利だよ。」というわけで、カンファレンスの中で出た単語の中でdocker-composeをやってみることにしました。
〜Docker compose・動かない〜
Docker composeをやるにあたって、せっかくなので改修予定がある案件に導入してみることにしました。ミドルウェアはPHP7.3系, Apache2.4系としています。
ですが、やってみる前にそもそもDocker composeとはなんだろう…ということで調べてみました。Docker composeとは、複数のコンテナから成るサービスを構築・実行する手順を自動的にし、管理を容易にする機能です。
Docker composeでは、composeファイルを用意してコマンドを1回実行することで、そのファイルから設定を読み込んですべてのコンテナサービスを起動することができます。※2
Docker composeを使用するには、大き分けて以下の3つの手順から成り立ちます。
① それぞれのコンテナのDockerfileを作成します(既にあるイメージを使う場合は不要)
② docker-compose.ymlを作成し、それぞれ独立したコンテナの起動定義を行います(場合によっては構築定義も含まれる)
③ docker-compose upコマンドを実行してdocker-compose.ymlで定義したコンテナを開始します
Docker composeはstart, stop, status, 起動中のコンテナのログ出力, ちょっとしたコマンドの実行といった機能も持ち合わせています(今回は割愛)。※2
ふむふむ…。
ならば今回は、Dockerfile, docker-compose.ymlの2つを用意してみよう!ということで、OSはCentOS、Apacheは2.4系、PHPは7.3系のインストールをするように記述…!そして実行!!あれ?動かない…。Docker compose, Dockerfileは記述に問題はなさそう、コンテナも正常起動している様子…。なぜ…?!
【参考】
※1 Docker:https://ja.wikipedia.org/wiki/Docker
※2 Docker compose ことはじめハンズオン:https://qiita.com/TsutomuNakamura/items/7e90e5efb36601c5bc8a
2.フロントエンドエンジニアがCloudNative Days Kansai 2019に参加してみた
App Div.所属の中尾です。職種はエンジニアで主にフロントエンドを担当しています。
とある日の業務中にこんなチャットがありました。
「CloudNative Days Kansai 2019に参加しませんか?」
ひとまず、添付されていたリンクを開いて見るとどうやらインフラ系のカンファレンスのようでした。セッションを見ると、あまり馴染みがない文字がちらほら。Anthos?Istio?全く聞いたことがない….
エンジニアになって約5年。フロントエンド一筋でやってきたので、インフラの知識は全く無い状態…
フロントエンドのセミナーや勉強会には参加したことはあるのですが、インフラのセミナーイベントは今まで参加したことがなかったので、面白そうなので参加することにしました。
フロントエンド界隈でも度々コンテナやKubernetesなどを耳にする機会があったので、どんな場面で使えるか気になったのが参加の理由です。
もちろん、初の大阪に惹かれたのは内緒。
イベント当日はほとんど始発で新幹線にて大阪に向かいました。イベント前日に専用アプリをインストールし、これで入場もバッチリ!と思っていたらなんと印刷した紙が必要とのこと…なんとか印刷していただいた紙を受け取り滑り込みでカンファレンス会場に入場しました。教訓!デジタル化社会でも印刷した紙は必要!
滑り込みで会場入りし、まずはKeynoteセッション。最初のうちはコンテナの概要をわかりやすくイラストを使って説明してくれていました。ここでコンテナの概要をなんとなく理解しました。
「なるほど、完全に理解した!」と思っていたのもつかの間、気がつくと全くわからない領域に….
その後のセッションは、より専門的なことが多く、まさに置いてけぼり状態….ただし、各セッションの初めには参加者に向けて利用状況のアンケートと簡単な導入があり、導入部分は理解できる状態が続いていきました。いくつかのセッションを受けてみると、参加者や登壇者の傾向がわかってきました。
どうやらセッション参加者でコンテナを使用している人は約80%、Kubernetesを業務で使用している人は約40%ということがわかりました。どうやら業務で使うにはそうやらまだハードルが高いようです。
登壇者に注目してみると多くの人がマイクロサービスを扱っている会社に所属しており、専任でKubernetesやインフラ業務に携わっていることがわかりました。
多くの登壇者のがKubernetesを自力で組むよりマネージドサービスを使用することを推奨していました。
理由は、Kubernetesの開発が盛んで、3ヵ月に1度のペースでバージョンアップが行われているために、運用保守の業務が負担になり、長続きしないことがよくあるとのことでした。
マネージドサービスを利用することで、バージョンは自動で更新されるため、環境の保守から解放され、本来の業務に専念できるとのことでした。セッション全体を聞いて感じたことは、インフラ領域は現在アツい状態だということがわかりました。
フロントエンドの感覚でいうと、数年前のJavaScriptフレームワークが乱立し始めたJS戦国時代をみているようでした。エンジニアとしては、とてもワクワクする時代ではないでしょうか。
私もコンテナやKubernetesに、少し目を向けてみようかなと思ったカンファレンスでした。
3.最後に
マンガを入れたカンファレンス参加レポートですが、いかがでしょうか。次のレポートもお楽しみに!
PIVOTでは、カンファレンスへ一緒に行ってくれる仲間を募集しています!
「真ん中に『人』がいる
デジタルサービス」をつくりませんか。
お仕事のご相談やお見積もりのご依頼、具体的なご相談は、こちらからお問い合わせください。