クラウドエンジニアの足跡

日々のアウトプットと気ままになんか書いていく

『Docker Meetup Tokyo #30 (DockerCon・KubeConEU報告会)』に参加してきました

5/30(木)に開催された『Docker Meetup Tokyo #30』に参加してきたので、レポートします。

↓はオープニングの時に紹介されたContainerに関するイベントです。 CloudNativeTokyo2019 7/22,23 虎ノ門ヒルズ

Session

  • DockerCon報告1: Hardening Docker daemon with Rootless mode
    • Akihiro Suda
  • DockerCon報告 2: DockerCon 2019に参加して、エコシステムベンダーや他の参加者から拾った「うわさ」
  • DockerCon報告 3: The State of Docker: product and community
    • Takuya Noguchi
  • KubeCon EU報告 1: Keynote recap(Spotify or CERN)
    • Kohei Ota
  • KubeCon EU報告 2: 大きな話題のまとめ
    • Ian Lewis
  • LT 1: 5分で振り返るKubeCon EU 2019:ランタイムとイメージの話題ダイジェスト
    • Kohei Tokunaga
  • LT 2: KubeCon EU の recap します
    • Makoto Hasegawa
  • LT 3: Kubenetes運用や、基盤提供者観点での事例
    • Yutaro Wada

  • LT 4: k8sやサービスメッシュ

DockerCon報告1:HardeningDockerdaemonwithRootlessmode

  • Rootless Docker
    • デーモンも含めて一般ユーザで動かす
    • 幾つかの制約もある
    • katacodaで試すことはできる
    • 導入のモチベーションとしては、セキュリティ向上
      • Docker自体でバグ&設定ミスの被害を抑えることができる
      • 完璧ではなく、ハードウェアの脆弱性等についてはNG
      • Docker-in-Dockerで安全に利用
    • 仕組みは、User namespacesを利用
    • コンテナの中で複数ユーザを使うことができる
    • ファイルシステムの仕組みでOverrlayFSが使えない(Ubuntuは使える)
      • Ubuntu以外は遅いがXFSを利用でき、容量の削減はできる
    • NetworkはVPNkitを使っている
      • ”lxc-user-nic”で早くすることはできるが、実行するのはrootユーザになってしまう
    • 今後
      • OverlayFSをサポートすることを検討
      • cgropupを利用できるようにすることを検討
    • ダウンロードは以下

DockerCon報告2:DockerCon2019に参加して、エコシステムベンダーや他の参加者から拾った「うわさ」

  • 全体所感
    • ベンダーエコシステムは監視やセキュリティ関連が多くなってる
    • 開発者のためのツールの色が強く出ている
    • 世代交代が来ている(当初の参加者はKubeConに移動?)
    • ARM社がキースポンサー
      • ハードウェアベンダー
      • エッジサポートが将来的なビジョン
      • AWS A1インスタンスでDocker Desktopを実行可能
    • セッションようやく全体から抽出したFoamTree図での紹介
      • ポリゴン型の表現方法
      • 中核となるワードは”Open Source”
      • Swarmが復活してきている?
        • Citizens Bankがk8sからSwarmに戻った経験が紹介されていた
    • Docker開発のランタイムエンジンとしてcotainerdが主流
    • DXに成功しているDockerの主要顧客
      • Carnival
      • Citizens Bank
      • VISA
      • Nationwide
      • Lindsay Corporation
    • MTA(Modernization of Traditional Apps)の導入手段
      • Re-platform Legacy
      • Modernize Brownfield
      • Accelerate Greenfield
    • BuildX

DockerCon報告3:TheStateofDocker:productandcommunity

  • Stackoverflowでの調査結果では
    • 愛され度についてはLInuxに次ぐ2番目
  • “beta.docker.com"
  • ARMサポート
  • Docker Enterprise3.0
    • Docker Desktop
    • DKS(Docker Kubernetes Service)
    • Docker Application
    • Docker Enterprise as a Service

