Above & Beyond

日々のアウトプット記録

JDDStudy #4 最新DevOps事例勉強会!サーバーレスアーキテクチャとコンテナの話。 に参加してきました

昨日は「JDDStudy #4 最新DevOps事例勉強会!サーバーレスアーキテクチャとコンテナの話。」という勉強会に参加してきました。

techplay.jp

f:id:kabukawa:20181105185544j:plain

会場は TECH PLAY SHIBUYA さん。 全体風景撮るの忘れてましたが、相変わらずきれいな会場です。

f:id:kabukawa:20181105183514j:plain

JDDStudy とは

JDDというのは Japan Digital Design 株式会社 さんの略称です。 なので、JDDStudyというのはJDDさんが開いている勉強会ですね。説明から引用すると

JDD が取り組んでいるFintechを中心に、ブロックチェーン、AI、DevOps、セキュリティなど、広く発信するための勉強会を開催しています。

という、興味深いテーマについて取り扱われる勉強会のようです。

また、JDDさんといえば、直近ではこんな活動もされてニュースになっていますね。

JDDさんがどういう会社なのかは、以下のページを読むと分かりやすいと思います。

www.japan-d2.com

なぜ参加したか

今回の勉強会のテーマをイベントページから引用すると

DevOps事例で今最もホットなキーワードである「サーバーレス」についてです。

コンテナがいいのか?サーバーレスがいいのか?よりよい開発環境構築のために頭を悩ませている方も多いのではないでしょうか??
AWSを含む3社の開発技術動向をお話いただきます。

コンテナ、サーバーレスというキーワードが含まれているからなのか、参加者が200人以上という非常に人気の勉強会でした。 僕もテーマで面白そうだなと思ったのが一番大きいのですが、JDDさんが大手金融グループの関連会社でありながらスタートアップ的な振る舞いを持った会社のようなので、そこが開く勉強会というところに興味を持ちました。まぁ、単純に金融系のSEを長くやってきたので、面白そうだなという直感もありますが(笑)

スケジュール

時間 内容
18:30〜 受付開始
19:00〜19:10 オープニング
19:10〜19:50 AWSにおけるMicroservices Architecture とDevOpsを推進する組織と人とツール
|アマゾン ウェブ サービス ジャパン株式会社 福井 厚
19:50〜20:10 小さい組織も導入できるサーバーレスアーキテクチャとDevOps
株式会社ukka Hiroki Uemoto
20:10〜20:30 プロジェクトにおけるDevOpsプロセス事例
Japan Digital Design株式会社 Takuya Noguchi|
mini projectにおけるサーバーレス事例
Japan Digital Design株式会社 Yoshiki Ozaki
20:30〜20:35 アンケート
20:35〜21:30 懇親会

参加してみて

参加特典?として、OWNERSの次回申し込みで使える500円割引券をいただきました。ありがとうございます! owner-style.com

既にツイートがトゥギャられているので、会場の雰囲気はそちらで感じられるんじゃないかと思います。 togetter.com

また、昨日のうちに諏訪真一(@suwa_sh)さんが詳細な参加レポートが書かれているので、そちらへのリンクも貼っておきます。 note.mu


AWSにおけるMicroservices Architecture とDevOpsを推進する組織と人とツール

f:id:kabukawa:20181105191310j:plain

アマゾン ウェブ サービス ジャパン株式会社 福井 厚(@afukui)さん

資料は公開され次第、貼ります。

話された内容とは異なる部分もありますが、英語での資料を見つけましたので貼っておきます。 メモを読むときの補完に参照していただければと思います。

www.slideshare.net

www.slideshare.net

概要: 今なぜDevOpsやMicroservicesアーキテクチャが注目されているのか、Amazonでは、どのようにそれらに取り組んでいるのかを紹介し、AWSが提供するサービスを利用して如何にDevOpsを実現するかについて解説します。

内容メモ: メモは取ったのですが、量が多くて追いつけてないので、結構抜けているところがあります。

なぜDevOpsなのか
DevOpsを実現する人、組織、文化プラクティス、ツール
AmazonにおけるDevOpsストーリー
フルマネージドなサービスで実現するDevOps

ソフトウェアを取り巻く環境の変化
ソフトウェアの作成と配布はかつてないほど高速になっている
すばやく配布、すばやくフィードバック
→俊敏性
 エンタープライズ企業でも求められている

ソフトウェアの配布モデルは大きく様変わりしている

このような俊敏さに必要な組織、人材とは
要求の変化に柔軟に対応できる
自動化を推進する
フィードバックを得てすばやく
DevOpsを実現する人材

なぜDevOpsなのか

DevOpsとは
ソフトウェア開発のライフサイクル
デリバリのパイプライン
フィードバックループ

ムダやボトルネックを取り除く

3Key of Successful DevOps

カルチャー
 壁を取り払う
 所有権と説明責任をチームに
 個人に対する責任は小さく
 一般的に大きなチームは小さなチームより遅い
 常に改善して高みを目指しHowには柔軟さを残す

プラクティス
 継続的インテグレーション&デリバリー
  人手を介さない→高速なデプロイ、ミスの削減
 Microservices
  モノリシックなアプリケーションアーキテクチャから機能別のアプリケーションへ
 Infrastructure あsService
  コードのよってリソースをモデル化
  可能な限り自動化
  アプリケーションとインフラの療法
  宣言的にインフラを定義
  セキュリテオィを含めて注意深くインフラを設計
  定義や設定をアプリケーションコードのごとく行う
  バージョンコントロール
  アプリケーションのいち部としてのインフラ
  ロールバックと
 モニタリングとロギング 
 Canary、Blue-Green Deployment
  
