Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
KUSANAGI RoDの紹介
Search
Satoru MIYAZAKI
February 23, 2019
Technology
0
1.1k
KUSANAGI RoDの紹介
KUSANAGI Runs on Dockerが何をもたらすのか、を紹介します
Satoru MIYAZAKI
February 23, 2019
Tweet
Share
More Decks by Satoru MIYAZAKI
See All by Satoru MIYAZAKI
どこのご家庭にもあるOpenSolarisを、ZFSで有効活用
smiyaza
0
210
How to secure container environment
smiyaza
0
580
コンテナ環境をセキュアに運用する方法 #osc20on
smiyaza
0
1k
コンテナのセキュリティについて考えよう osc2020tk
smiyaza
6
1.1k
コンテナのセキュリティについて考えよう osc2019tk
smiyaza
1
160
コンテナのセキュリティについて考えよう
smiyaza
0
890
平成元年度に卒業した高専生が、令和元年の高専生に伝えたいこと
smiyaza
2
250
コンテナセキュリティってどうなってるの?
smiyaza
2
610
如何にPHP7.3.3のDockerイメージを作るか
smiyaza
0
920
Other Decks in Technology
See All in Technology
Android Studio の 新しいAI機能を試してみよう / Try out the new AI features in Android Studio
yanzm
0
270
現場が抱える様々な問題は “組織設計上” の問題によって生じていることがある / Team-oriented Organization Design 20250827
mtx2s
3
820
見てわかるテスト駆動開発
recruitengineers
PRO
4
300
我々は雰囲気で仕事をしている / How can we do vibe coding as well
naospon
2
220
Product Management Conference -AI時代に進化するPdM-
kojima111
0
220
ABEMAにおける 生成AI活用の現在地 / The Current Status of Generative AI at ABEMA
dekatotoro
0
650
実践アプリケーション設計 ③ドメイン駆動設計
recruitengineers
PRO
1
180
KiroでGameDay開催してみよう(準備編)
yuuuuuuu168
1
130
AIドリブンのソフトウェア開発 - うまいやり方とまずいやり方
okdt
PRO
9
580
R-SCoRe: Revisiting Scene Coordinate Regression for Robust Large-Scale Visual Localization
takmin
0
430
浸透しなさいRFC 5322&7208
hinono
0
120
実践アプリケーション設計 ②トランザクションスクリプトへの対応
recruitengineers
PRO
2
150
Featured
See All Featured
KATA
mclloyd
32
14k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Bash Introduction
62gerente
614
210k
Optimizing for Happiness
mojombo
379
70k
Typedesign – Prime Four
hannesfritz
42
2.8k
Six Lessons from altMBA
skipperchong
28
4k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
283
13k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3k
Building an army of robots
kneath
306
46k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Transcript
KUSANAGI RoDの紹介 OSC 2019 Tokyo/Spring みやざきさとる KUSANAGIユーザ会
アジェンダ ⚫自己紹介 ⚫KUSANGIについて ⚫KUSANAGI Run on Dockerとは ⚫KUSANAGI RoDがもたらすもの ⚫KUSANAGI
RoDの今後
自己紹介 ◦KUSANAGIを作ってる人 ◦ 好きなOS: Solaris ◦ 好きなFS: ZFS ◦ 好きな仮想化:
Solaris Zone satoru.miyazaki.31 @s_miyaza 宮﨑悟 MIYAZAKI, Satoru
超高速WordPress仮想マシン「KUSANAGI」 マスコットキャラクター 草薙 沙耶 KUSANAGIについて
KUSANAGIとは ⚫超高速WordPress仮想マシン ⚫16の主要なクラウドプロバイダで提供 ⚫インスタンス料金のみで利用可能 ⚫GPLv2で提供 ⚫WordPress以外のLAMP環境も使用可能 ⚫LAMP ⚫Concrete5 ⚫Drupal7/8 ⚫Rails
WordPressとは ⚫圧倒的シェアを持つグローバルスタンダードCMS ⚫トップ1,000万サイト中 33.2%が WordPressを利用 33.2%=世界の約1/3がWordPress ⚫CMSでは60.1%がWordPressを使用 33% 67% WordPress
Others W3Techs.com調べ
とにかく早いKUSANAGI ⚫今お使いのWordPressサイトの、 最大約17倍の高速化を実現!! ⚫表示に1秒かかっていたページが、 約20ミリ秒まで高速化!!! 17x Fast!!!
セキュリティもスゴイKUSANAGI ⚫サイトのHTTPSを強力に推進 ⚫Let's EncryptによるSSL証明書対応 ⚫HTTP/2に対応 ⚫パイプライン化とストリーム多重化 ⚫HTTPヘッダの圧縮 ⚫コンテンツ種類による優先度設定 ⚫TLS1.3に対応 ⚫ハンドシェイクの暗号化強化と効率化
⚫古い暗号化スイートの排除
超高速WordPress仮想マシン「KUSANAGI」 マスコットキャラクター 草薙 沙耶 KUSANAGI Run on Docker とは
KUSANAGI をDockerで動かす ⚫KUSANAGI Run on Docker(以下RoD)は、 Dockerマシン上で動作するWordPressの仮想化 ⚫ KUSANAGIの構成をDockerマシン上で再現 ⚫docker-machine、docker-composeを使用
⚫Docker ImageはDockerHubにて公開中 https://hub.docker.com/r/primestrategy/
Dockerとは ⚫Docker=コンテナ型仮想化 ⚫ホストOSからリソース(プロセス)のみを分離=準仮想化 ⚫ホストOSと同じカーネルで動作する=オーバーヘッドなし ⚫Dockerは、アプリケーションコンテナ =アプリケーションを動作させるためのコンテナ ⚫IaaSの殆どは完全仮想化 ⚫ホストOSとは違うOS(=カーネル)が動作 ⚫エミュレーションを使用=オーバヘッドあり
Dockerの特徴 ⚫Docker イメージの利用 ⚫1サービスをまとめたもの=イメージ ⚫複数サービスが必要なときは、複数イメージを使用 ⚫Docker Hubなどのイメージリポジトリが用意される ⚫不要なファイルが必要ない=セキュア ⚫コンテナ型仮想化の特徴 ⚫高速起動
⚫リソース使用量が少ない ⚫再利用が容易 ⚫イメージのレイヤ構造が利用可能 ⚫あるイメージに設定追加して別サービスが使用可能
KUSANAGI RoDの基本構成 docker-machine NGINX Apache PHP7 MySQL Data Client PC
• docker • docker-machine • docker-compose http/https ログ収集 (journaldなど) config
KUSANAGI RoDの特徴(1) 軽量LinuxOSの採用 ⚫Alpine Linux3.9、Ubuntu(18.04)ベースのイメージで構成 ⚫NGINX-1.15.8 OpenSSL1.1.1a ⚫Apache httpd-2.4.38 OpenSSL1.1.1a
⚫PHP7.3.2 ⚫MariaDB 10.4.2 Ubuntu Bionicベース ⚫ftpd ⚫config(WPCLI) WordPress標準イメージ
KUSANAGI RoDの特徴(2) 設定の簡易さ ⚫Docker-machineによる外部Dockerのサポート ⚫デフォルトはlocalhostでのDocker起動 ⚫docker-composeによる複数Dockerイメージの管理 ⚫docker-machineを指定することで、外部のDockerマシンを利用可能 ⚫設定ファイルの生成/管理 ⚫Dockerイメージは、環境変数により設定変更可能 ⚫環境変数をファイルに書くことで容易に設定変更
⚫docker-composeの設定ファイルdocker-composeは、 コマンドで実施
KUSANAGI RoDの特徴(3) 自由な構成管理 ⚫自由な構成 ⚫Webサーバとして、NGINXかApache httpd の選択可能 ⚫デフォルトのDBはMariaDB ⚫外部のDBを利用可能(DBaas=DB as
a Serviceを含む) ⚫FTPなしの構成可能 =外部サイトからの更新を不可にする ⚫Gitによる版管理 ⚫生成したWordPressデータは、ローカルディスクとDockerイメージ間で同期可能 ⚫WordPress DBデータもimport/export可能 ⚫同期したデータを、gitで版管理
KUSANAGI RoDの特徴(4) より高いセキュリティ ⚫不要パッケージの排除 ⚫root権限でのサービス起動を排除 ⚫Dockerイメージ作成時に脆弱性検査を実施 ⚫Aqua社のMicroScannerを使用 https://blog.aquasec.com/microscanner-free-image-vulnerability-scanner-for-developers ⚫Dockerイメージ作成時点での高い脆弱性なし! ⚫最新のOpenSSL1.1.1系採用
⚫chacha20-poly1305など、最新の暗号スイートに対応済み ⚫HTTP/2およびTLS1.3に対応 ⚫SSL鍵 ⚫Let's Encryptにより、フリーの認証済みSSL証明書を使用可能 ⚫SSL鍵ペア指定可能
KUSANAGI RoDの動作環境 ⚫クライアント ⚫docker、docker-compose、docker-machine ⚫bash、binutils ⚫OSはLinuxなど(WSLでもOK) ⚫サーバ ⚫dockerサービスが動作すること ⚫docker-machineが対応していること (amazonec2,
azure, digitalocean, exoscale, generic, google, hyperv, rackspace, openstack, softlayer, virtualbox, vmwarevcloudair, vmwarefusion, vmwarevsphere)
超高速WordPress仮想マシン「KUSANAGI」 マスコットキャラクター 草薙 沙耶 KUSANAGI RoDが もたらすもの
物理サーバ・IaaS DBサービス PHPサービス httpサービス KUSANAGI RoDで何ができるか ⚫密結合サービスの分離 ⚫LAMPスタック=Linux+Apache(NGINX)+MySQL+PHP ⚫KUSANAGI RoDに移行する
→密結合したLAMPスタックのサービスを分離 httpサービス PHPサービス DBサービス Data 物理サーバ・IaaS httpd php DB Data
密結合から疎結合へ ⚫KUSANAGIでもクラスタ構成は可能 ⚫DBのクラスタ=Garela Cluster ⚫データ同期をlsyncで実施 ⚫サーバ単位でのクラスタ構築→密結合でスケールしにくい ⚫スケールアウトしやすい構成へ ⚫サービス毎にスケールできる ⚫ボトルネックになるサービスだけを増強 ⚫サービス毎にバージョンアップしやすい構成
⚫ローリングリリース
なぜ疎結合にするのか ⚫いまはスケールアップしにくい環境にある ⚫CPUスピードが上がらない ⚫メモリを増やすのにも限界がある ⚫CPUもスケールアウトの時代(メニーコアの台頭) ⚫本当に欲しいものはCPUパワーですか? ⚫サービスが継続できる事が重要 ⚫接続スピード=CPUパワーで解決 ⚫接続数=CPUの数で解決できる ⚫CPUの数を増やすことで、CPU1つあたりの負荷を低下
疎結合サービス化 ⚫複数クラウドサービスの併用 ⚫ハードウェアからの解放 ⚫スムーズなスケール構成 ⚫本当に必要なサービスを顧客に届ける
開発・デプロイしやすい構成 ⚫開発環境と本番環境の分離 ⚫gitのbranch ⚫docker-machineの切替 ⚫ブルー・グリーンデプロイ 開発環境 本番環境 ステージング環境
超高速WordPress仮想マシン「KUSANAGI」 マスコットキャラクター 草薙 沙耶 KUSANAGI RoDの今後
KUSANAGI RoDは絶賛開発続行中 ⚫2月リリースできなかったよ…orz ⚫現在、WordPressに注力中 ⚫WordPress以外(LAMP、concrete5、Drupal、Rails)も続々 ⚫KUSANAGI RoDは、すべてGithubで開発中です
今後の流れ ⚫まずは正式版リリース(近日中) ⚫WordPress以外の対応(近日中) ⚫各種クラウドでの検証(近日中) ⚫CaaS(Container as a Service)への対応(?) ⚫KaaS(Kubernetes as
a Service)への対応(?) ⚫CI/CDツールとの連携(?)