KubeConEU報告1:Keynoterecap(SpotifyorCERN)

  • Kubecon 2019 EU Overview
    • 場所はスペイン バルセロナ
    • 参加者は7700人以上(去年は4300人)
    • END USERにaddidas, cookpad, Palantir
    • 公式キャラクターの紹介
  • Keynote by CERN
    • 利用事例とLIVE DEMOを紹介
    • 世界最大の実験期間
      • 研究データは400TB/日
      • 年間研究機関に70PBを提供
    • 研究にはコストがかかる
      • 再現性のあるコンピュータシミュレーションが重要
      • シミュレーションで扱うデータセットは70TB
      • K8s clusterが20,000以上
    • Google Cloudを使ったインフラ構成
      • Google Cloud Storage 70TB
      • GKE
      • 瞬間で200Gbpsに迫るデータ転送
    • 分散処理が必要だが、なぜコンテナなのか
      • コンテナに閉じめることで再現性を高める
      • Containers give us Reproducibilty in Space and Time
        • 物理学界隈での単語?
    • Spotifyの事例
      • GCPを活用
      • EU, US, Aisaに存在
      • USのクラスタをオペミスで削除
        • Terrformを導入
        • ドキュメント整備
      • 次はUSとAsiaが壊れる
        • terraformの管理を間違った
      • ただユーザへの影響はなし
        • 最初から障害を起こることを前提として設計
        • k8sを実験段階で導入
        • サービスディスカバリをk8sではなく自前で実装
      • 失敗から学ぶ文化が推奨されている

KubeConEU報告2:大きな話題のまとめ

  • 興味を引いた話題
  • Container Runtimesについて

LT1:5分で振り返るKubeConEU2019:ランタイムとイメージの話題ダイジェスト

  • ランタイム
    • ランタイム紹介
      • docker, containerd, cri-o
      • Kata Containers, Firecracker, gVisor, Nabla, Singularity
    • セキュリティはRuntimeClassが有用
    • セキュリティ
    • マイグレーション
  • イメージ
    • コンテナをセキュアにビルドする観点
      • rootless
    • イメージ配布技術のUberのセッション
    • イメージビルダはBuildkitをはじめとしたセキュアでハイパフォーマンスなビルダがある

LT2:KubeConEUのrecapします

  • Ingress V2 and Multi-Cluster Service
    • IngressAPIをGA化するためのセッション
      • CoreAPIをきちんと定義
      • Annotaitonで拡張していくのではなくAPIを拡張して定義できるように
      • kubernetes1.16でGAを目指す
      • Ingressの状態をstatusで確認できるように
      • Service以外のbackendをサポート
    • Ingressの調査結果

LT3:Kubenetes運用や、基盤提供者観点での事例

  • まさかの置き引き被害。。。
  • 全体所感
    • Operatorに関する話題、Statefulなアプリケーションの運用に関する話題が多かった
    • パブリッククラウドのManaged k8s利用者が多い
    • オンプレミス環境での「Gardener」

LT4:k8sやサービスメッシュ

  • サービスメッシュも標準化を目指していく(SMI)
  • 7月あたりにDMMでKubeconに関するイベントを予定している

感想

全体的にセキュリティとCotaier Runtimesに関する内容が多かったと思います。
Cotaier Runtimesについてあまり理解できていないので、Ian氏のブログをみてきちんと一から勉強しよう。
コンテナに関する話題ではないけど、CERNが取り扱っているデータ量が膨大過ぎて今日1番すげぇと思いました(゚∀゚)

AWS主催の『イチから理解するサーバーレスアプリ開発』に参加してきました

5/9(木)に開催されたAWS主催のSeverlessの開発に関するイベントに参加してきました。 場所はAWS Loftで満席に近く、Severlessの注目度が高いなぁと改めて感じました。

Agenda

  • サーバーレスのおさらい
    • 利用パターン、事例および主要サービスについて
  • サーバーレスアプリケーション向きのDB設計ベストプラクティス
  • エラー制御・監視の勘所

サーバーレスのおさらい

  • 登壇資料は以下になります。

