SlideShare a Scribd company logo
1 of 79
Download to read offline
GMO Pepabo, Inc.
アドバンスドシニア
近藤うちお
2015/04/19 Pepabo Tech Conference
Consul は
全自動オーケストレーションの
夢を見るか?
me
Rubyist
From Fukuoka
自動化厨
DevOps er
デブオプスでCFPに応募しました
20I5.6.27 sat 10:00-17:00 @ Hakata!
今日のテーマ
Consul
Consul has multiple components
> サービスディスカバリ
> ヘルスチェック
> Key/Value Store
> 複数データセンタ対応
Consul has multiple components
> サービスディスカバリ
> ヘルスチェック
> Key/Value Store
> 複数データセンタ対応
Excuse
> 0.5.0 の新機能については

全然紹介しません……
Raft Consensus
Algorithm
Raft Consensus
Algorithm
執政官
Consul
リーダー投票
http://ja.wikipedia.org/wiki/%E5%8F%A4%E4%BB%A3%E3%83%AD%E3%83%BC
%E3%83%9E%E3%81%AE%E5%85%AC%E8%A1%86%E6%B5%B4%E5%A0%B4
“– http://www.slideshare.net/pfi/raft-36155398
誤解を恐れずにザックリ説明すると
Client からのリクエストを
Leader がシリアライズしてクラスタ内の
他のプロセスに同じ順序でばらまく。
その他の参考サイト:
http://blog.obfuscatism.net/blog/2014/12/01/raft/
http://thesecretlivesofdata.com/raft/
cf. Raftの実装
> いくつかある
> https://github.com/hashicorp/raft
> Ruby は Celluloidプロジェクトの

https://github.com/celluloid/floss が

良さそう
Consulの
インストールと
運用
泥臭く、
嵌った点を共有します……
ディレクトリルール
> -config-dir= /etc/consul.d
> -data-dir= /var/consul/data
> -ui-dir= /var/consul/web_ui
> (プロセスはconsulユーザで動かす)
rpm つくった
> ドッカーでナウくビルドできます
> あえてサービスを含まない
> http://qiita.com/udzura/items/38075556d7609abd210a
consul agent -server
> スーパーバイザ∼ディー
> 実際はpuppetのsupervisordモジュール経
由で設定している
[program:consul_master]
command=/usr/bin/consul agent -config-dir=/etc/consul.d
numprocs=1
numprocs_start=0
priority=999
autostart=true
autorestart=true
startsecs=10
startretries=3
exitcodes=0,2
stopsignal=INT
stopwaitsecs=10
user=consul
redirect_stderr=true
stdout_logfile=/var/log/supervisor/%(program_name)s.log
stdout_logfile_maxbytes=50MB
stdout_logfile_backups=10
stderr_logfile=/var/log/supervisor/consul_master/consul_master.err
stderr_logfile_maxbytes=250MB
stderr_logfile_backups=10
environment=GOMAXPROCS=4
停止時にちゃんとleaveしてくれ
> stopsignal=INT
> INTで止めるとgracefulにクラスタを

抜けるので、正しく止める際の手順では

明示するのが良さそう
> TERMとかで止めるとクラスタに残る
> 一応設定で変更可能
> https://www.consul.io/docs/agent/options.html#leave_on_terminate
サーバの数
> 3以上、なるだけサーバにしている
> "bootstrap_expect": 3
> https://www.consul.io/docs/internals/consensus.html
-bootstrap(-expect)?
> -bootstrap での起動は雑に試す時
> 本運用では -bootstrap-expectで
> 「3台未満は冗長構成と言わない」
> 2台ではリーダーがいつまでも決まらない
> Raft だから……
> http://thesecretlivesofdata.com/raft/ を

