ツナワタリマイライフ

日常ネタから技術ネタ、音楽ネタまで何でも書きます。

「Japan Container Days v18.04 Meetup」に参加した

はじめに

行ってきた。もちろん本編も参加した。

eventregist.com

感想

  • 会場提供はリクルートテクノロジーズさん、アルコールありでした
  • 翌日本編の事前登録&事前配布もあり、前日meetupとして有益な取り組みあり、素晴らしい
  • IppeiSuzukiさんのCNCFに投稿された記事の分析は面白い、もっと詳細な分析を聞きたかった
    • kubernetesは新たにレイヤを作り、その上か下か、という考え方ははじめて知った
  • Ryoma Fujiwaraさんの発表は個人的に示唆に富む、興味深い発表
    • ワンボタンデプロイ=自動化、チーム/組織でデプロイ&運用を考える姿勢良いですね
  • DataDogさんの話ももっと時間かけて聞きたい内容だった、DataDogさんだからこそ持つ情報がたくさん
  • 本編CFP出しての40分枠を5分に圧縮してもらってるので時間超過は堪忍な、という説明あり

以下、メモ。

CNCF(Cloud Native Computing Foundation)の最新動向 Ippei Suzuki

kubernetes導入事例分析

  • kubernetes.ioの導入事例を整理
  • CNCF、kubernetesだけに絞った、まずはkubernetes nativeに絞りたかった
    • docker
    • redhat,openshiftとかあるけど...
  • kubernetes導入の悩みはkubernetesだけじゃない
    • あえて新しいレイヤーを載せる意味とは?
    • ノースバウンド、サウスバウンド
      • SDN業界で使う言葉
      • あるレイヤーを境に、上半分か下半分かを指す
      • kubernetesのノースバウンドはアプリケーションそのもの
    • kubernetesの導入が目的じゃない、ノースバウンドのために導入し、運用が変わる
      • サウスバウンドのひと(情シス)にとってはレイヤー増えるだけ、メリットがない

Kubernetes導入、国別の分類

  • アメリカがぶっちぎり多いが。。。
  • ヨーロッパ
  • 中国(バイドゥ、JD、2社)

コンテナ化の対象は何か?

  • 会社のIT業務をコンテナファースにする決断、比率的に多い
    • とはいえ突然そうしたわけじゃないよね
  • データ分析基盤
  • インフラ(KubernetesをOpenStackに乗せた事例、サウスバウンド側の事例)

Kubernetes導入のプラットフォーム

  • オンプレとクラウドが半々ぐらい?
  • AWSよりGCPのほうが多い、たまたまか?
  • レガシーなデータセンターの上にkubernetes載せてる例もある
  • ベアメタルクラウドの上も
  • インフラのこと話してない会社もある(アプリケーションのことだけ)

Kubernetes導入事例紹介

  • Amadeus
  • 飛行機の予約システム
  • メインフレームの時代から、オンラインで飛行機予約システム出してた
  • 拠点はドイツ、世界中にデータセンターをおいてる
  • トランザクションが多い
  • 24/265
  • 以前はOpenShift
  • トランザクションを止めずに導入
    • マイクロサービス化の促進
  • 35万個のコンテナが動いている

エンジニアの異常な愛情 ~または私は如何にして心配するのをやめてワンボタンデプロイを愛するようになったか~ (Ryoma Fujiwara)

  • コンテナ関連の先進アーキテクチャ事業
  • RancherJPコアメンバー
  • 先行事例に学ぶKuberntes...

  • デプロイの重要性

    • デプロイされなければ、公開されなければ何も意味がない
  • ワンボタンデプロイ
    • sshログインなんでせずに、1回クリックするだけでデプロイできる
    • 頑張って作り上げてもいつのまにか使われなくなる
  • ワンボタンデプロイはなぜ使われなくなるのか
    • 環境ごとに後世に乖離が発生しまって動かなくなる
    • 失敗した時にリカバリできなくなる
  • どう解決する?
    • Docker+kubernetesでアプリケーション層の構成の差異を埋めましょう
    • パブリッククラウドを使えばカバーできそう?
    • 環境構成の乖離を防ぐのはインフラエンジニアの腕の見せ所
      • docker+k8sは強力
  • 失敗した時リカバリできなくなる問題
    • チームで頑張れ
  • ワンボタンデプロイのこだわる理由
    • 絶対に成功か絶対に失敗する、に近づけたい
    • 誰のせいで失敗した、は悲しい
    • AMデプロイしたらPM仕事にならない(魂抜ける)
    • 作業者/作業管理者がいると、作業者が非難されるのはつらいp
  • ピープルウェア/Effective DevOps

    • エラー大歓迎(from ピープルウェア)

      • チャレンジしてるってこと
    • 非難のない文化(from Effective DevOps)

      • 個人じゃなくて組織として考えるってこと
  • ワンボタンデプロイにこだわる理由(2)

    • 曖昧さを排除する

      • 作業前に実はこのコマンド事前に打ってるとか
      • 開発商用不一致を避ける
      • 継続的デプロイ、何が嬉しいかってすぐに戻せること
    • 個人を非難から守る

      • コードレビューするよね
      • 個人の責任が希薄化、組織として責任持つようになる