https://d1.awsstatic.com/serverless-jp/seminars/20190509_serverless_public.pdf

  • サーバーレスとは
    • サーバがないということはなく、サーバの存在を意識しない
      • サーバー管理は不要
      • 柔軟なスケーリング
      • 十二分に考慮された高可用性
      • アイドル時のリソース確保が不要
    • ロジック開発に注力できる
      • 責任範囲を小さくできる
    • これまでは3階層構造
      • 規模の見積もり
      • 可用性設計
      • データ保全の検討
    • サーバレスでは
      • 自動スケール
      • 設計済みのリトライ
      • データ信頼性の担保
    • お客様の効果例
      • 生産性が5倍
      • コード量が3分の1に
      • 短期実装可能
    • 利用者がやること
      • アプリケーション設計
      • ロジック開発、DB設計
      • 監視、エラー制御
    • Function as a Service: :Lambda が代表的
  • リソース管理とエラー制御の基本
    • 不適切なリソース利用の防止 -> 同時実行数
    • 効率的なリソースの再利用 -> 処理タイムアウト
    • 基本的には、処理リソースの単位(ファンクション)でエラー処理を考慮する
      • フロー管理(Step Functions)も可能
  • サーバーレすに置けるデータベースの考え方
    • 大量のDB接続リクエストが発生する可能性がある -> RDS側のリソースがパンクする可能性
      • 同時リクエストが少ない or 入り口でスロットリングする
      • DB接続を制御する
      • 分散型のDBを選ぶ -> DynamoDB
  • パターンで考える

サーバーレスアプリケーション向きのDB設計ベストプラクティス

  • 登壇資料は以下になります。

  • サーバーレスアプリケーションとデータベースの種類
    • LambdaとRDBを利用する際の考慮する事項
      • Lambdaはコネクションをプールする機構がない
      • VPC内リソーアクセス時のコールドスタート
        • ENIを経由する必要がある
    • DynamoDBで解決
      • コネクション数の問題を解決
      • 標準でVPC外リソースで作成される
  • データベース設計プロセス
    • DynamoDBのベストプラクティス
      • テーブル数は最小限に
      • PrimaryKeyでデータを識別し、アクセスする
      • グローバルセカンダリインデックスは元テーブルから非同期レプリケーションされる別テーブルのような存在
      • 1テーブルや1インデックスに複数種類のアイテムを乗せていい
    • RDBの設計プロセス
      • 業務分析と論理データモニタリング -> ER図
      • 物理データモニタリング -> テーブル定義書
      • アプリ、SQL実装
    • DynamoDBの設計プロセス
      • 業務分析と論理データモニタリング -> ER図
      • アクセスパターン設計 -> ユースケースリスト
        • 従業員情報をID検索する等
      • TableとIndex設計 -> スキーマ定義書
      • クエリ条件設計 -> クエリ条件定義書
    • DynamoDB設計テクニックとして、GSIオーバーローディング

エラー制御・監視の勘所

  • 登壇資料は以下になります。

https://d1.awsstatic.com/serverless-jp/seminars/20190509_Serverless_monitor_error.pdf

  • DynamoDBの監視とエラー対策
    • ベースラインとして推奨されるモニタリング項目
    • APIとCapacity Unit(CU)の消費
      • APIにより計算の概念が違う
    • CUにまつわるエラー対策
      • バルクオペレーションの最中にエラーが発生した場合、returnに未処理アイテムが返却されるのでアプリケーション側での対処が必要
      • CUはパーティション単位で平均化される。Hotパーティションを作らないような設計が重要
    • TTLの活用
      • TTLはCUを消費しない
    • オートスケールを利用しても、スパイクアクセスの対応は完全対応が難しい
  • Step FUnctionsの監視
    • Lambdaの方よりもStep Functionでスケールできない時もある
    • リトライ、タイムアウトなどをきちんとバンドルする
  • Lambdaに関しては以下を参照

  • サーバーレスでも運用レスではない

所感

DB設計の話しで、DynamoDBの設計プロセスと設計する際に意識する点はとても参考になりました。 通常のRDBではカラムを横に並べていくが、DynamonDBではGSIを考慮して縦に並べた方が良いということでした。 登壇資料の中の後半にドリル形式でDynamoDBの設計についてあるので、興味がある人はやってみることをお勧めします。