眺めて理解
-serverとクライアント
> 基本的に -server で立ち上げる
> 運用の都合上、台数が増減するもの
はクライアントモードにしている
> 万一落としたサーバがリーダーだったら、
リーダ不在期間が一瞬とは言え発生してし
まう。なるべく減らしたい
GOMAXPROCS
> CPUと同数(4なら4)
> Vagrant上では、ちゃんとVMに

CPUを2以上割り当てないと

永遠にリーダーが交代し続けて

面倒なことに。
> I/O APIC の有効化をしないとダメ

(忘れがち)
http://qiita.com/d_nishiyama85/items/c50c95795865ae7f714b
“– https://groups.google.com/forum/#!msg/consul-tool/qewFEqgAoF8/
b9hxhmy1v6gJ
The reason we recommend setting
GOMAXPROCS is to avoid potential
starvation of the scheduler. … If
a single goroutine blocks the scheduler it
can cause degraded performance.
vm.overcommit_memory=0
> 設定しないと、こう言う怖いログが出て

落ちる。-server の時のみ。
> http://qiita.com/udzura/items/d24157a8d5ba6ab60ec0
Programmable
Consul
consul watch
consul watch とは
> consulサブコマンド
> Consulでクラスタを組んでおけば、

色々なイベントを監視できる。
> 監視したいイベントを指定すると

特定のコマンドにJSONを渡せる。
> イベントが起こったらすぐ発火する。
イベント一覧
> key: KVSの値
> keyprefix: あるプレフィックス以下のKVSの値
> services: サービス全体の状態変更
> nodes: ノードの状態変更(追加削除)
> service: 特定のサービスの変更
> checks: 特定のcheckの変更
> event: カスタムイベント
実際は自分で
consul watch
せずにツールを噛ますことが多い
ヘルスチェックのサマリを
通知
consul-alerts
> eventやcheckを監視して通知する

デーモンを手軽に作れる
Ikachanへの通知……
> カスタムコマンドが指定できる
> カスタムコマンド作った
> https://github.com/udzura/consul-simple-notifier
> 作ったけど大量のノード入れ替えの
際には厳しい……
Slackへの通知
> 組み込みである
> 組み込み、フォーマットがしょぼいのでPRした
……
> スルー😢
> ぼくのforkをビルドすればイケます
ELBっぽい何か
動的ロードバランサーと言う夢
> ロードバランサーには夢がある
> NginxやPoundの設定を

動的書き換えとか
> mod/ngx_mrubyを使うとか
> Automatic Load Balancer
> Serfでも無論できます
> 「Webサーバの増減」なので

もしかしたら、単にバックエンドの
Nginxが死んだだけとかだとダメ……
> http://blog.glidenote.com/blog/2013/10/30/serf-haproxy/
Serf+HAProxyで作る
consul-
template
consul-template
> hashicorp公式
> consulのイベントを監視し、

サービス追加、ノード追加、

その他のタイミングでファイル更新
> ノードの情報からテンプレートを作れる
> 一緒にコマンドを打てる(reloadとか)
https://github.com/hashicorp/consul-template
具体的な奴
> Solrのクラスタを組みたい
> 前段のLBはNginxにした
> バックエンドのSolrスレーブは

横にスケールさせたい……
> ポチポチと追加する?
こう言うテンプレート
upstream solr_slaves {
{{range service "solr@pepabo-dc" "passing"}}
server {{.Address}}:{{.Port}};{{end}}
}
server {
listen 8983;
server_name _;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
location / {
proxy_pass http://solr_slaves;
}
}
こう言うテンプレート
upstream solr_slaves {
{{range service "solr@pepabo-dc" "passing"}}
server {{.Address}}:{{.Port}};{{end}}
}
server {
listen 8983;
server_name _;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
location / {
proxy_pass http://solr_slaves;
}
}
こうじゃ
$ /usr/local/bin/consul-template 
-consul 127.0.0.1:8500 
-template  

