Terraformの導入を失敗した現場でサービスで活用できるまでにカイゼンした6個のTips

Terraformのベストプラクティスは、スーパーエンジニアによる探求を続けておりますが、実際の生きたノウハウとして、サービスに適用して動かしている実績が大きなファクターだと思います。
当時の環境はOpsWorksを使っていてアプリケーションのデプロイに主軸を置いていました。またサービス運営する上で必要なリソースに対してはコードで制御できず手動の運営が強いられていました。
そこでTerraformを導入をしてこれらの課題を解決するためにチャレンジをしたもののサービスへの適用は頓挫してました。
完全なInfrastructures as a Codeな環境を目指して、Terraformだけにこだわらずビジネス価値に基づいて、必要な技術を導入することにしました。

私の経験から得た、サービスに適用するために試行錯誤した、ハマったポイントとその克服した事によるノウハウ、設計で苦労した点など、プラクティスについて共有したいと思います。

 
 

Outline/Structure of the Talk

  • 自己紹介
  • なぜTerraformなのか
  • Tips
    • あえてCloudFormationを併用する
    • モテるディレクトリ構成
    • AccessKey使わないでロール使う
    • 特定のリソースだけ別Region指定する
    • Outputだけを更新する小手先のテクニック
    • variableじゃなくてlocalsつかう

※より良くするために内容は一部変更するかもしれません。

Learning Outcome

  • イマドキのTerraformの使い方を知ることができる
  • 誰もがハマりそうなポイントを回避できる

Target Audience

Terraformをこれから使う方、すでに使っている方 / インフラコード化(Infrastructures as a Code)に興味がある方

schedule Submitted 10 months ago

Public Feedback

