Slide 1

Slide 1 text

とある少人数チームの Cloud Nativeへの船出の話 亀澤 寛之 富士通株式会社 2020.09.09 @hiro_kamezawa Copyright 2020 FUJITSU LIMITED 0

Slide 2

Slide 2 text

自己紹介 ◼ 名前:亀澤 寛之 ◼ 略歴: ◼ ~2003年:学生(OS開発) ◼ 2003年:富士通入社 • Linux Kernel Hacker • OSS開発業務(含CNCFボード) ◼ 2019~:サービス開発 ◼ 好きな言葉 ◼ 枯れた技術の水平思考 Copyright 2020 FUJITSU LIMITED 基本的にはプラットフォーム・インフラのソフトウェアをやる部隊の所属です 1

Slide 3

Slide 3 text

Copyright 2020 FUJITSU LIMITED ✓ 富士通の中の1個人の意見であり会社の意見ではありません ✓ 私のチームの話をしますが、実際はクラウドをもっとよく使いこな すチームは沢山あります。(もちろんK8sも使われています) ✓ 今日の話はインフラソフトウェアのプロダクト開発部門のある 小チーム(8人)が、部門で初めてオリジナルのサービス開発を 始めたらこうだったという話です。 ✓ チームの話、技術の話、その他ごっちゃ煮です。ごめんなさい。 ご理解のほどよろしくお願いします 2

Slide 4

Slide 4 text

去年していた話 Copyright 2020 FUJITSU LIMITED speakerdeckにあります 3

Slide 5

Slide 5 text

今日の話 さんざん Cloud Native を他人に薦めておいて 自分が使う側に回ったら………という お話 Copyright 2020 FUJITSU LIMITED 4

Slide 6

Slide 6 text

コトの起こり(2018.12) Copyright 2020 FUJITSU LIMITED 何かCloud Native や DevOpsで 何かプラットフォームのサービスを 上司 え~っと、わかりました 5

Slide 7

Slide 7 text

私の妄想 Copyright 2020 FUJITSU LIMITED ちゃんとコンテナ、 Golang, GRPC をつかってCICDがxxで DevOpsなチームを…… 6

Slide 8

Slide 8 text

プラットフォーム部隊から公募 ◼ サーバ・ネットワーク装置・ストレージ ◼ サーバ管理ソフトウェア ◼ バックアップ管理ソフトウェア ◼ OSサポート ◼ 運用支援 etc… Copyright 2020 FUJITSU LIMITED 公募でどんな人が 来てくれるかな? 7

Slide 9

Slide 9 text

社内公募された開発スタッフ Copyright 2020 FUJITSU LIMITED Windows部隊で商品企画してました メインフレーム担当でした OpenStack運用やってました WebUIはわかります OSS開発担当でした ・・・ やってきた5人のインフラ戦士 (あと3人はPOと商品化担当) 8

Slide 10

Slide 10 text

社内公募された開発スタッフ(真) Copyright 2020 FUJITSU LIMITED プライベートでAWSやGCPの資格とってます やっとスクラムマスターの知識を活かせる現場に来ました インフラ自動化やログの扱いは得意ですよ サービスの立ち上げはもう何度もしてるんですよ プライベートでOIDCの認証認可サーバ自作してます (運よく)必要なスキルは揃っていそう 9

Slide 11

Slide 11 text

Copyright 2020 FUJITSU LIMITED 部署的にサービス開発が初めてなら、公募は良いオプション ※興味をもってやれる人で始めましょう モチベーションが高い! 10

Slide 12

Slide 12 text

“作り始める”まで ◼ ヒアリング ◼ デザインシンキング(の技法) ◼ 右往左往 ◼ テクノロジー Copyright 2020 FUJITSU LIMITED カスタマージャーニーマッピング 個人的には意味アリ 11

Slide 13

Slide 13 text

イチから勉強して始めました Copyright 2020 FUJITSU LIMITED アジャイルもクラウドもGoもDockerも Web開発も初心者ばかりだぞ・・・ 12

Slide 14

Slide 14 text

作ったサービス Copyright 2020 FUJITSU LIMITED tunaclo.net Tunaclo API Connect. エージェントを置くだけで リモート環境とプライベート接続 (14時のTrackAでセッションやります) Kubernetes等 ※サービスメッシュ的なアイデアでシステム間を繋ぐサービス Web Routing 13

Slide 15

Slide 15 text

裏側 Copyright 2020 FUJITSU LIMITED Router Agent Agent GW Auth API Monitor DB App Service ユーザ環境 14

Slide 16

Slide 16 text

(今のところ)使ったツール ◼ Azure DevOps (Azure Pipeline) ◼ Docker ◼ Kubernetes ◼ Golang ◼ GRPC ◼ Fluentd ◼ Ansible/Terraform ◼ vue.js ◼ OpenResty(nginx) ◼ Keycloak Copyright 2020 FUJITSU LIMITED この辺りの話をざっくり 15