'/usr/local/consul-templates/nginx-solr.conf.ctmpl:
/etc/nginx/dynamic-conf.d/solr.conf:
systemctl reload nginx'
-log-level debug
……
長さは、厳しい……
こう言うのができる
upstream solr_slaves {
server 10.0.12.34:8983;
server 10.0.12.56:8983;
server 10.0.12.78:8983;
}
server {
listen 8983;
server_name _;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
location / {
proxy_pass http://solr_slaves;
}
}
通知する
> 変更したら通知して欲しい
> シェルとかでラッパーを噛ませば良し
良かったこと
> 動的にメンバを追加削除できる

(少なくともAPI的なキックポイント
がある)
> ヘルスチェックをしてくれる
> この2点の要件を難なく満たす

動的LBが、結構あっさりと作れるぞ?
厳しいなと思うこと
> Goのテンプレート記法慣れなすぎる
> ピンポイントでLBとかに使うのは

いいけど……、
> あんまり凝ると無限に

consul-templateの

デーモンができるのでは……
そして伝説へ……
Populus
populus
> Consul event definition DSL
(仮)
> Senatus Populusque Romanus

から取った
> 名作ゲームとは無関係です……
Consulと以下のことをします
> consul watch プロセスの立ち上げ
と監視
> master node に一台だけ立ち上げ
> イベントごとの処理を定義するDSL
> 通知、ファイル生成、コマンド発行
……ぐらいはする
具体的なDSL
中身
> specinfra で

リモートコマンド

を発行
> ぼくもspecinfra一派になりました
> open3でconsulプロセスを立ち上げて監視
> なるべくなるべく標準ライブラリ
> Threadやinstance_evalがいっぱいだ
課題
> まだ consul watch -type event しか対応
していない………………
> せっかくのConsulなのに単一のマスターノード
が必要。いいのかな……
> Consulなので、アクティブスタンバイ構成にするのは楽
ではある
> なんかロバスト感に不安はある……
> 枯れてない、どころか俺が作った
demo
https://cloud.githubusercontent.com/assets/91011/7214167/8127b948-
e5d9-11e4-9fe3-6be611cd47af.gif
TODOs
> とりあえず足りてない機能を……
> ファイルまだ生成できないし……
> checks, nodes ぐらいは

watchしたいし……
> あと、インストールが普通に考えて

大変なので omnibus にしたいな∼
→さっきできました!
絶賛開発中
> https://github.com/udzura/
populus
まとめ
Consulは

ただの「Nagiosの代替」
ではない
コードの力で
複雑なサービスディスカバリにも
対応できる
Consulが解決する課題は
多いが、
検証がまだまだ必要
Thanks
> @hiboma さん
> 彼のアドバイスが無ければここまで早く

導入が終わらなかったと思います……
PR
Consulを全力で使える仕事あります
> GMOペパボは

福岡/東京ともにエンジニアを

募集中です。
> アプリケーション/インフラ両方です!
> 詳細は:

http://pepabo.com/recruit/
career/
併せて読みたい
> OpenStack基盤との組み合わせて

オペレーションの破壊的な進化が実現できる
(かも)(まだ分かんないよ?)
注目の求人
minne 基盤エンジニア
ぼくらと
やっていきませんか
EOF

More Related Content

What's hot

Re: ご注文は自動化ですか?[2]
Re: ご注文は自動化ですか?[2]Re: ご注文は自動化ですか?[2]
Re: ご注文は自動化ですか?[2]Masahito Zembutsu
 
minneで学ぶクラウド脳
minneで学ぶクラウド脳minneで学ぶクラウド脳
minneで学ぶクラウド脳Uchio Kondo
 
今日から業務で使える17の運用系Linuxツール、そして円環の理
今日から業務で使える17の運用系Linuxツール、そして円環の理今日から業務で使える17の運用系Linuxツール、そして円環の理
今日から業務で使える17の運用系Linuxツール、そして円環の理Masahito Zembutsu
 
