CloudNative Days Tokyo 2020の20分のキーノート。 プラットフォーム部門のとあるチームがほとんど初めてクラウドを触って1.5年目の振り返りです。
とある少人数チームのCloud Nativeへの船出の話亀澤 寛之富士通株式会社2020.09.09@hiro_kamezawaCopyright 2020 FUJITSU LIMITED0
View Slide
自己紹介◼ 名前:亀澤 寛之◼ 略歴:◼ ~2003年:学生(OS開発)◼ 2003年:富士通入社• Linux Kernel Hacker• OSS開発業務(含CNCFボード)◼ 2019~:サービス開発◼ 好きな言葉◼ 枯れた技術の水平思考Copyright 2020 FUJITSU LIMITED基本的にはプラットフォーム・インフラのソフトウェアをやる部隊の所属です1
Copyright 2020 FUJITSU LIMITED✓ 富士通の中の1個人の意見であり会社の意見ではありません✓ 私のチームの話をしますが、実際はクラウドをもっとよく使いこなすチームは沢山あります。(もちろんK8sも使われています)✓ 今日の話はインフラソフトウェアのプロダクト開発部門のある小チーム(8人)が、部門で初めてオリジナルのサービス開発を始めたらこうだったという話です。✓ チームの話、技術の話、その他ごっちゃ煮です。ごめんなさい。ご理解のほどよろしくお願いします2
去年していた話Copyright 2020 FUJITSU LIMITEDspeakerdeckにあります3
今日の話さんざん Cloud Native を他人に薦めておいて自分が使う側に回ったら………というお話Copyright 2020 FUJITSU LIMITED4
コトの起こり(2018.12)Copyright 2020 FUJITSU LIMITED何かCloud Native や DevOpsで何かプラットフォームのサービスを上司え~っと、わかりました5
私の妄想Copyright 2020 FUJITSU LIMITEDちゃんとコンテナ、Golang, GRPCをつかってCICDがxxでDevOpsなチームを……6
プラットフォーム部隊から公募◼ サーバ・ネットワーク装置・ストレージ◼ サーバ管理ソフトウェア◼ バックアップ管理ソフトウェア◼ OSサポート◼ 運用支援 etc…Copyright 2020 FUJITSU LIMITED公募でどんな人が来てくれるかな?7
社内公募された開発スタッフCopyright 2020 FUJITSU LIMITEDWindows部隊で商品企画してましたメインフレーム担当でしたOpenStack運用やってましたWebUIはわかりますOSS開発担当でした・・・やってきた5人のインフラ戦士(あと3人はPOと商品化担当)8
社内公募された開発スタッフ(真)Copyright 2020 FUJITSU LIMITEDプライベートでAWSやGCPの資格とってますやっとスクラムマスターの知識を活かせる現場に来ましたインフラ自動化やログの扱いは得意ですよサービスの立ち上げはもう何度もしてるんですよプライベートでOIDCの認証認可サーバ自作してます(運よく)必要なスキルは揃っていそう9
Copyright 2020 FUJITSU LIMITED部署的にサービス開発が初めてなら、公募は良いオプション※興味をもってやれる人で始めましょうモチベーションが高い!10
“作り始める”まで◼ ヒアリング◼ デザインシンキング(の技法)◼ 右往左往◼ テクノロジーCopyright 2020 FUJITSU LIMITEDカスタマージャーニーマッピング個人的には意味アリ11
イチから勉強して始めましたCopyright 2020 FUJITSU LIMITEDアジャイルもクラウドもGoもDockerもWeb開発も初心者ばかりだぞ・・・12
作ったサービスCopyright 2020 FUJITSU LIMITEDtunaclo.netTunaclo API Connect.エージェントを置くだけでリモート環境とプライベート接続(14時のTrackAでセッションやります)Kubernetes等※サービスメッシュ的なアイデアでシステム間を繋ぐサービスWeb Routing13
裏側Copyright 2020 FUJITSU LIMITEDRouterAgentAgentGW AuthAPI MonitorDBAppServiceユーザ環境14
(今のところ)使ったツール◼ Azure DevOps (Azure Pipeline)◼ Docker◼ Kubernetes◼ Golang◼ GRPC◼ Fluentd◼ Ansible/Terraform◼ vue.js◼ OpenResty(nginx)◼ KeycloakCopyright 2020 FUJITSU LIMITEDこの辺りの話をざっくり15
コンテナ(docker)のいいところCopyright 2020 FUJITSU LIMITEDテストしたものがそのまま持っていけるテスト環境が選べる(最近だとWSL2)docker-compose含め学習コストは低いサーバ一つに複数立てられる起動・停止・ログの集約方法等、同一OP化16
Copyright 2020 FUJITSU LIMITEDコンテナはいいものだ・・・・・ログ溢れやネットワーク周りでトラブったじゃないですか17
Golang, GRPC, javascript◼ いいところ :Webの力を増幅する◼ 学習コスト :思っていたより高くない◼ 後方互換 :たまにしんどい◼ 困った所 :本を買うと古い◼ ポイント :“やってみる”ことCopyright 2020 FUJITSU LIMITED学習コストは高くない言語は選ぶべき18
Copyright 2020 FUJITSU LIMITEDよく勉強が必要だったところ学習コストはある意味高い(汗)DBやAPI系の従量課金19
重要だったスキル◼絵の描き方◼ クラウドサービスは絵が必要◼インフラ◼ 設計も実装も知識差が効く◼HTTPの理解◼ 全ての通信の基本◼スクラムマスター◼ いたほうがいいです、いや、ホント◼セキュリティ◼ OpenID Connectを理解してる人とかCopyright 2020 FUJITSU LIMITEDチームで継承20
助かったスキル○○さんが一晩でやってくれましたCopyright 2020 FUJITSU LIMITED“提案”&“突破”とアジャイルの組み合わせはシナジー21
不足していたスキルデータベース!Copyright 2020 FUJITSU LIMITED経験者ゼロだと作り直し覚悟22
まだ評価できていないもの◼Kubernetes◼ 実際のところ、replica,auto-healingの機能ぐらいしか使えていない◼ 学習:大変◼ サービスが小さいとdocker/ansibleでなんとかしたくなる◼ ネットワーク処理を載せたいが、ネットワーク帯域設計はお勉強が必要Copyright 2020 FUJITSU LIMITEDもうちょっと上手く使いたい23
チームの声✓ツール・技術が広範になって追随が大変✓GOはシンプルでライブラリが豊富。新サービスの開発に良い。✓GRPCは工夫されていて良い。デバッグではまると大変だけど・・✓L7 ルーティングは今後もっと面白くなるのではないか?✓ OSSだとEnvoyとかIstioとか✓もっと斬新な技術(Progressive Deliveryとか?)を使ってみたくもあるけど、チームのレベルやサービス規模に合わせる必要ありCopyright 2020 FUJITSU LIMITED追加戦士24
今試してる事◼実行可能な手順書:LC4RICopyright 2020 FUJITSU LIMITEDhttps://github.com/NII-cloud-operation/OperationHub14時のTrackA~で紹介予定散逸しがちな暗黙知を手順やコードと一緒に管理する25
POの振り返りCopyright 2020 FUJITSU LIMITED✓POはマネージャーではない✓「決める」ことがチームを加速する✓ほぼ全ての情報、ロードマップは共有する✓振り返りイベント(Keep-Problem-Try等)は重要✓ペアプロはよかった✓リモートワークのスタイルを模索中26
最近思うことCopyright 2020 FUJITSU LIMITED第13章実際には、言語は等しくないんだ。第12章プログラミング言語はその力において差がある。インフラの前に言語を変えてみようか27
出港してみて◼コンテナ自体は役に立ちます。◼ 小さく導入するところから始めるのは簡単なのでお勧め。◼使う言語は選びましょう。うちはGo言語でした。◼ 意外といろんなものがすばやく自作でき、他人に頼らなくてもよくなります◼災対等を始めると運用系の自動化も複雑に◼ 対策はお早めに◼チーム・プロセス・言語・技法・プラットフォームは不可分、モチベーションとアイデアが燃料Copyright 2020 FUJITSU LIMITED28
Copyright 2020 FUJITSU LIMITEDCloudNative Days Tokyo 2020開催されてよかったですあと半日、楽しみましょう!29