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

panopticon

 panopticon

JAWS # 11

41b86e49df294f939a86f6cb409048be?s=128

ababup1192

June 26, 2018
Tweet

Transcript

  1. AWS初学者が DevOpsツールを作ってみた 株式会社ビズリーチ・HRMOS採用管理事業部 チーム: for Agent ソフトウェアエンジニア 渡部未来 / Mirai

    Watanabe 2018.6.21 1
  2. 会社について Copyright (C) 2018 BizReach, Inc.

  3. Copyright (C) 2018 BizReach, Inc. 株式会社ビズリーチ / BizReach, Inc.   創業:2009年4月

     代表者:南 壮一郎 従業員数:1,238名(2018年6月現在)   拠点:東京/大阪/名古屋/福岡/シンガポール 事業内容:インターネットを活用したサービス事業
  4. Copyright (C) 2018 BizReach, Inc.

  5. 5 SRE/インフラエンジニアを募集しています https://bit.ly/2x0ICou Copyright (C) 2018 BizReach, Inc.

  6. 自己紹介 - 今年の2月まで福島の会津の地で大学院生 - Elm・Scalaなどの関数型言語を広めに上京 - ビズリーチへElmとドラクエを広めに - AWS(ECS)歴 2週間

    6 https://bit.ly/2x0ICou
  7. 7 アジェンダ - Agenda - Elmの紹介 - HRMOS採用管理のサービスアーキテクチャについて - HRMOS採用管理の開発における問題

    - と対策 - 自分に何ができるか - Panopticon - まなび https://bit.ly/2x0ICou
  8. Elm - WEBアプリケーション(フロントエンド)を書くためのとっても楽しい言語 - AltJS - 言語がフレームワークを内包している - 関数型 -

    型安全機能は最低限、絞り込まれている - 高い生産性 8 是非やってみてくださいね 今日はJAWSなので程々に… https://bit.ly/2x0ICou
  9. HRMOSのアーキテクチャ CloudFront ALB ECS SQS S3 Elasticache RDS https://bit.ly/2x0ICou Copyright

    (C) 2018 BizReach, Inc.
  10. 環境について - ステージング/本番環境 同じ構成。ステージング環境の一部は夜間停止。 ECS クラスター CPU optimized Task A

    Task B ALB Job H Job G ECS クラスター default Task C Task D Task E AWS Batch (Spot使用) S3 Elasticache https://bit.ly/2x0ICou Copyright (C) 2018 BizReach, Inc.
  11. 環境について - 開発環境 本番と基本的に同じ構成の環境。結合テストに使用 ECS クラスター CPU optimized (Spot Fleet使用)

    Task A Task B ALB Job H Job G ECS クラスター default (Spot Fleet使用) Task C Task D Task E AWS Batch (Spot使用) S3 Elasticache https://bit.ly/2x0ICou Copyright (C) 2018 BizReach, Inc.
  12. ECSの使用例 - 規模感 サービス(モジュール)数:35 タスク数:54 コンテナインスタンス:29 https://bit.ly/2x0ICou Copyright (C) 2018

    BizReach, Inc.
  13. 環境について - Pull Request環境 Pull Request毎に環境のサブセットを作って 機能テストを行う サービス数 152 インスタンス数28

    PR環境用 ECS クラスター(Spot Fleet使用) Task A Task B Task C ALB PR-1環境 PR-3環境 Task A Task A Task A ALB Task A Task B Task C ALB PR-2環境 https://bit.ly/2x0ICou Copyright (C) 2018 BizReach, Inc.
  14. 開発時の問題 14 大量のサービスたち ローカルモジュール Ticket No 1 Ticket No 2

    Ticket No 3 開発者A「何故かAWSにあるモジュールにアクセスでき なくて・・・」 開発者B「テストが上手くいかない。あの環境って、今立 ち上がってるのでしょうか・・・」 SREの人「リソースが足りないので、使われていない環 境をお掃除しまーす」 https://bit.ly/2x0ICou
  15. HRMOS開発での問題 15 - AWSコンソールを開くのが億劫(恐怖症) - Kibanaのログを追うのが億劫

  16. SREチームの対策 16 - Sandbox環境の提供 - 積極的な権限の付与 - AWSコンソールツアー 非常に刺激を受けました・・・! https://bit.ly/2x0ICou

  17. 何がしたかったか 17 - インフラ(AWS)を楽しく勉強をしたい - 学びを共有したい - devとopsで手と手を取り合って、業務を改善したい - Elmを書きたい

    https://bit.ly/2x0ICou
  18. 自分に何ができるか 18 アルゴリズム ソフトウェア設計 機械学習 関数型 正攻法の学習では、誘惑が多すぎる・・・ https://bit.ly/2x0ICou

  19. 自分に何ができるか 19 アルゴリズム ソフトウェア設計 機械学習 関数型 ならば、得意分野で勝負・・・! https://bit.ly/2x0ICou

  20. 自分に何ができるか 20 x インフラ フロントエンド https://bit.ly/2x0ICou

  21. ECSをひたすら勉強 21 「ECSってなんですか?」 「ECSエージェントってなんですか?」 「サービスってなんですか?」 「タスクってなんですか?」 「タスク定義ってなんですか?」 そして出来上がったものが・・・! SRE https://bit.ly/2x0ICou

  22. Panopticon 22 - 哲学者ジェレミ・ベンサムが考案 - 全展望監視システム 少ない運営者で多数の囚人を監視 - すべてが目に見える領域 - ECSを視覚的に監視するシステム

    - 楽しみながら監視・運用を - 囚人(Service・Task)に指示を(停止命令) - Ops ゆくゆくは NoOpsへ・・・ から着想を得て https://bit.ly/2x0ICou
  23. Panopticon 23 - クラスタ選択 - サービス, タスクのリアルタイム監視 - サービス, タスクの停止

    - サービスイベントログの監視 https://bit.ly/2x0ICou
  24. Panopticon アーキテクチャ 24 - Lambdaでboto3を利用し、ECSの情報を取得 - API GatewayやデプロイなどはServerless Frameworkを利用 -

    S3でElmの生成物(index.html + bundle.js)を配信 https://bit.ly/2x0ICou
  25. PanopticonのElmコード - API接続部 25 https://bit.ly/2x0ICou

  26. PanopticonのElmコード - ハンドリングとView 26 https://bit.ly/2x0ICou

  27. 今後のPanopticon 27 - Panopticonを用いて、開発者向けECS講習の実施 - 開発者が主導で行う - (需要があれば)OSS化 - サービス化・・・?

    - KubernetesやGCPにも対応…? https://bit.ly/2x0ICou
  28. まなび 28 - AWS超楽しい・・・! - 得意分野と合わせることで苦手分野は克服できる・・・! - 新たなキャリアは自分で切り開くもの・・・! - 他のメンバーを苦手分野に巻き込む理由ができる・・・!

    - 新しいことをスパルタ式でやると圧倒的な成長が・・・! https://bit.ly/2x0ICou
  29. ご清聴ありがとうございました! 29 良き Elmライフ! AWSライフを! https://bit.ly/2x0ICou