Chef の気まぐれ環境構築 〜季節の Capistrano を添えて〜 #jawsug
Chef の気まぐれ環境構築 〜季節の Capistrano を添えて〜 #jawsugChef の気まぐれ環境構築 〜季節の Capistrano を添えて〜 #jawsug
Chef の気まぐれ環境構築 〜季節の Capistrano を添えて〜 #jawsugTakeshi Komiya
 
ChefとPuppetの比較
ChefとPuppetの比較ChefとPuppetの比較
ChefとPuppetの比較Sugawara Genki
 
Ansible 入門 #01 (初心者向け)
Ansible 入門 #01 (初心者向け)Ansible 入門 #01 (初心者向け)
Ansible 入門 #01 (初心者向け)Taro Hirose
 
人間たちとsystemd
人間たちとsystemd人間たちとsystemd
人間たちとsystemdUchio Kondo
 
Perl 非同期プログラミング
Perl 非同期プログラミングPerl 非同期プログラミング
Perl 非同期プログラミングlestrrat
 
意識の低い自動化
意識の低い自動化意識の低い自動化
意識の低い自動化greenasparagus
 
Ansible ではじめるインフラのコード化入門
Ansible ではじめるインフラのコード化入門Ansible ではじめるインフラのコード化入門
Ansible ではじめるインフラのコード化入門Sho A
 
Task Spooler を試した
Task Spooler を試したTask Spooler を試した
Task Spooler を試したy-uti
 
JIT のコードを読んでみた
JIT のコードを読んでみたJIT のコードを読んでみた
JIT のコードを読んでみたy-uti
 
Itcamp長崎2012 capistrano
Itcamp長崎2012 capistranoItcamp長崎2012 capistrano
Itcamp長崎2012 capistranokumachang_LL
 
中国Firefox OS勉強会 3rd 組み込み屋さんから見たFirefox OS
中国Firefox OS勉強会 3rd 組み込み屋さんから見たFirefox OS中国Firefox OS勉強会 3rd 組み込み屋さんから見たFirefox OS
中国Firefox OS勉強会 3rd 組み込み屋さんから見たFirefox OSMasami Yabushita
 
UnrealEngineが5日間でasm.js化できたと聞いた俺たちは…
UnrealEngineが5日間でasm.js化できたと聞いた俺たちは…UnrealEngineが5日間でasm.js化できたと聞いた俺たちは…
UnrealEngineが5日間でasm.js化できたと聞いた俺たちは…Kei Nakazawa
 
initとプロセス再起動
initとプロセス再起動initとプロセス再起動
initとプロセス再起動Takashi Takizawa
 

What's hot (20)

Re: ご注文は自動化ですか?[2]
Re: ご注文は自動化ですか?[2]Re: ご注文は自動化ですか?[2]
Re: ご注文は自動化ですか?[2]
 
minneで学ぶクラウド脳
minneで学ぶクラウド脳minneで学ぶクラウド脳
minneで学ぶクラウド脳
 
今日から業務で使える17の運用系Linuxツール、そして円環の理
今日から業務で使える17の運用系Linuxツール、そして円環の理今日から業務で使える17の運用系Linuxツール、そして円環の理
今日から業務で使える17の運用系Linuxツール、そして円環の理
 
Chef の気まぐれ環境構築 〜季節の Capistrano を添えて〜 #jawsug
Chef の気まぐれ環境構築 〜季節の Capistrano を添えて〜 #jawsugChef の気まぐれ環境構築 〜季節の Capistrano を添えて〜 #jawsug
Chef の気まぐれ環境構築 〜季節の Capistrano を添えて〜 #jawsug
 
ChefとPuppetの比較
ChefとPuppetの比較ChefとPuppetの比較
ChefとPuppetの比較
 
Ansible 入門 #01 (初心者向け)
Ansible 入門 #01 (初心者向け)Ansible 入門 #01 (初心者向け)
Ansible 入門 #01 (初心者向け)
 
Puppet on AWS
Puppet on AWSPuppet on AWS
Puppet on AWS
 