『エンジニアのキャリアを語るMeetUp【しがないラジオ×kiitok】』 に参加してきました

3/6(水)に株式会社プレイドGINZA SIXオフィスで開催された、
「しがないラジオ」と、「kiitok(キイトク)」によるエンジニアキャリアmeetupに参加してきました。

しがないラジオについて

  • SIerのSEからWeb系エンジニアに転職したんだが楽しくて仕方がないラジオ』の略
  • パーソナリティはSIerからWeb系に転職したzuckeyさんとgamiさん
  • 主にIT界隈のゲストを呼んでキャリアの話やTechの話をするポッドキャスト

kiitok(キイトク)について

  • 現役エンジニアに転職を前提とせずにキャリア相談できるサービス
  • 人気企業のエンジニアと40分間無料で1on1キャリア相談ができる
  • メンターとなるメンバーが豪華の印象

これまでのキャリアに関するLT① by 竹馬 力さん

  • 株式会社リブセンス不動産ユニットIESHILディベロップメントグループ グループリーダー
  • 経歴
    • 東京工業大学理学部を卒業後、ベンチャー企業を経てフリーランスエンジニアを7年経験
    • 戦略PR会社ビルコム株式会社にて 開発マネージャーとして新規事業に従事
    • 2013年に株式会社リブセンスに入社
    • 不動産価格査定サイト「IESHIL(イエシル)」立ち上げを経て、現在、データエンジニア/エンジニアリングマネージャー
  • kiitokのインタビュー記事

  • これまでのキャリア(苦労したこと)
    • 〜2011年
      • SES時代は仕事が長続きしない
      • 成長が見込めない閉塞感
      • モダンな環境でコードが書けない
    • 〜2013年
    • 〜2015年
      • 自由すぎる文化
      • サービス方針や組織への不安
      • 企業への思いとの葛藤
  • 苦労をどう乗り越えたか
    • 〜2011年
      • 転職活動を何回も
      • やりたいことの棚卸し
    • 〜2013年
      • 大変でもやりたい意思があったので続けられた
    • 〜2015年
      • 相手を認める心のゆとり
      • 副業で関心を紛らわす
      • 魅力的なサービスの立ち上げ
  • 学びから得たもの
    • 目の前の小さな環境改善を継続
    • チェンジエージェントたれ
    • 興味関心の棚卸し
    • 1つの技術的関心は突き詰めるべき
    • ジョハリの窓
  • 成長のマインドセットが一番大事
    • 悲観的にとらわれすぎない

これまでのキャリアに関するLT② by たなべすなおさん

  • 株式会社エス・エム・エス プロダクト開発部 部長
  • 経歴
    • 戦略と経営に関心を持ち外資生保のSEをしていたが、アジャイルRuby に出会って宗旨変え
    • 2011年9月、DeNAへ入社
    • 開発環境整備やCIの導入など技術支援をするチームの立上げ、Mobage や新規サービスの開発を支える
    • 2015年2月に株式会社エス・エム・エスへ入社
    • 技術責任者として開発組織の構築や開発基盤の整備をリードし、ビジネスモデルの構築が得意な事業会社に技術を新しい武器として加える活動している
  • kiitokのインタビュー記事

  • キャリアの幅がとても広い
    • 少し先を見てリスクテイク
  • 楽しく働いていきたい

これまでのキャリアに関するLT③ by 加藤 慶一さん

  • 株式会社Gunosy技術戦略室VPoE
  • 経歴
    • ソーシャルゲームの開発、アドテク企業でのデータエンジニアを経て2015年12月Gunosy入社
    • 「ニュースパス」の立ち上げや広告配信ロジックプラットフォームなどを担当
    • 2017年10月からエンジニア採用の責任者としての役割も担う。2018年9月、VPoEに就任
  • kiitokでのインタビュー記事

  • 最初のゲーム会社は、忙しかったがやり甲斐は感じてた
  • 次の広告会社は、自作サーバでHadoopを主にやっていた
  • 現在は、採用関連含めいろいろな立場を兼任
  • 運が良かったかも知れないが、こだわらない仕事の仕方も悪くない