その他のベストプラクティス
 自動ロールバック
  失敗児における最も早いリカバリのメカニズム
 ダッシュボードを通じて状況を把握する
 コードのすべてをコードリポジトリに管理
 コードレビューは良いコードのためのベストな方法

ツール
 CI/CDツール
  Pipline
 Infrastructure management
Metrics

Amazon.comストーリー
モノリシックなアプリケーションだった
ブラックフライデー(リリース日が金曜だった)
メンテナンスと維持が難しい
ビルドやリリースがにかく時間がかかる

すべてをmicroserviceに。
two-pizza teams
 すべての所有権
 すべての説明責任

サービスチームと呼ぶ
 You build it, you run it

Amazon Our Leadership Principles
意思決定のメカニズム
 Customer Obsession
  カスタマーを起点に構造
 OwnwerShip
  長期的な価値を犠牲にしない
 Bais for Action
 失敗から学ぶことのほうが重要

開発の進め方
MVP
PR/FAQ
 先にプレスリリースを書く
6Pager/1pager
プレゼンテーションツールは使わない

まとめ
ビジネスからの迅速なサービスリリースが求められる時代
DevOpsを実現できる組織

www.amazon.jobs

AWSのDevOpsについては以下のページも参考になると思います。

DevOps とは? - DevOps と AWS | AWS

DevOps と AWS( DevOps を採用するエンジニアの活動を迅速化・簡略化)| AWS


小さい組織も導入できるサーバーレスアーキテクチャとDevOps

f:id:kabukawa:20181105195011j:plain

株式会社ukka Hiroki Uemoto(@jazzsasori) さん

speakerdeck.com

概要: 弊社サービスOWNERSをサーバーレスアーキテクチャで書き直した話とメンバーの少ない中でも最初からやったDevOpsの話。

内容メモ:

サーバーレス採用した話
サーバーレス採用してよかった

なぜサーバーレスの運用を始めたか
2018年7月末のフルリニューアルをきっかけに
もともとサーバーレスで運用経験が合った
サービスの開発に集中できるようにしたかった
 nginxとかミドルウェアのチューニングになるべく時間を取られたくなかった

運用してみて感じたメリット
スケーラブル
運用が楽
サーバーをハードとして意識せずに住む
バッチ処理のために常時起動しているサーバー不要
安い

デメリット
 RDSが使えない
  DynamoDBで構築
 言語が限られる
  Python、Java、C#等

同時実行数は1000が上限(デフォルト)
 制限緩和リクエストをして10000まで拡張した
Lambdaの実行時間が15分になった
 バッチ処理を動かすなら注意
API Gatewayからのテキスト以外を配信しない
 staticなものはS3とCloudFront経由で

サーバーレスでの注意点


実装無しでDynamoDB→Athenaにデータを流した
AWS Glueがキモ
ETL JobでjsonをS3へ
Athenaでクエリ
AWS noコンソールからポチポチして2時間位で構築

ローカル環境をdocker化

docker-machine

デプロイ
絶対に人の手でデプロイしないという強いお気持ちでデプロイフローを考えた

テスト
pushのたびにtestを回す
重要な部分はガッツリ、それ以外はできるだけという割り切り
TESTが通らないとデプロイできないようにしている

最初から整えたほうが楽
 デプロイはCIに任せる
 testは重要なところだけでも書く
 testを依頼するなら管理ツールも導入

https://testcaselab.com/

www.ukka.green


プロジェクトにおけるDevOpsプロセス事例

写真撮り忘れた。。。

Japan Digital Design株式会社 Takuya Noguchi(@tn961ir ) さん

speakerdeck.com

概要: JDDにおけるプロジェクトにおけるDevOpsプロセスについてお伝えします。

内容メモ: 取れてないので、出てきたキーワードのリンクのみ貼っておきます。

www.slideshare.net

www.oreilly.com

about.gitlab.com


mini projectにおけるサーバーレス事例

f:id:kabukawa:20181105201902j:plain

Japan Digital Design株式会社 Yoshiki Ozaki(@ikazo_y) さん

www.slideshare.net

概要:JDDでの1つのプロジェクトを例に、開発のツールチェーン、サーバーレス構成、工夫した点を具体的にお話します。

内容メモ: こちらも取れていないので、キーワードのリンクを貼っておきます。

airbnb.design

hockeyapp.net

auth0.com

懇親会

懇親会、美味しい料理とお酒、ありがとうございました!

f:id:kabukawa:20181105203414j:plain f:id:kabukawa:20181105203541j:plain

写真はありませんが、OWNERS さんで扱っているりんごが台風の被害で傷がついてしまったのを、りんごジュースにして持ち込まれていました。

owner-style.com

めちゃくちゃ甘くて美味しかったです!

まとめ

テーマが今注目されているものということもありますが、非常に参加者も多く皆さん熱心にセッションを聞き入っているのが印象的でした。 また、JDDの社員さんもたくさんいらっしゃっていて、力が入っているなと思うと同時に、皆さん明るく気さくに交流されているところがいいな、と感じました。積極的に採用活動もされているようなので、興味がある方は応募してみてはいかがでしょうか?(僕は事情により応募できませんが、、、)

www.japan-d2.com

ということで、とても有意義な時間を過ごすことができました。ありがとうございました!