人間たちとsystemd
人間たちとsystemd人間たちとsystemd
人間たちとsystemd
 
Puppetのススメ
PuppetのススメPuppetのススメ
Puppetのススメ
 
Em synchrony について
Em synchrony についてEm synchrony について
Em synchrony について
 
Perl 非同期プログラミング
Perl 非同期プログラミングPerl 非同期プログラミング
Perl 非同期プログラミング
 
意識の低い自動化
意識の低い自動化意識の低い自動化
意識の低い自動化
 
Griffon10 in groovy_fx
Griffon10 in groovy_fxGriffon10 in groovy_fx
Griffon10 in groovy_fx
 
Ansible ではじめるインフラのコード化入門
Ansible ではじめるインフラのコード化入門Ansible ではじめるインフラのコード化入門
Ansible ではじめるインフラのコード化入門
 
Task Spooler を試した
Task Spooler を試したTask Spooler を試した
Task Spooler を試した
 
JIT のコードを読んでみた
JIT のコードを読んでみたJIT のコードを読んでみた
JIT のコードを読んでみた
 
Itcamp長崎2012 capistrano
Itcamp長崎2012 capistranoItcamp長崎2012 capistrano
Itcamp長崎2012 capistrano
 
中国Firefox OS勉強会 3rd 組み込み屋さんから見たFirefox OS
中国Firefox OS勉強会 3rd 組み込み屋さんから見たFirefox OS中国Firefox OS勉強会 3rd 組み込み屋さんから見たFirefox OS
中国Firefox OS勉強会 3rd 組み込み屋さんから見たFirefox OS
 
UnrealEngineが5日間でasm.js化できたと聞いた俺たちは…
UnrealEngineが5日間でasm.js化できたと聞いた俺たちは…UnrealEngineが5日間でasm.js化できたと聞いた俺たちは…
UnrealEngineが5日間でasm.js化できたと聞いた俺たちは…
 
initとプロセス再起動
initとプロセス再起動initとプロセス再起動
initとプロセス再起動
 

Similar to Consul は 全自動オーケストレーションの 夢を見るか?

Mautic Meetup Tokyo #3 データベース不要CMS:Gravの紹介
Mautic Meetup Tokyo #3 データベース不要CMS:Gravの紹介Mautic Meetup Tokyo #3 データベース不要CMS:Gravの紹介
Mautic Meetup Tokyo #3 データベース不要CMS:Gravの紹介Kohei Nishikawa
 
How to manage Cakephp @CakePHP_Fukuoka_2
How to manage Cakephp @CakePHP_Fukuoka_2 How to manage Cakephp @CakePHP_Fukuoka_2
How to manage Cakephp @CakePHP_Fukuoka_2 ichikaway
 
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力ThinReports
 
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform拓将 平林
 
3分でサーバオペレーションコマンドを作る技術
3分でサーバオペレーションコマンドを作る技術3分でサーバオペレーションコマンドを作る技術
3分でサーバオペレーションコマンドを作る技術Kei IWASAKI
 
ご注文は監視自動化ですか?
ご注文は監視自動化ですか?ご注文は監視自動化ですか?
ご注文は監視自動化ですか?Masahito Zembutsu
 
WTM53 phpフレームワーク いまさらcodeigniter
WTM53 phpフレームワーク いまさらcodeigniterWTM53 phpフレームワーク いまさらcodeigniter
WTM53 phpフレームワーク いまさらcodeigniterMasanori Oobayashi
 
hubotで快適BOT生活
hubotで快適BOT生活 hubotで快適BOT生活
hubotで快適BOT生活 Kazufumi Otani
 
サービスリリースから安定軌道に乗せるまでに行った開発施策
サービスリリースから安定軌道に乗せるまでに行った開発施策サービスリリースから安定軌道に乗せるまでに行った開発施策
サービスリリースから安定軌道に乗せるまでに行った開発施策Keiichi Hagiwara
 