スポンサーLT

  • 株式会社Retty
  • 飲食店専門のクラウドファンティんぐ事業開始
  • Udemyで『Rettyコース』開始

パネルディスカッション

  • しがないラジオのパーソナリティ&kiitokメンターのブレイド池上さんが司会で進行
  • どうやって転職活動していたか
    • 知り合いづてで転職
    • リクナビネクスト経由でエージェント
    • キャリアを知っているエージェントを活用している
  • 転職目的でもなく活動しても良いのか
    • 出会いは運が大きいと思うので、フィーリングで行ってみるのもあり
    • 気にせずカジュアルに行っていいと思う
  • 新卒3年目のキャリアで思ってたこと
    • 慣れてきてマンネリ化して飽きてた
    • そのまま働き続けた時のことを思った時に、あまり変わらないと思い転職してた
    • なんとかなるだろうなぁって思って過ごしてた
  • 転職を考えるタイミング
    • キャリアの限界を感じた時
    • ポジティブな時
  • エンジニアリングマネージャーでも技術を追っているのか
    • 採用でいろんなエンジニアと話すこともあり、広く浅く把握するようにしている
    • 技術を知らないエンジニアリングマネージャーになりたくない為、維持している
    • 書籍を書いていたり、個人でサービスを作っていたりはする
  • マネージャーやってて良かったこと
    • 環境が良くなっていくことを
    • 育てた人材が表彰された時
    • 採用した人材が活躍している
  • 若いエンジニアが楽しく働くために一言
    • 思い詰めてる時はしっかり寝たり、美味しい食べ物を食べたりリズムを変える
    • 楽しくないと感じた時に転職するのも
    • なぜそこにいるのかのマインドセットが大事

スポンサー

  • 株式会社Retty

  • 株式会社オプト

最後に

今回LTに登壇した方々は色々な経験を積んでいて面白かったです。

パネルディスカッションの最後の質問の回答で、
楽しくないと感じた時、なぜそこにいるのかマインドセットが大事と言ってて、
自分も3年目で環境も変わってくる為、改めて自分のキャリアを見つめ直そうと思った。

転職だけでなく、キャリアを考える上で参考になる言葉もあり、
非常に良い機会となりました。

今回のイベントに協賛していただいたスポンサー様、また登壇者の方々ありがとうございました。

それでは、今回はここまでで( ´∀`)

『Docker Meetup Tokyo # 28』に参加してきました

2/27に開催された『Docker Meeup Tokyo』に参加してきたので、レポート書いてみました。
倍率が高く前回は抽選落ちで、今回は補欠繰り上げで参加できました( ´∀`)

また今回が初投稿ということで、至らない点も多いと思いますが、
間違いがあればご指摘ただければm( )m
少しずつアウトプットを重ねることで、より良い情報発信&スキルアップできればと( ̄^ ̄)ゞ

セッション内容

  • Virtual Machine Management on Kubernetes
    • Kunal Kushwaha(@kunalkushwaha)
  • APIの話をする予定です
    • Gorilla (@gorilla0513)
  • インフラ苦手なアプリ屋がコンテナ環境を使ってみた話
    • Taiji Hagino (@taiponrock)
  • 開発環境をdocker-composeでいい感じにする
    • kompiro
  • virtual-kubeletを動かしてみよう
    • mosuke5(@mosuke5)
  • リバースプロキシでwebサーバを集約+docker化しよう
    • @uturned0
  • RancherでKubernetes
    • Yosuke Shindo(@shindoy)
  • Container-based Application Designed Reference and Practice
    • Kazuki Higashiguchi (@hgsgtk)
  • 君だけの最強 Scheduler を作ろう! (仮)
    • チェシャ猫 (@y_taka_23)
  • スポンサーセッション: DataRobot on Docker ! 大規模環境で稼働中 & 仲間募集中 !
    • DataRobot Japan 小島繁樹