まとめ

  • デプロイ大事
  • ワンボタンデプロイ
    • 作業者の負担軽減
    • 個人の批判集中軽減
    • チャレンジが継続的に行われ、イノベーションが起きる組織に
    • 失敗から学べる組織に

~Dockerfileの開発を劇的に楽にする~ Dockerfile開発環境 EDGE (Tatsunori Saito)

www.slideshare.net

  • TIS
  • Docker、コンテナ使うメリット
    • ホスト環境汚さない
    • 迅速にアプリ起動
    • 高いポータビリティ
  • Dockerfileからコンテナイメージができるまで
    • docker buildコマンド、パラメタ指定、大変
    • 期待したコンテナかのテスト、execで入るとか、修正してまたbuildするとか
    • やってられっかい!
  • Dockerfile開発環境を作った
    • Elastic dockerfile Generating environment
    • TDD実践できる
      1. テストコード(Serverspec)
      2. Dockerfile書く
        • ビルド変数はiniファイルで定義
      3. bin/build test
      4. bin/edge spec build_test
    • https://github.com/bbrfkr/edge

CoreOS Container Linuxで始めるベアメタルKubernetes ( Shoichi Kagawa)

speakerdeck.com

  • coreos
  • bootcube
    • self hosted kubernetes
      • k8sを使ってk8sのマスターコンポーネントをデプロイする
      • kubernetes meetup tokyo #8で詳しい解説されてる
  • MatchBox
  • Typhoonというterraformモジュール
  • 学習コストは高い
    • 一度環境を整えると楽になるよ
    • Typhoonカスタマイズしたいな

そろそろLambda編(CI/CD編) Akira Koyasu

www.slideshare.net

  • AWSの話です
  • EmotionTech
  • AWS LambdaをCI/CDする
  • やりたいことの確認(絵に意味はない)
    • ファンクションを書いて、リポジトリへpushしたらチェンジセットのステータスによって確認環境やら本番環境やらにデプロイできる
    • 😕
  • AWS SAM
    • 依存リソース含め管理できる
    • ローカルはSAM Local
  • CodeBuild / CodePipeline
    • お金払っただけビルドできる

Kubernetes 採用トレンド 2018 (Masahiro Hattori)

www.slideshare.net

  • https://www.slideshare.net/MasahiroHattori2/docker-adoption-in-datadog-japan-container-days-v1804-20180418
  • Datadoc
  • @toolyee さん
  • 用語
    • Adopter: Docker採用ユーザー、稼働ホスト50%以上
    • Dabbler:Docker利用しているが、50%以下?
    • Aamdoner:Dockerを過去に使ったことがあるユーザー
  • Dockerの利用者、1年に40%増
    • Datadocの中で15%ユーザーがdocker使ってる
    • 規模が大きい企業ほどDocker採用進んでる
  • コンテナのオーケストレーターは?
    • Dockerを稼働させている40%のユーザーがオーケストレーターを利用
    • Kubernetesのシェアは41%
  • オーケストレーターを使うことでDockerホストのライフタイムを40%縮小
    • kubernetesがコンテナのライフタイムを平均で1.5日まで縮小
  • コンテナ集積度
    • すべてのコンテナユーザーでは1ホストあたり平均7コンテナが稼働
    • 25%のユーザーのうち14以上のコンテナを稼働させてもいる
    • ECSだと3コンテナ
  • ...最後かけあし、データたくさん!!!もっとみたい!

安全で軽いコンテナを目指して minachi katsuya

  • @int_tt さん
  • Dockerfile
    • 雑に書いてもちゃんと動くのすごい
    • レイヤー数減らして軽くする
    • 便利な書き方、使い方紹介します
  • buildするためにinstallするの遅いよね
  • dockerのキャッシュ
    • layerは親子関係、順番がある。親に変更が入ると以降のキャッシュは使わない
    • add,copy以外のコマンドはコマンド事態に変更がなければキャッシュを利用する
    • add,copyは転送されるファイルのチェックサムを見る
  • package installを先に持ってこよう
  • multi-stage-buildめっちゃ便利
    • 複数のビルドコンテキスト間でファイルのやり取りができる
    • build専用ステージ作って、生成物だけ取り出したり
    • docker-composeで結合テストもできる
  • まとめ
    • layer cacheをうまく使おう
    • build時にtestまわそう
    • 結合テストもdocker-composeで実行
    • テスト通過済みの安全で軽いイメージを維持
    • docker公式にbest practiceに全部描いてあった
    • google container-struture-test