キャバァーン! サツバツエアアイオー弐〇壱弐
キャバァーン! サツバツエアアイオー弐〇壱弐キャバァーン! サツバツエアアイオー弐〇壱弐
キャバァーン! サツバツエアアイオー弐〇壱弐Kei Nakazawa
 
OpenWhisk - Docker action で MeCab を動かす
OpenWhisk - Docker action で MeCab を動かすOpenWhisk - Docker action で MeCab を動かす
OpenWhisk - Docker action で MeCab を動かすKUNITO Atsunori
 
(続) はじめてのCloud Foundry
(続) はじめてのCloud Foundry(続) はじめてのCloud Foundry
(続) はじめてのCloud FoundryTomohiro Ichimura
 
JS非同期処理のいま
JS非同期処理のいまJS非同期処理のいま
JS非同期処理のいまMasakazu Muraoka
 
FuelPHP活用事例
FuelPHP活用事例FuelPHP活用事例
FuelPHP活用事例Yusuke Naka
 
あなたの安心を高速に守る Container-based CI
あなたの安心を高速に守る Container-based CIあなたの安心を高速に守る Container-based CI
あなたの安心を高速に守る Container-based CIWataru MIYAGUNI
 
PHPの今とこれから2020
PHPの今とこれから2020PHPの今とこれから2020
PHPの今とこれから2020Rui Hirokawa
 
request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい!
request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい! request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい!
request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい! Masato Noguchi
 
Async flow controll basic and practice
Async flow controll basic and practiceAsync flow controll basic and practice
Async flow controll basic and practiceMasakazu Muraoka
 

Similar to Consul は 全自動オーケストレーションの 夢を見るか? (20)

Mautic Meetup Tokyo #3 データベース不要CMS:Gravの紹介
Mautic Meetup Tokyo #3 データベース不要CMS:Gravの紹介Mautic Meetup Tokyo #3 データベース不要CMS:Gravの紹介
Mautic Meetup Tokyo #3 データベース不要CMS:Gravの紹介
 
How to manage Cakephp @CakePHP_Fukuoka_2
How to manage Cakephp @CakePHP_Fukuoka_2 How to manage Cakephp @CakePHP_Fukuoka_2
How to manage Cakephp @CakePHP_Fukuoka_2
 
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
 
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
 
3分でサーバオペレーションコマンドを作る技術
3分でサーバオペレーションコマンドを作る技術3分でサーバオペレーションコマンドを作る技術
3分でサーバオペレーションコマンドを作る技術
 
[Japan Tech summit 2017] DEP 005
[Japan Tech summit 2017] DEP 005[Japan Tech summit 2017] DEP 005
[Japan Tech summit 2017] DEP 005
 
ご注文は監視自動化ですか?
ご注文は監視自動化ですか?ご注文は監視自動化ですか?
ご注文は監視自動化ですか?
 
WTM53 phpフレームワーク いまさらcodeigniter
WTM53 phpフレームワーク いまさらcodeigniterWTM53 phpフレームワーク いまさらcodeigniter
WTM53 phpフレームワーク いまさらcodeigniter
 
hubotで快適BOT生活
hubotで快適BOT生活 hubotで快適BOT生活
hubotで快適BOT生活
 
サービスリリースから安定軌道に乗せるまでに行った開発施策
サービスリリースから安定軌道に乗せるまでに行った開発施策サービスリリースから安定軌道に乗せるまでに行った開発施策
サービスリリースから安定軌道に乗せるまでに行った開発施策
 
キャバァーン! サツバツエアアイオー弐〇壱弐
キャバァーン! サツバツエアアイオー弐〇壱弐キャバァーン! サツバツエアアイオー弐〇壱弐
キャバァーン! サツバツエアアイオー弐〇壱弐
 
Windows Azure PHP Tips
Windows Azure PHP Tips Windows Azure PHP Tips
Windows Azure PHP Tips
 
