Terraform で自社サービスを便利に! Custom Provider開発におけるDevOpsへの取り組みのご紹介 〜かゆいところに手を届かせたい人へ〜

schedule Apr 10th 03:00 - 03:45 PM place Hall B

NTTコミュニケーションズでは自社クラウドとして "Enterprise Cloud 2.0(以下ECL2.0)" というサービスを提供している。

私達のチームでは、現在上記サービス向けのオーケストレーション機能の開発を行っており、具体的には "Terraform" に対するプラグイン(Terraformの用語でCustom Providerと呼ぶ)の開発によりこれを実現しようとしている。

Terraform自体はHashiCorp社により開発されたDevOpsツールであり、クラウド上のリソースを定義ファイルの状態に合致するように生成・操作が可能である上、APIを保有するシステム(ECL2.0も同様)であればCustom Providerを開発することでこのツールに組み込むことができ、利便性・拡張性が非常に高い。

一方で、Custom Provider開発を通じたCI、特にリグレッションの観点で見ると、いくつか考え無くてはならない課題があるとも感じており、私達のチームではそれに対して各種の工夫を交えながら開発を進めてきた。

本プレゼンテーションでは、Terraformのご紹介、Custom Provider開発におけるDevOpsの取り組みに関するご説明、Custom Provider開発の過程を通じて感じた課題や具体的な改善点やTips(実は意外とかゆいところに手が届く使い方がちゃんとできる!)等について、ツール/コードの紹介やデモを交えてご紹介させて頂く。

 
4 favorite thumb_down thumb_up 0 comments visibility_off  Remove from Watchlist visibility  Add to Watchlist
 

Outline/Structure of the Talk

  1. 弊社クラウド “Enterprise Cloud 2.0(ECL2.0)” のご紹介
  2. Terraformとは
  3. Terraform開発を通じたDevOps
  4. 開発上のTips
  5. まとめ

Learning Outcome

  • Custom Provider(Terraformプラグイン)の実装方法
  • Terraform開発、テストにおける改善内容
  • Terraformにより、どのように複数システムをオーケストレーションできるのか

Target Audience

DevOpsに関する興味の有る方、Terraform/OpenStack Heat等のオーケストレーターに関わる方、等

Prerequisites for Attendees

特にありませんが、オーケストレーター関係のソフトウェアをこれから使いたい人や、そうしたソフトウェア関連の開発経験があればより理解しやすいかもしれません。

schedule Submitted 2 months ago

Public Feedback

