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
Drupal開発環境構築 インフラCI/CD編
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Takahiro Komatsu
August 27, 2019
Programming
520
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Drupal開発環境構築 インフラCI/CD編
2019年8月27日 Drupal Meetup 豊田 #7 「Drupal開発環境構築 アプリCI/CD編」での発表スライド
Takahiro Komatsu
August 27, 2019
More Decks by Takahiro Komatsu
See All by Takahiro Komatsu
Drupal CMSと世界中をつなぐDrupalコミュニティの魅力
takahiro_komatsu1982
0
56
Meetup豊田リリースパーティ&活動報告
takahiro_komatsu1982
0
110
Introduction of Drupal CMS features and trends | Drupal CMSの機能紹介および動向共有
takahiro_komatsu1982
0
160
Let’s write and expand your Drupal books from your local community!
takahiro_komatsu1982
0
120
DrupalSouth Wellington 2023 Participation Report | DrupalSouth Wellington 2023 参加体験記
takahiro_komatsu1982
0
280
Drupal Meetup Toyota 23
takahiro_komatsu1982
0
160
First Steps to CI/CD for Module Development / モジュール開発向けCI/CDはじめの一歩
takahiro_komatsu1982
0
300
Drupal 9 Web開発ことはじめ〜なにそれ?おいしいの?
takahiro_komatsu1982
0
730
Drupal環境構築 CentOS8編
takahiro_komatsu1982
0
520
Other Decks in Programming
See All in Programming
Make SRE Operations Easier with Azure SRE Agent
kkamegawa
0
6.8k
Oxlintのカスタムルールの現況
syumai
6
1.1k
ECSアプリログをFireLensでコスト削減しようとしたけど諦めた話 in Fargate×Node.js
akihisaikeda
2
4.2k
jQueryをバージョンアップする前に使いたいjQuery Migrate
matsuo_atsushi
0
560
Observability in Practice:Grafana 與 Edge Device SRE 的那些事
blueswen
0
170
エージェンティックRAGにAWSで入門しよう!
har1101
8
1.7k
A2UI という光を覗いてみる
satohjohn
1
140
LLM本来の能力を解き放つサンドボックス技術とAI民主化への適用
yukukotani
3
4.3k
net-httpのHTTP/2対応について
naruse
0
500
AI時代のUIはどこへ行く?その2!
yusukebe
22
7.4k
過去最大のMCPアップデート! 2026-07-28 RC版の謎に迫る
licux
6
360
Honoでのサプライチェーン侵害対策 〜 3つのライブラリに学ぶ
yusukebe
6
1.3k
Featured
See All Featured
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
860
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.9k
Bash Introduction
62gerente
615
220k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
The Invisible Side of Design
smashingmag
302
52k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Heart Work Chapter 1 - Part 1
lfama
PRO
7
36k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
Designing for humans not robots
tammielis
254
26k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
300
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
170
Transcript
Drupal開発環境構築 インフラCI/CD編 2019.8.27 Drupal Meetup 豊⽥ #7 @豊⽥中央研究所 ことラボ 代表
⼩松⾼廣
撮影・シェアOKです スライドは後ほど https://kotolab.jp にて掲載します
⾃⼰紹介 - ⼩松⾼廣(こまつたかひろ) - ことラボ 代表 - フリーランスエンジニア (ハードウェア/ソフトウェア) -
修⼠:公⽴はこだて未来⼤学⼤学院 システム情報科学研究科 複雑系情報科学領域
前回話したこと
アプリCI/CD
CI/CDのステージ ビルド 結合テスト コーディング デプロイ パッケージ ユニットテスト リリース CI CD
CI 継続的インテグレーション - Continuous Integration - 丁寧に時間をかけて作ったもの同⼠を組み合わせ て1つにして本当に⼤丈夫かどうか?を確かめる (テストをする)のはすごく⼤変 -
たくさんの⼩さなパーツ(Webサイトの場合は外 観パーツ・機能パーツ)を常に新しく作ってどんど ん組み込んでいけるよう統合作業を⾃動化したい
CD 継続的デリバリー/デプロイ - Continuous Delivery - Continuous Deploy - ユーザへ常に新しいものをどうやっ
て届けるか?を⾃動化
CI/CDを実現するために - 情報管理 履歴情報を辿れるgit - ⾃動化 宣⾔的・冪等性を確保するCI/CDツール - 可搬性 コンテナ化するDocker
GitHub Actions - CI/CDツール - 現在はbeta期間中 - 2019/11/13 ⼀般公開予定 -
公開リポジトリなら無料
Dockerによるコンテナ化 開発⽤PC サーバ ハードウェア macOS Apache Drupal MySQL ハードウェア CentOS
Apache Drupal MySQL 開発コード+ミドルウェア を パッケージング(コンテナ化)して持ち運ぶ
Pets vs Cattle - 番号で管理 - 他の家畜と等価 - 病気になったら 他の家畜と⼊れ替える
- 名前をつける - ⼿塩にかけて育てる - 病気になったら 必死に看病する
アプリやインフラがペット化 するとCI/CDはすごく⼤変
アプリCI/CD インフラCI/CD
同じサーバ環境を 何個も作るのはしんどい…
インフラ(サーバ環境)も CI/CDで構築・管理したい
サーバを宣⾔的コードで ⾃動構成するツールはある
構成管理ツール OSインストール後から使えるように なるまでの設定を⾃動的に⾏うソフト - Ansible - Chef - Puppet
クラウド環境 - Google Cloud Platform - Amazon Web Services -
Microsoft Azure - IBM Cloud
サーバ能⼒の差異 オンプレミス クラウド ハードウェア Ubuntu Apache Drupal MySQL ハードウェア RHEL
Apache Drupal MySQL OS環境より上位の差異はDockerが吸収 OS以下の差異は⾃分で考慮してコンテナ配置
どこにどのコンテナを うまく配置するか…
インフラ構築で考えること - オンプレミスvsクラウドではない - クラウドベンダーのロックインを可 能な限り回避したい - 本質的にはDockerコンテナが動か せる環境があればよい
Kubernetes
Kubernetes(k8s) - 「くーばねてぇす」と呼んでる - 各サーバ上のコンテナをまとめて管理 - 異なるサーバでコンテナ間通信を実現 - ユーザにサービスのエンドポイントを提供 -
サーバ群のリソースをコンテナ⽤に仮想化する ためのコンテナオーケストレーション・ツール
エンドポイントの提供 node サーバ Apache Apache node サーバ Apache master サーバ
node サーバ DB コンテナの配分 node サーバ Apache コンテナ間通信
Kubernetesによる仮想化 - Pod(コンテナをまとめたもの)を最 ⼩単位として管理 - k8sが各Podへリソースを配分 - サーバ群を抽象化するOSのような役 割
サーバ群を仮想化する 意味では広義のOS
仮想化 リソースを何らかの制約に囚われない で効率よく利⽤するためにいったん抽 象化してから配分するためのしくみ - OS: プロセスに対してハードを抽象化 - k8s: Podに対してサーバ群を抽象化
Kubernetesマネージドサービス - Google Kubernetes Engine - Amazon Elastic Kubernetes Service
- Azure Kubernetes Service - IBM Cloud Kubernetes Services
Kubernetesで マルチクラウドな構成も可能
AWSでも⽌まるときは⽌まる - 2019/8/23 12:36 - 空調管理システムが⼀部故障 - オーバーヒートしてハード ウェア障害に発展 -
EC2/EBSサービスに影響 - 上記のAWSサービスを利⽤し て構築していたゲームアプリ や決済サービスに影響 IUUQTBXTBNB[PODPNKQNFTTBHF
Single-AZで 障害起きるとつらい
Multi-AZも当然ながら選択肢 でもクラウドベンダーのロックインは やっぱり避けたい
k3s - k8sの各コンポートを統合してより軽量化 したディストリビューション - KVS: etcd → sqlite3 -
ランタイム: docker → containerd - 安価なVPSや複数のRaspberry Pi上で 遊んでみるとおもしろいかも
Kubernetesで クラウドベンダーに依存しない 安定で⾃由なDrupal構築環境!
ご清聴ありがとう ございました
https://kotolab.jp ことラボ