OpenWhisk - Docker action で MeCab を動かす
OpenWhisk - Docker action で MeCab を動かすOpenWhisk - Docker action で MeCab を動かす
OpenWhisk - Docker action で MeCab を動かす
 
(続) はじめてのCloud Foundry
(続) はじめてのCloud Foundry(続) はじめてのCloud Foundry
(続) はじめてのCloud Foundry
 
JS非同期処理のいま
JS非同期処理のいまJS非同期処理のいま
JS非同期処理のいま
 
FuelPHP活用事例
FuelPHP活用事例FuelPHP活用事例
FuelPHP活用事例
 
あなたの安心を高速に守る Container-based CI
あなたの安心を高速に守る Container-based CIあなたの安心を高速に守る Container-based CI
あなたの安心を高速に守る Container-based CI
 
PHPの今とこれから2020
PHPの今とこれから2020PHPの今とこれから2020
PHPの今とこれから2020
 
request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい!
request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい! request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい!
request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい!
 
Async flow controll basic and practice
Async flow controll basic and practiceAsync flow controll basic and practice
Async flow controll basic and practice
 

More from Uchio Kondo

ペパボのサービスとRuby
ペパボのサービスとRubyペパボのサービスとRuby
ペパボのサービスとRubyUchio Kondo
 
Puppet of-2015-forupload
Puppet of-2015-foruploadPuppet of-2015-forupload
Puppet of-2015-foruploadUchio Kondo
 
Hashicorpツールズ
HashicorpツールズHashicorpツールズ
HashicorpツールズUchio Kondo
 
Drone.io のご紹介
Drone.io のご紹介Drone.io のご紹介
Drone.io のご紹介Uchio Kondo
 
ペパボ福岡支社におけるRubyの活用事例
ペパボ福岡支社におけるRubyの活用事例ペパボ福岡支社におけるRubyの活用事例
ペパボ福岡支社におけるRubyの活用事例Uchio Kondo
 
Testing in Sinatra
Testing in SinatraTesting in Sinatra
Testing in SinatraUchio Kondo
 
Rubyist started to learn Groovy - things important to leran new LL
Rubyist started to learn Groovy - things important to leran new LLRubyist started to learn Groovy - things important to leran new LL
Rubyist started to learn Groovy - things important to leran new LLUchio Kondo
 
otomodachi-kakumei
otomodachi-kakumeiotomodachi-kakumei
otomodachi-kakumeiUchio Kondo
 

More from Uchio Kondo (9)

ペパボのサービスとRuby
ペパボのサービスとRubyペパボのサービスとRuby
ペパボのサービスとRuby
 
Puppet of-2015-forupload
Puppet of-2015-foruploadPuppet of-2015-forupload
Puppet of-2015-forupload
 
Hashicorpツールズ
HashicorpツールズHashicorpツールズ
Hashicorpツールズ
 
Drone.io のご紹介
Drone.io のご紹介Drone.io のご紹介
Drone.io のご紹介
 
ペパボ福岡支社におけるRubyの活用事例
ペパボ福岡支社におけるRubyの活用事例ペパボ福岡支社におけるRubyの活用事例
ペパボ福岡支社におけるRubyの活用事例
 
Testing in Sinatra
Testing in SinatraTesting in Sinatra
Testing in Sinatra
 
Start-padrino
Start-padrinoStart-padrino
Start-padrino
 
Rubyist started to learn Groovy - things important to leran new LL
Rubyist started to learn Groovy - things important to leran new LLRubyist started to learn Groovy - things important to leran new LL
Rubyist started to learn Groovy - things important to leran new LL
 
otomodachi-kakumei
otomodachi-kakumeiotomodachi-kakumei
otomodachi-kakumei
 

Recently uploaded

新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdffurutsuka
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 

Recently uploaded (9)

新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 

Consul は 全自動オーケストレーションの 夢を見るか?