comment Suggest improvements to the Speaker

  • Liked David Bernstein
    keyboard_arrow_down

    David Bernstein - Five Development Practices for Agile DevOps

    David Bernstein
    David Bernstein
    Owner
    To Be Agile
    schedule 3 months ago
    Sold Out!
    60 Mins
    Keynote
    Beginner

    These five development practices are core to Extreme Programming (XP) and essential for DevOps—automating the build for continuously integrating software as it is written, collaborating with team members through pair programming, practicing Agile design skills that enable testability, using test-first development to drive design, and refactoring code to reduce technical debt. Together, these five technical practices are proving to be essential for sustained success with Agile DevOps. However, many teams haven’t been exposed to the benefits of these practices or understand how to use them effectively. David Bernstein explores these engineering practices and their use in reducing risk and building quality in at every level of the development process. He makes the business case for these practices by showing how they address the inherent risks and challenges of building software. David then examines how these XP practices help us address the core issues of software development.

  • Liked Serhat Can
    keyboard_arrow_down

    Serhat Can - Managing incidents in microservices

    Serhat Can
    Serhat Can
    Technical Evangelist
    Atlassian
    schedule 2 months ago
    Sold Out!
    60 Mins
    Keynote
    Beginner

    Microservices require a shift in mindset and tooling. As monitoring is changing with more focus on distributed tracing because of the changing needs, the incident response must also adopt. In this presentation, I’ll answer “why” and “how” of on-call and incident response in microservices.

  • Liked Hideya Ikeda
    keyboard_arrow_down

    Hideya Ikeda - 富士通のSIプロジェクトがどのようにDevOpsに取り組んでいるか

    Hideya Ikeda
    Hideya Ikeda
    Manager
    FUJITSU LIMITED
    schedule 2 months ago
    Sold Out!
    45 Mins
    Talk
    Intermediate

    SIビジネスはなくなると言われ始めて数年、富士通のビジネスの中心はまだまだSIです。

    • ウォーターフォール、多層請負契約が中心のSIプロジェクトがDevOpsというテーマにどう取り組んでいるのか?
    • 富士通のSIプロジェクトは年間数千件。どのように標準化、適用推進活動をしているのか?
    • これらのSIプロジェクトでは、どんなツールを使って、どんなプラクティスを実践しているのか?
    • DevとOpsを隔てる壁へのアプローチは?
    • そして、今後SIビジネスがなくなっていくことにどう備えているか?

    こういった内容を泥臭い実践事例や苦労話を交えてお話ししたいと思います。

  • Liked Jan Schilt
    keyboard_arrow_down

    Jan Schilt - How the Phoenix Project simulation supports DevOps mindset change

    Jan Schilt
    Jan Schilt
    CSD
    GamingWorks BV
    schedule 2 months ago
    Sold Out!
    45 Mins
    Others
    Intermediate

    We ran 100+ DevOps simulations around the world for many large organizations. Our partners did 1000+ in the last 3 years. We experienced a lot of key fail and succes factors during the DevOps journeys. We capture all the outcomes in this presentation. DevOps requires a mind shift for most of the employees. We call this a 'new way of working' in which Old Thinking and Old Doing, will be replaced by New Thinking and New Doing. This is a process of years. But with simulation we can make a real good first step in his journey.

    We will present how this new way of working looks like, and why it's so difficult to change.

    We will present how DevOps benefits from learning by doing and how to bring this new way of working a live by changing the mindset.

    We also show some real cases how large organisations like ABN AMRO, NXP, APG etc used simulations to change the mindset of the employees.

    We also will explain the management of change aspects that plays an important role during this transformation.

  • Liked Masato Ishigaki
    keyboard_arrow_down

    Masato Ishigaki - Data-Driven x DevOps

    Masato Ishigaki
    Masato Ishigaki
    Product Owner
    DMM.com
    schedule 3 months ago
    Sold Out!
    20 Mins
    Talk
    Beginner

    ユーザーエンゲージメントを高める中で『データ駆動』という考え方は非常に重要です。
    常にプロダクトの状態をデータドリブンで数値化・定量化して、プロダクトがきちんとGrowthしているか、あるいはしそうかどうかを判断・予測しなければなりません。

    データが『駆動』するとは、データを見ることで次の行動につながることです。また、優れた指標をもとにデータを集めなければデータは駆動しません。

    データ駆動を使ったプロダクト戦略を行ううえで、優秀なフレームワークとして『リーンスタートアップ』といった考え方があります。リーンキャンパスやBMLループなどを使って、仮説検証からデータ計測→学習を高速に回し、次の仮説を立案し、いち早くプロダクトをProduct Market Fitに到達させる必要があります。

    こういった仮説から学習のループをすばやく回すには、DevOpsをどう効率よく回しどういったデータを計測してモニタリングしていくかがとても大事になってきます。 間違った指標(データ)では、学習ができないからです。

    今回は、データが駆動する優れた指標の見つけ方から、DMM.comの多様なサービスから月数万のレビュー投稿されるユーザーレビュー基盤のプロダクト実例をもとにデータ駆動戦略についてお話できればと思います。

  • Liked Arata Fujimura
    keyboard_arrow_down

    Arata Fujimura - DevOps導入支援、始めました

    Arata Fujimura
    Arata Fujimura
    Manager
    Classmethod, Inc.
    schedule 2 months ago
    Sold Out!
    20 Mins
    Talk
    Beginner
    クラスメソッド社では2018年7月から、DevOps導入支援サービスを始めました。
    一般的にDevOpsという言葉の定義は明確ではありません。そこで、支援サービスを始める上でまずは我々なりのDevOpsの定義を行ない、リーンキャンバスなどを使って仮説を立て、仮説の検証を行ないながら支援サービスの方向性を模索してきました。
    当セッションでは、DevOps導入支援サービスの立ち上げから今に至るまでにやってきたこと、その結果からわかったこと、次にやろうとしていることについて、ざっくばらんにお話しさせて頂きます。
  • 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 1 month 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 Seiji Kawakami
    keyboard_arrow_down

    Seiji Kawakami - DevOpsに関わるPOとして大切なこと

    Seiji Kawakami
    Seiji Kawakami
    Scrum Master
    KDDI
    schedule 2 months ago
    Sold Out!
    20 Mins
    Talk
    Intermediate

    DevOpsを上手に回すために、開発チームとビジネスが一体となって動く必要があります。

    一言でビジネスと言っても多種多様なセクションを含んでおり、なかなか一人で全てを回すことは現実的に難しい状況だと思います。

    上手くDevOpsを回すための作戦としPOチームを組閣、社内の業務改善プロジェクトがどのように動いていったのか?

    実際にPOチームに編入されたメンバーと、開発チームの双方の立場からプロジェクトを振り返ります。

  • Liked Atsushi Fukui
    keyboard_arrow_down

    Atsushi Fukui / Yukitaka Ohmura - DevOps with Database on AWS

    20 Mins
    Talk
    Beginner

    DevOps のアプローチでシステム開発に取り組む上で、データベースに対する変更をどのように扱うかは難しい問題です。このセッションでは、ライフサイクルが異なるアプリケーションとデータベースに対する変更を適切に管理することを目的として、代表的なデータベーススキーマ変更の手法を紹介し、それを CI/CD パイプラインに組み込む方法について考えます。

  • Liked Mitsuyuki Shiiba
    keyboard_arrow_down

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

    20 Mins
    Talk
    Beginner

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

    僕は、楽天の大阪支社でウェブアプリケーションエンジニアとして仕事をしています。実はDevOpsという言葉を聞いてもいまいちピンと来ないなぁと思っていたのですが、それは僕のいる部署が1つのチームでサービスの開発と運用の両方をやっているからだなと気づきました。

    サービスの開発と運用の両方をやっているため「運用を考えて開発をする」ということを考えやすい環境にあると思います。運用のことを考えずに開発をすると全てが自分たちに跳ね返ってくるからです。

    新しいエンジニアが入ってくると「運用のことを考えながらコードを書くんですよ」って話をして設計やコードのレビューをするし、新しいプロデューサーに対しては「ビジネスの運用が回るかどうか考えましょう」って一緒に話をします。

    このセッションでは、サービスの運用を考えながら開発をするときに、設計やコードでどのようなことを考えるか、テストやドキュメントをどのように残すのか、ビジネスの運用について何を考えるか、について自分の経験を元にお話したいと思います。

  • Liked Kyoko Yamada
    keyboard_arrow_down

    Kyoko Yamada - エンタープライズ企業におけるDevSecOps導入事例 (Intro to DevSecOps in Enterprise)

    20 Mins
    Talk
    Beginner

    最近は日本でも「DevSecOps」というキーワードがよく聞かれるようになりました。弊社はシステムインテグレーター企業ですが、開発プロジェクトではDevOpsを導入したり、アジャイル手法を取り入れるプロジェクトが増えてきました。しかし、DevSecOpsのSecの部分でいうといまだに迅速な変化に対応できていません。

    そこで昨年からDevSecOps導入に向けて動き始めました。そこで、本プレゼンテーションでは実際にどのような壁に当たったのかなどを含めて、実践した内容を共有したいと思います。

    Today the term "DevSecOps" has started to come up more recently in Japan. In our company, a system integrator, some development teams are changing to DevOps, but security rules and policies are still for "waterfall" development.

    So now we are trying to start implementing DevSecOps. In this presentation, I want to share an case study of starting DevSecOps in Japanese Enterprises.

  • Liked Hiroyuki Onaka
    keyboard_arrow_down

    Hiroyuki Onaka - インフラCIはじめました~Vagrant/Serverspec/Packerを経てサーバーレスまでの道のり~

    20 Mins
    Talk
    Intermediate

    Infrastrucute as Codeを安定した品質とリリース速度を両立させるには、インフラCI(CI:継続的インテグレーション)の構築によるセーフティーネットとパイプラインの構築が欠かせません。

    本セッションでは、筆者のサーバー環境の構築において、VagrantによるインフラCIの環境構築からPackerによるイメージ作成、そしてvagrant-awsとPackerの併用という現在の環境に落ち着くまでの道のりをとりあげ、インフラCIを現場に導入するにあたってのポイントを紹介します。

  • Liked Julian Totzek-Hallhuber
    keyboard_arrow_down

    Julian Totzek-Hallhuber - There is no such thing as DevSecOps!

    20 Mins
    Talk
    Intermediate

    DevOps/DevSceOps is a journey and requires a lot of changes in your organization and the affected teams. I would like to take you on a journey from waterfall to DevSecOps. Looking at the traditional approach and the issues you will face or you are actually facing while implementing DevOps. Moving on with what will happen if you set up DevOps without security and finishing with best practices approaches and tips how to get security included in your DevOps process to finally implement a full, secure DevSecOps process.

  • Liked Lim Yang Wei
    keyboard_arrow_down

    Lim Yang Wei - To DevOps, or not, it's all about Trust, Freedom and Responsibility

    20 Mins
    Talk
    Beginner

    In our team, the thing that we valued most is how our codes are making impact to business. It can be deploying feature that create new profit, fixing bug, increasing deployment time and etc.

    Making impact means in the end codes have to be deployed to production. We never set rules related to deployment. Anyone, anytime, anywhere. We even do have so-called "First day deployment" operation which make sure new member make their first deployment to production within 24 hours since they join our team. How do we make sure that works ? We trust. In our team, everyone is AWS admin from the first day. We want make sure everyone has the essential tools to setting up infrastructure, coding, releasing, monitoring. Human being, when given trust they take full responsibilities. Responsibility to complete work and hence making impact to business.

    It sounds like psychology, right ? Or I will just say culture.

    In the end, it's all about trust, freedom and responsibility. Let me show you how and why we inject (or being injected) these cultures into our team, how we improve and make sure it's getting better.

  • Liked Michael Migliacio
    keyboard_arrow_down

    Michael Migliacio / David Nguyen - What is DevOps Coaching? The Art, Science, and Culture Of Engineering Enablement (DevOpsコーチングは何ですか?技術、文化、科学)

    45 Mins
    Talk
    Beginner

    井の中の蛙大海を知らず - "A frog in a well does not know the great sea."

    Software engineering may be difficult, but fostering a working environment that enables skilled engineers to perform their best can sometimes seem downright impossible. Every day, many engineering teams are battling a messy whirlwind of forces like unmovable deadlines, impostor syndrome, psychological safety issues, personnel/leadership conflicts, fierce technological preferences, and more. With teams more distributed all over the world than ever before, cultural differences can exacerbate many of these difficulties.

    As a software engineering coach, my job is to not only introduce new technology to software teams currently looking to transition to DevOps, but to strengthen their working relationships within their organization. Coaches aren’t simply technical instructors. Rather, they are change agents that guide a team towards better outcomes for their project as well as their interactions with one another.

    In this presentation, I will discuss tips, tricks, and techniques that technical leaders and managers alike can utilize to better coach engineering teams, including concepts like the definition of empathy (and, more importantly, what doesn't count), the trust-influence relationship model, introducing new technologies in a meaningful and consumable way, and a 5-step process to provide teams confidence to own their new DevOps solutions moving forward.

    スピーカーは日本語が分かるから、セッションコンテンツの日本語版もあります。

  • 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 回書きました。

  • Liked Matty Stratton
    keyboard_arrow_down

    Matty Stratton - The Psychology of Chaos Engineering

    Matty Stratton
    Matty Stratton
    Global DevOps Advocate
    PagerDuty
    schedule 3 months ago
    Sold Out!
    45 Mins
    Talk
    Intermediate

    Chaos Engineering, failure injection, and similar practices have verified benefits to the resilience of systems and infrastructure. But can they provide similar resilience to teams and people? What are the effects and impacts on the humans involved in the systems? This talk will delve into both positive and negative outcomes to all the groups of people involved - including users, engineers, product, and business owners.

    Using case studies from organizations where chaos engineering has been implemented, we will explore the changes in attitude that these practices create. This talk will include a brief overview of chaos engineering practices for unfamiliar members of the audience, but the main focus will be on human elements. I will discuss successful implementations, as well as challenges faced in teams where chaos was a “success” from a technical perspective, but contained negative impact for the people involved.

    After seeing this talk, attendees will have a better understanding of the human factors involved in chaos engineering, good practices to care for the people and teams working with chaos, and be even more excited about this practice.

  • Liked ARUN SINGH
    keyboard_arrow_down

    ARUN SINGH - A Journey towards self healing infrastructure

    20 Mins
    Talk
    Beginner

    In this talk I will be sharing my Journey towards self healing infrastructure, which started with implementing self healing via SaltStack then Moving towards Rundeck and now finalised on StackStrom and How this self healing is helping us to resolve thousands of alerts without SRE intervention? This will include the pros-cons and high-lows we encountered in our journey while looking for a suitable workflow engine. How we added new things in existing technologies to make it fit for our environment and how user can learn from our mistakes and setup in your environment within hours.

    I will be talking about different workflow engines and a brief comparison between them. What to be used when? and why not? etc

  • Liked Shama Ugale
    keyboard_arrow_down

    Shama Ugale - Testing your Bot!

    Shama Ugale
    Shama Ugale
    Sr. QA Consultant
    ThoughtWorks Inc
    schedule 4 months ago
    Sold Out!
    45 Mins
    Talk
    Beginner

    Chatbots are one of the most widely adopted AI/ML implementations in the business sector. A chatbot is an intelligent machine used to imitate human conversation through text and voice commands. Today bots are widely used as a personal assistant, customer service, HR, sales and marketing to name a few. In short, bots are everywhere and we rely on them to a certain extent, this makes it extremely important to assure the quality of the chatbots and test them thoroughly. They are built using NLU/NLP-Services (Natural language understanding and processing) and are subjected to constant training and improvement which has direct impact on tests. Voice based bots like Siri and Alexa depend on speech recognition technologies. As the chatbots user do not have any barriers and due to the unpredictable user’s behavior it becomes utmost difficult to verify the correctness on the output. In this talk, we will discuss how the chatbots are different as compared to the other applications and the challenges they bring onto the table while verifying their behavior, and focus on the testing strategies and automation testing of the bots.

  • Liked David Nguyen
    keyboard_arrow_down

    David Nguyen / Michael Migliacio - Modern Web Testing with Cypress

    120 Mins
    Workshop
    Advanced

    In today’s ever-changing and competitive landscape of online retailers, companies invested heavily into end to end testing practice to ensure the best quality for their product. The seamless shopping experience between mobile and physical store is the universal high bar for success.

    Retailers that embraced omni-channel mobile first strategy often build their system top a multi-tenant architecture. In order to make all tenants work in harmony as one unit, across all engineering teams, Test Driven Development (TDD) must be one of the Objective Key Result (OKR). The center piece of that effort is the investment in automated end-to-end testing. During this session, come join David for a in depth look of how Cypress.io enabled dev team incorporate automated testing for both internal web applications, and its public facing e-commerce site.