GW明けの05/07(火)に、Cloud Native Okinawa #01が開催されました。昨今「Cloud Nativeな◯◯」というワードが飛び交っていますが、具体的なところは理解できていないな…と日々感じていたので、勉強のために参加してきました。
cnjp.connpass.com
今回、日本列島を縦断(from 北海道 to 沖縄)するCloud Native行脚を敢行されて、その千秋楽としての沖縄開催でした。(運営の方々、本当にお疲れ様でした!!)
イベント参加された方々のツイートを引用しながら、当日の様子を振り返ります。
Cloud Nativeとは
クラウドネイティブの定義は?
— カンボ🏝沖縄Webエンジニア (@kanbo0605) 2019年5月7日
パブリッククラウドはモダンかつダイナミックな環境においてスケーラブルなアプリケーションの開発と実行
#cnjp
CNCF(Cloud Native Computing Foundation)の公式ドキュメントを読んでみました。
CNCF Cloud Native Definition v1.0
クラウドネイティブ技術は、パブリッククラウド、プライベートクラウド、ハイブリッドクラウドなどの近代的でダイナミックな環境において、スケーラブルなアプリケーションを構築および実行するための能力を組織にもたらします。 このアプローチの代表例に、コンテナ、サービスメッシュ、マイクロサービス、イミューダブルインフラストラクチャ、および宣言型APIがあります。
これらの手法により、回復性、管理力、および可観測性のある疎結合システムが実現します。 これらを堅牢な自動化と組み合わせることで、エンジニアはインパクトのある変更を最小限の労力で頻繁かつ予測どおりに行うことができます。
意外だったのが、対象の環境に「プライベートクラウド」が含まれていることです。セキュリティや社内政治的な理由でプライベートな環境にせざるをえなくても、クラウドネイティブなシステムと、それを実現するための文化は作れるんですね。
Trail Map
— Jewelve (@jewel_x12) 2019年5月7日どのようにCloud Native化を進めていけば良いのか、その道順を示したものです。

まずはコンテナ化を実現し、CI/CDや管理(Orchestration)、観測(Observability)等を進めていく流れになっています。 よく「インフラ担当の仕事は無くなっていく」なんて話がありますが、従来のトイルな作業が無くなっていくだけで、本質的な仕事(価値)はCloud Nativeになろうが変わらないと感じました。(早くこっちにシフトして精通しておかないと、アプリケーションエンジニアとの比較優位性が無くなるってだけ。)
Landscape(カオスマップ)
何度か見たことはあったのですが、もう、ホント大量のサービスが載っていて全量が把握できないです。。
頭の整理のためにカテゴリだけ抜き出してみました。
* App Definition and Development * Database * Streaming & Messaging * Application Definition & image Build * Continuous integration & Delivery * Orchestration & Management * Scheduling & Orchestration * Coordination & Service Discovery * Remote Procedure Call * Service Proxy * API Gateway * Service Mesh * Runtime * Cloud-Native Storage * Container Runtime * Cloud-Native Network * Provisioning * Automation & Configuration * Container Registry * Security & Compliance * Key Management * Platform * Certified Kubernetes -Distribution * Certified Kubernetes -Hosted * Certified Kubernetes - Installer * PaaS / Container Service * Observability and Analysis * Monitoring * Logging * Tracing * Chaos Enginnnering * Cloud * Public * Serverless * Tools * Security * Framework * Platform * Hosted * Installable * Special * Kubernetes Certified Service Provider * Kubernetes Training Partner
このエコシステムはワクワクしますね。 ちなみに、Jenkinsおじさんのそっくりさん(Jenkins X)がいてびっくりしました。(探してみてください)
オープニング:世界における急速なCloud Native化の流れと日本の現状(Rancher Labs 新藤さん @shindoy)
- アメリカではk8s エンジニアが引っ張りだこ。
- k8s、他国に比べて日本は遅れている。KubeConの開催ゼロ。(お隣中国では開催ずみ)
- 日本では「資料だけくれ」って会社も多い(大手SIer)。。実際に使うところまで進んでほしい。
- (会社名は非公表だったが)日本でもk8sを採用→やっぱり辞めた会社さんもあるようで、事例が共有されることに期待。
- k8s使いたくても難しくって手が出せない、、というユーザのためにRancherがある。
- マルチクラウド、オンプレでも使える。
時間が限られているので、Cloud Nativeについてとことん突き詰めたお話は伺えなかったのですが、「行動を促す」、「アウトプットファースト」を伝搬させるための進藤さんの熱量が凄まじ買ったです。動機づけのためのお話も結構あったと思います。(英語話せないけどいきなり渡米してなんとかホテルまでたどり着いた話、とか。)
イベントを開催する場合、興味を引きそうな情報を提供する場を目的にしがちですが、その後の行動を促す巻き込み型の進め方も参考になりました。
ちなみに、進藤さんは懇親会でも熱いままでした。
LT:Google Cloud Runを試してみた(Re:Build 鈴木さん @kanbo0605)
- Cloud Run
- gcloudコマンドを使ってローカル環境からアプリ(Dockerコンテナ)をデプロイ
ハンズオンの要素も取り入れたLTで斬新でした。また、ローンチしたばかりのサービスに触れられたこともありがたかったです。 個人的にはFargateとの比較をしてみたいと感じました。(会場に両方触ったことがある方がいて、「Fargateよりもっと楽!」とのことだったので気になる。。。)
LT:本番環境をAWS ECSで構築した話(Re:Build 中西さん @kaoru6strings)
- どうやってコンテナを管理しようか悩んだ。(運用ノウハウないので、なるべくManagedな状態にしたい)
- RancherのコミュニティSlackで相談→「小規模なシステムならRancherを使うまでもない」とのアドバイス有り。
- ECSで管理することに。
- ネットで検索すると「ecs-deploy」コマンドばっかり出てくるが、これはFargate登場前のツール。
- ECS on Fargateの環境では使えなかった。注意!!
サービスリリースは7月ごろ、とのことだったので、(一方的に)本番運用してみての状況を共有してもらう約束をしました。
当日のツイート
イベント終了後、すぐに共有されたtogetter。仕事がはやい!! togetter.com
イベント冒頭、参加者へのアンケート(どれぐらいコンテナ使ってるか、どんな業務をやっているか、etc)をとったのですが、リアルタイムに結果が共有されるdirectpollが面白かったです。(QRコードでスマホからアクセス→回答ポチポチ→集計結果をスクリーンで共有)
インタラクティブに会場の人の投票結果が見えるやつ #CNJP pic.twitter.com/1CMDQpH9An
— せむにる (@semnil) 2019年5月7日
まとめ
- 「Cloud Native Okinawa #01」に参加した
- 「行動あるべし!」を意識させられたイベントだった
- そのマインドがないとCloud Nativeは実現できないと思う
- 次回はLTできるよう、アプトプットを意識して各技術に触れていく
- Trail Mapに沿って進めていこう!