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
220
How to secure container environment
smiyaza
0
600
コンテナ環境をセキュアに運用する方法 #osc20on
smiyaza
0
1k
コンテナのセキュリティについて考えよう osc2020tk
smiyaza
6
1.1k
コンテナのセキュリティについて考えよう osc2019tk
smiyaza
1
170
コンテナのセキュリティについて考えよう
smiyaza
0
900
平成元年度に卒業した高専生が、令和元年の高専生に伝えたいこと
smiyaza
2
250
コンテナセキュリティってどうなってるの?
smiyaza
2
620
如何にPHP7.3.3のDockerイメージを作るか
smiyaza
0
940
Other Decks in Technology
See All in Technology
Datadog On-Call と Cloud SIEM で作る SOC 基盤
kuriyosh
0
140
【Android】テキスト選択色の問題修正で心がけたこと
tonionagauzzi
0
130
Design and implementation of "Markdown to Google Slides" / phpconfuk 2025
k1low
1
390
DMARCは導入したんだけど・・・現場のつぶやき 〜 BIMI?何それ美味しいの?
hirachan
1
190
QAセントラル組織が運営する自動テストプラットフォームの課題と現状
lycorptech_jp
PRO
0
320
AWS IAM Identity Centerによる権限設定をグラフ構造で可視化+グラフRAGへの挑戦
ykimi
2
680
ユーザーストーリー x AI / User Stories x AI
oomatomo
0
140
AIエージェントを導入する [ 社内ナレッジ活用編 ] / Implement AI agents
glidenote
1
350
Sansan BIが実践する AI on BI とセマンティックレイヤー / data_summit_findy
sansan_randd
0
130
品質保証の取り組みを広げる仕組みづくり〜スキルの移譲と自律を支える実践知〜
tarappo
2
810
re:Invent完全攻略ガイド
junjikoide
0
220
ソフトウェアテストのAI活用_ver1.50
fumisuke
0
280
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
970
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
Building Applications with DynamoDB
mza
96
6.7k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
658
61k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.2k
The Language of Interfaces
destraynor
162
25k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
Speed Design
sergeychernyshev
32
1.2k
Faster Mobile Websites
deanohume
310
31k
Code Reviewing Like a Champion
maltzj
527
40k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
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ツールとの連携(?)