Upgrade to Pro — share decks privately, control downloads, hide ads and more …

とある少人数チームのCloudNativeへの船出の話

Hiro.Kamezawa
September 09, 2020
1.3k

 とある少人数チームのCloudNativeへの船出の話

CloudNative Days Tokyo 2020の20分のキーノート。
プラットフォーム部門のとあるチームがほとんど初めてクラウドを触って1.5年目の振り返りです。

Hiro.Kamezawa

September 09, 2020
Tweet

Transcript

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  31. View Slide