comment Suggest improvements to the Speaker

  • Liked Katsunori Kanda
    keyboard_arrow_down

    Katsunori Kanda / 南口奈央 - AWSを活用した少人数チームためのコンテナデプロイ戦略

    20 Mins
    Talk
    Beginner

    電通デジタルの開発チームでは、広告運用のための様々な支援ツールを開発しています。開発チームは少人数で専任のインフラ担当もいないことを考慮して、以下のようなポリシーで開発を行なっています。

    • マネージドサービスを使って運用コストを減らす
    • アプリケーションはシステム間連携用にAPIを提供する
    • 開発インフラは共通化し、開発者がアプリケーションの開発に集中できるようにする
    • ツール/サービスのベストプラクティスをよく理解し、自分たちが合わせる

    このトークでは、電通デジタルの開発チームがインフラ環境としてAWSを選択し、アプリケーションの開発基盤としてAWS Elastic Container Service(ECS) をなぜ、選択したのか、また、マネージドサービスを活用し運用コストを抑えるためにコンテナのデプロイメントパイプラインをどのように構築したのかを説明します。

    このトークを通じて、ECSに最適化されたデプロイメントパイプラインの構築方法が学べます。具体的には、Terraformを利用したECSクラスター/ロードバランサーの構築方法、サービスディスカバリー設定の自動化、AWS CodePipelineとAWS CodeBuildとECSの連携方法について知ることができます。

  • Liked Genki Sato
    keyboard_arrow_down

    Genki Sato - 開発効率を最大化するデプロイメントパイプライン

    Genki Sato
    Genki Sato
    Tech Lead
    Yappli
    schedule 11 months ago
    Sold Out!
    20 Mins
    Talk
    Beginner

    Yappliでは、プログラミング不要で簡単にスマフォのネイティブアプリを作成して、公開できるプラットフォームを280社のお客様に提供しています。

    私達が開発した価値をプラットフォーム上にすばやく、安全にデプロイするためには、パイプラインを整備し、自動化することが重要になってきます。
    パイプラインを整備することで、マスターへのマージに対する心理的な障壁を下げ、デプロイを自動化することで、効率的な運用が可能になります。

    このセッションでは、SaaSを運用している事業者として、最低限取り組むべき内容について、Yappliで実装した知見とともにお伝えしたいと思います。

  • Liked Ayana Yoshida
    keyboard_arrow_down

    Ayana Yoshida / Kotaro Ogino - 人事がDevOps研修を作っちゃった話〜恐れ知らずのブルドーザー改革 〜

    45 Mins
    Talk
    Beginner

    先日ご好評頂いたJaSST'18 Tokaiで発表した内容を、
    DevOps Days Tokyo 2019向けにアップデートしてお話しします。
    楽天でのDevOps研修の展開方法を失敗や苦労も交えながら、
    組織の変革をどうアジャイルに続けたか、
    ブルドーザー事例を交えながら惜しみなくお話します。

    4/8 当日のスライドをアップロードしました!
    4/9 スライドを少しアップデートしました!(リンク変わりました)

    ーーー

    参考: JaSST'18 Tokai 発表資料
    https://www.slideshare.net/kotaroogino/jasst-tokai18rakuten20181207

    平鍋さんのブログでも取り上げて頂きました!
    https://anagileway.com/2018/12/09/thank-you-jasst-18-tokai/

  • Liked Mitsuyuki Shiiba
    keyboard_arrow_down

    Mitsuyuki Shiiba - Service Operation Centered Development - サービス運用をまんなかにおいた開発

    20 Mins
    Talk
    Beginner

    サービス運用をまんなかにおいた開発についてお話します。

    僕は2010年から楽天の大阪支社でウェブアプリケーションエンジニアとして仕事をしています。僕のいる部署は中規模から小規模のたくさんのサービスを担当していて、1つのチームまたはグループでサービスの開発と運用の両方を担当しています。

    サービスの開発と運用の両方を担当しているため、僕らはサービスの運用のことを常に考えながら開発に取り組んでいます。運用のことを考えずに開発をすると全てが自分たちに跳ね返ってくるからです。

    このセッションでは、サービスの運用をまんなかに置いて開発をするときに、どのようなことを考えるか、また、どのように他のチームや組織と向き合うか、について自分の経験を元にお話したいと思います。

    資料は英語ですが、セッションは日本語です。

  • Liked Kohsuke Kawaguchi
    keyboard_arrow_down

    Kohsuke Kawaguchi - Wasted Gold Mine & What Data Can Do To DevOps

    Kohsuke Kawaguchi
    Kohsuke Kawaguchi
    CTO
    CloudBees, Inc.
    schedule 10 months ago
    Sold Out!
    45 Mins
    Talk
    Intermediate

    As CTO of CloudBees and the creator of Jenkins, I get to see lots of real-world software development. Our automation in software development is sufficiently broad that it is producing lots of data, but by and large most of those are simply thrown away. Yet at the same time, the management is feeling like they are flying blind because they have little insight! In this talk, Kohsuke will discuss how we collectively seem to miss the golden opportunity to improve the software development process itself, based on data. IOW, learning is lacking at the organizational level, let alone "machine" learning!

  • Liked Takashi Takebayashi
    keyboard_arrow_down

    Takashi Takebayashi - そろそろおまえらのdevopsについて一言いっておくか(ver. 2019)

    45 Mins
    Talk
    Beginner

    タイトルから分かる通り、ネタ枠ですよ!

    一時期 devops がバズワードと化し、猫も杓子も devops、devops と言葉だけが先行していました。そういったことがなくなり、ほっと胸を撫で下ろしていると、

    NoOps「devops は短サイクル開発なだけ! SRE は devops の進化したもの! NoOps は アーキテクチャ設計 に SRE と devops を内包したもの!」
    devops やっているぞヒューマン「devops やっているって言うため、足りないときは空コミットしたりして、毎日 10 deploy してますが大変ですよね!」
    devops わかってるぞヒューマン「私はビジネスを考えているので、devops なんていう dev と ops のことは開発だけでやってください!」

    ということがここ最近よく起きるようになりました。というわけで、devops に対しての誤解を解くとともに、実際 devops をどういう風にしたのか、どういった成果、業績がでたのかを複数の事例でご紹介します。

    タイトルから分かる通り、ネタ枠ですよ!

    大事なことなので 2 回書きました。