Building Containers for 10,000 Applications Marty Pauley ContainerCon Japan, 2016 0 Marty Pauley • Technology Fellow • Cloud Platforms • Sys Admin / Ops • Developer • 10 years working in Goldman Sachs • 10 years living in Tokyo マーティー・ポーリー • テクノロジー・フェロー • クラウド・プラットフォーム • システム管理者/運用者 • 開発者 • 10年ゴールドマン・サック スで働いています • 10年東京に住んでいます • でも、日本語が下手です m(_ _)m 1 Goldman Sachs is a leading global investment banking, securities and investment management firm that provides a wide range of financial services to a substantial and diversified client base that includes corporations, financial institutions, governments and individuals. ゴールドマン・サックスは 投資銀行業務、証券業務お よび投資運用業務を中心に、 企業、金融機関、政府機関、 個人など多岐にわたるお客 様を対象に幅広い金融 サービスを提供している世 界有数の金融機関です。 2 Goldman Sachs • More than 8000 engineers • More than 100,000 servers • Many thousands of applications • Many different apps serving many different businesses ゴールドマン・サックス • 8千人以上のエンジニア • 10万台以上のサーバ • 何千個ものアプリ • 多くの異なるビジネスで 多くの異なるアプリが動 作している 3 Learn more at GS.com/Engineering The term ‘engineer’ referenced in this section is neither a licensed engineer nor an individual offering engineering services to the general public under applicable law. These materials (“Materials”) are confidential and for discussion purposes only. The Materials are based on information that we consider reliable, but Goldman Sachs does not represent that it is accurate, complete and/or up to date, and it should not be relied on as such. The Materials do not constitute advice nor is Goldman Sachs recommending any action based upon them. Opinions expressed may not be those of Goldman Sachs unless otherwise expressly noted. As a condition to Goldman Sachs presenting the Materials to you, you agree to treat the Materials in a confidential manner and not disclose the contents thereof without the permission of Goldman Sachs. © Copyright 2014 The Goldman Sachs Group, Inc. All rights reserved. 4 私たちは何かを売ろうとしているわけではない We're not trying to sell you anything DockerについてContainerConで 説明する必要もない(ですよね☺) No need to explain Docker at ContainerCon • Not new technology • OpenVZ • LXC • AppArmor • 新しくないテクノロジー • kernel namespaces • control groups • filesystem layers • Not new technology • OpenVZ • LXC • AppArmor • 新しくないテクノロジー • kernel namespaces • control groups • filesystem layers • Not easy for developers • 開発者にとって簡単じゃ ない • Devs don't want to worry • 開発者は運用のことを気 about Ops にしたくない It solves DevOps problems DevOpsの問題を解決する • "It works on my • 「僕のマシーンではちゃ んと動いている」 machine" • Devs don't want to • 開発者はサーバを気に worry about servers したくない • It's easy • 簡単だね 10,000個のアプリケーションのための コンテナの作り方 Building containers for 10,000 applications まず、アプリケーションを1万ビルドする First, build 10,000 applications • • • • version control system continuous integration automated testing artifact repository • • • • バージョン管理システム 継続的インテグレーション 自動テスト アーティファクトリポジトリ $ vim Dockerfile $ commit Dockerfile $ exit $ vim Dockerfile $ commit Dockerfile $ exit 大いなる力には大いなる責任が伴う With great power comes great responsibility • Not easy for developers • 開発者にとって簡単じゃ ない • Devs don't want to worry • 開発者は運用のことを気 about Ops にしたくない • containers are opaque • コンテナは不透明だ • we can't easily see inside • 簡単に内側を見ることが できない 「DevOps」= 開発担当者と運用担当者が連携して協力する "DevOps" = good collaboration between Devs and Ops Dev Ops 開発者 Model Build Deploy 運用者 • Devs provide metadata • 開発者はメタデータを準 備する • Ops build containers • 運用者はコンテナをビル ドする • no direct access to Dockerfile • insist apps follow standard conventions • rebuild the container regularly • retire obsolete versions • Dockerfileに直接アクセス させない • アプリが標準的な規格に 沿っていることを強制する • コンテナを定期的にリビル ドする • 古いバージョンを引退さ せる • • • • version control system continuous integration automated testing artifact repository • build container • automated testing • • • • バージョン管理システム 継続的インテグレーション 自動テスト アーティファクトリポジトリ • コンテナをビルドする • 自動テスト Dev Ops 開発者 Model Build Deploy 運用者 • model the application's services when creating a new application • 新しいアプリケーションを 作るときそのアプリケー ションのサービスをモデリ ングする • connect exposed ports to • 公開したポートを他のリ other remote exposed モートで公開したポートに ports つなぐ • for existing applications, automatically discover the components • 既存のアプリケーションに 対しては、コンポーネント を自動識別する $ ps $ lsof $ netstat Dev Ops 開発者 Model Build Deploy 運用者 • Some parts working now; other parts under development • 動いているところもあるし、 まだ開発中のところもある • A few good results so far, • これまでの結果は悪くは ないが、まだ道のりは長い but still a long way to go • Hope to have more info next year • 来年はもっと詳細な話が できるように頑張ってます ☺ ご清聴ありがとうございました Thank you for your attention 34 Learn more at GS.com/Engineering The term ‘engineer’ referenced in this section is neither a licensed engineer nor an individual offering engineering services to the general public under applicable law. These materials (“Materials”) are confidential and for discussion purposes only. The Materials are based on information that we consider reliable, but Goldman Sachs does not represent that it is accurate, complete and/or up to date, and it should not be relied on as such. The Materials do not constitute advice nor is Goldman Sachs recommending any action based upon them. Opinions expressed may not be those of Goldman Sachs unless otherwise expressly noted. As a condition to Goldman Sachs presenting the Materials to you, you agree to treat the Materials in a confidential manner and not disclose the contents thereof without the permission of Goldman Sachs. © Copyright 2014 The Goldman Sachs Group, Inc. All rights reserved. 35
© Copyright 2024 ExpyDoc