Slide 17

Slide 17 text

コンテナ(docker)のいいところ Copyright 2020 FUJITSU LIMITED テストしたものがそのまま持っていける テスト環境が選べる(最近だとWSL2) docker-compose含め学習コストは低い サーバ一つに複数立てられる 起動・停止・ログの集約方法等、同一OP化 16

Slide 18

Slide 18 text

Copyright 2020 FUJITSU LIMITED コンテナはいいものだ・・・・・ ログ溢れやネットワーク周りで トラブったじゃないですか 17

Slide 19

Slide 19 text

Golang, GRPC, javascript ◼ いいところ :Webの力を増幅する ◼ 学習コスト :思っていたより高くない ◼ 後方互換 :たまにしんどい ◼ 困った所 :本を買うと古い ◼ ポイント :“やってみる”こと Copyright 2020 FUJITSU LIMITED 学習コストは高くない 言語は選ぶべき 18

Slide 20

Slide 20 text

Copyright 2020 FUJITSU LIMITED よく勉強が必要だったところ 学習コストは ある意味 高い(汗) DBやAPI系の従量課金 19

Slide 21

Slide 21 text

重要だったスキル ◼絵の描き方 ◼ クラウドサービスは絵が必要 ◼インフラ ◼ 設計も実装も知識差が効く ◼HTTPの理解 ◼ 全ての通信の基本 ◼スクラムマスター ◼ いたほうがいいです、いや、ホント ◼セキュリティ ◼ OpenID Connectを理解してる人とか Copyright 2020 FUJITSU LIMITED チームで継承 20

Slide 22

Slide 22 text

助かったスキル ○○さんが一晩でやってくれました Copyright 2020 FUJITSU LIMITED “提案”&“突破”と アジャイルの組み合わせはシナジー 21

Slide 23

Slide 23 text

不足していたスキル データベース! Copyright 2020 FUJITSU LIMITED 経験者ゼロだと作り直し覚悟 22

Slide 24

Slide 24 text

まだ評価できていないもの ◼Kubernetes ◼ 実際のところ、replica,auto-healingの機能ぐらいしか使えていない ◼ 学習:大変 ◼ サービスが小さいとdocker/ansibleでなんとかしたくなる ◼ ネットワーク処理を載せたいが、ネットワーク帯域設計はお勉強が必要 Copyright 2020 FUJITSU LIMITED もうちょっと上手く使いたい 23

Slide 25

Slide 25 text

チームの声 ✓ツール・技術が広範になって追随が大変 ✓GOはシンプルでライブラリが豊富。新サービスの開発に良い。 ✓GRPCは工夫されていて良い。デバッグではまると大変だけど・・ ✓L7 ルーティングは今後もっと面白くなるのではないか? ✓ OSSだとEnvoyとかIstioとか ✓もっと斬新な技術(Progressive Deliveryとか?)を使ってみたく もあるけど、チームのレベルやサービス規模に合わせる必要あり Copyright 2020 FUJITSU LIMITED 追加戦士 24

Slide 26

Slide 26 text

今試してる事 ◼実行可能な手順書:LC4RI Copyright 2020 FUJITSU LIMITED https://github.com/NII-cloud-operation/OperationHub 14時のTrackA~で紹介予定 散逸しがちな暗黙知を手順やコードと一緒に管理する 25

Slide 27

Slide 27 text

POの振り返り Copyright 2020 FUJITSU LIMITED ✓POはマネージャーではない ✓「決める」ことがチームを加速する ✓ほぼ全ての情報、ロードマップは共有する ✓振り返りイベント(Keep-Problem-Try等)は重要 ✓ペアプロはよかった ✓リモートワークのスタイルを模索中 26

Slide 28

Slide 28 text

最近思うこと Copyright 2020 FUJITSU LIMITED 第13章 実際には、言語は等しくないんだ。 第12章 プログラミング言語はその力において差がある。 インフラの前に 言語を変えてみようか 27

Slide 29

Slide 29 text

出港してみて ◼コンテナ自体は役に立ちます。 ◼ 小さく導入するところから始めるのは簡単なのでお勧め。 ◼使う言語は選びましょう。うちはGo言語でした。 ◼ 意外といろんなものがすばやく自作でき、他人に頼らなくてもよくなります ◼災対等を始めると運用系の自動化も複雑に ◼ 対策はお早めに ◼チーム・プロセス・言語・技法・プラットフォームは不可分、 モチベーションとアイデアが燃料 Copyright 2020 FUJITSU LIMITED 28

Slide 30

Slide 30 text

Copyright 2020 FUJITSU LIMITED CloudNative Days Tokyo 2020 開催されてよかったです あと半日、楽しみましょう! 29

Slide 31

Slide 31 text

No content