Virtual Machine Management on Kubernetes

  • NTT Open Source Software Center
  • LTは英語での発表でしたが、資料のお陰でなんとか少しは理解できました(汗
  • まだVM環境が利用されいるなか、VMとコンテナを並列で動かせることができる「KubeVirt」の紹介
  • ↓は、kubevirtのリポジトリです。

About Docker Engine API

  • Docker Engine APIの仕組みについて紹介
  • ↓はゴリラ氏が自作で作成したコンテナ管理のOSSです

インフラ苦手なアプリ屋がコンテナ環境を使ってみた話

  • 資料は未公開?
  • IBMのアプリデベロッパ
  • インフラ苦手だが実務でコンテナ触り出した
  • docerhubにIBMCOMがあり、それをAzure環境で試してみたお話
  • コマンド数行でアプリ実行環境作れる
  • インフラ気にせず使える
  • アプリ屋こそコンテナは使うべき

開発環境をdocker-composeでいい感じにする

  • 資料は未公開?
  • Freee株式会社のアプリケーションエンジニア
  • PROD環境はk8sで動いているが、開発環境をどうするかで質問しにきた
    • ↓は同会社の別エンジニアがJAWSUGでk8sに関して登壇した時の資料
  • 手元の開発環境をどうするか
    • より良いMacを買う
      • コスト面で厳しい
    • 開発環境をクラウド
      • 実際にやってみた
    • クラウド化の課題
      • コスト面等でPRODと同等の環境は諦める
    • 単一のノードで複数サービスを動かすツールを探している
    • 今はDocker Composeで 対応している
      • 最初にネットワークを作成
      • 他のサービスの立ち上がりを待つ

virtual-kubeletってなんだ?

  • Alibaba Cloud日本リージョンの人
  • k8sのノードレスサービス
  • Virtual-kubelet
    • ノードレス(AWS Fargate等)で使える
    • IoTでエッジロケーション環境に対して活用するのか?

リバースプロキシでwebサーバを集約+docker化しよう

  • LINE株式会社インフラ担当
  • 1台のノードで2台のコンテナをHAproxyで分散する方法をデモ付きで紹介
  • サーバのリソースが余っているなら集約で他に活用しよう

RancherでKubernetes

  • RancherJPの人
  • RancherのSlack推しが凄かったw
  • Rnacherの紹介がメインで、複数環境(オンプレミス、クラウド)で一括管理できる
  • ↓はk3sのGithub

Container-based Application Designed Reference and Practice

  • サーバーサイドエンジニア
  • BASE BANK株式会社
  • コンテナ環境でアプリケーションを作成する際の原則を紹介
  • インフラエンジニアも意識するべき内容で、参考にしたいと思います。
  • Beyond 12 app factor

  • コンテナベース・アプリケーションの設計原則

https://www.redhat.com/cms/managed-files/cl-cloud-native-container-design-whitepaper-f8808kc-201710-a4-ja.pdf

君だけの最強 Scheduler を作ろう!

  • 実際にkuberenetesを利用する上で、今のShedulerでは満足できないことがある
  • 自由度を求めるなら、カスタムShedulerを作ろう!
  • Sheduler Frameworkが現在開発中

スポンサーセッション: DataRobot on Docker ! 大規模環境で稼働中 & 仲間募集中 !

  • 今回のEventのスポンサーとして、ピザと飲み物を提供して頂きました(^^)
  • DataRobotについてのでも含めた紹介とエンジニアを絶賛募集中とのことです
  • 『DataRobotは今物凄く流行ってる』とのこと

最後に

今回は初心者歓迎ということで、入門的な内容もいくつかありましたが、 改めて知ることもあって勉強になり、非常にいい機会でした。

またイベント自体はDockerに関することがメインですが、ほとんどのLTでkubernetesに触れていました。
既にk8sの事例が多くなっていますが、導入するところもまだまだこれから増えて行くと思うので勉強していきたい。

次回のDocker Meetup Tokyoも決定済みなので、興味ある人は↓から参加申し込みできます。