Tech Night @ Shiodome # 4 参加メモ

Tech Night @ Shiodome # 4 に参加したのでメモ。

あたりまえのことをあたりまえにやる難しさ @voluntas

https://gist.github.com/voluntas/08671d717290a6f63cddd95052a33a86

  • 自動化をするための準備の話。
    • 手動で失敗しているのに自動化で成功するはずがない。
  • なぜ自動化をしたいのか。
    • ほとんどの場合は、同じことの繰り返しが面倒くさいから。
  • 自動化をするとコストが上がる。
    • 自動化の恩恵を受けた瞬間から、自動化はブラックボックス化し、エンジニアは見なくなる。
  • 大きな自動化と小さな自動化。
    • 小さな自動化なら幸せになるが、大きな自動化はブラックボックスの範囲が広くなりメンテナンスコストが増える。
  • 自動化の前にやるべきこと
    • 資料化
      • 自動化は文化。何を自動化するのか、自動化する場合の方針やルール、文化の明文化のための資料化が大事。
      • 中長期的な自動化を実現するためには、変化を受け入れるための文化が必要。
      • 文化には歴史があり、資料のバージョン管理が必要で、WordはNG。
    • レビュー
      • レビュー相手がどんなに偉くても自分がわからない部分は何でも質問すること。
      • レビューはモラル。いくらでもサボれてしまう。
    • バージョニング
      • バージョニング設計をしっかりやる。
      • 「おれすごい機能追加したからメジャーあげる!」とかは絶対だめw
  • まとめ
    • 優秀な人がだいたい自動化を行い、優秀な人ほどすぐ辞め、そして謎のリポジトリが残ってしまう。
    • 継続的に自動化出来るように、自動化の準備をまず行おう。

AWS ECS (EC2 Container Service)を用いた AWS へのDocker コンテナデプロイ @legoboku

  • Dockerの特徴
  • AWS ECSとは
  • AWS ECS利用の動機
    • バージョンアップのためにAMIからEC2を起動して、設定し直す作業を繰り返すのは面倒。
    • 開発・テストで利用中のDockerを活かすため。
  • まとめ
    • Docker Composeの設定がほぼそのまま使える。
    • CLIやSDKが提供されているので、クラスタ作成管理や更新などを自動化しやすい。
    • CloudWatchと自動連携、メトリクスで自動スケールも可能。

自動化におけるコード管理

  • コード管理とは?
    • コーディングルール、バージョンアップ方針、コード管理方針の3軸と定義。
  • 開発チーム、レビューチーム、PMチームの3チーム制。
    • 負荷分散と文化の醸成のため、レビューチームは1年目だけで固めた。

送信メールサービスをユニットテストしてみた @zinrai

  • メール送信テスト
    • ネットワーク環境やSMTP認証の有無によるテスト

DevOpsとドキュメントデザインパターン @yuzutas0

  • 41ページを5分で話す超ライトニングトーク!
    • Appendixも含めると87ページの大作だったw
  • ドキュメント作成にMVCアーキテクチャの概念を導入
  • 保守性の高い 設計 はエンジニアの得意分野のはず!
  • 業務を整理して、 プロダクトを支える のは現場のエンジニア!

DevOps、本当のところ @shot6

  • 文化は 「変える」 ものではなく、結果として 「変わる」 もの。
  • 自動化で必ず発生する問題
    • 技術負債、仕事量、プロセスの見直しなど。
    • 自動化をするためには、全員がちょっとずつコンフォートゾーンから出る必要性がある。
  • 自動化そのものよりも、その過程のプロセスや体制の変化が大事。
    • DevOpsの実現には単なるツールやプロセスの変更だけでなく、本質的な組織文化の転換が必要になる。
    • 内製中心の発想なので、パートナーを利用するならば契約面の課題や、実行者の評価制度にまで踏み込まなければならない。
  • システム開発の文脈だけではビジネスのバリューストリームへの価値は低い。全体でどうするかを考えなければいけない。
  • 事業部門の要求や企画などから、全体のボトルネックの解消目線でなければ効果は出ない。
    • 人材定着やスタッフィングに理解がなければ破綻してしまう。
    • ツールやITだけで組織文化が変わるわけがない。
  • DevOpsという言葉は一旦忘れて、単なる技術の話ではなく、チーム組成や技術マネージメントを含めて費用体効果を考える。
  • 自動化はそこに至る過程に価値がある。

まとめ

「自動化はきっと奪うでも与えるでもなくて、気が付けばそこにある物」 というのが個人的な感想。文化だから一人で作るものではない。

もっと自動化のための技術の話ばかりかと思っていたが、そうではなかったので驚いた。

自動化を推し進めていく上で技術先行になりがちで、文化をどう醸成していくかという視点は忘れがちだと思うので、自動化のやり方を考え直す良いキッカケになったと思う。

 

以上

Meetupテクシオ