Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Sugawara Genki
7,758 views
20140930 anything as_code
20140930 anything as_code
Technology
◦
Read more
8
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 54
2
/ 54
3
/ 54
4
/ 54
5
/ 54
6
/ 54
7
/ 54
8
/ 54
9
/ 54
10
/ 54
11
/ 54
12
/ 54
13
/ 54
14
/ 54
15
/ 54
16
/ 54
17
/ 54
18
/ 54
19
/ 54
20
/ 54
21
/ 54
22
/ 54
23
/ 54
24
/ 54
25
/ 54
26
/ 54
27
/ 54
28
/ 54
29
/ 54
30
/ 54
31
/ 54
32
/ 54
33
/ 54
34
/ 54
35
/ 54
36
/ 54
37
/ 54
38
/ 54
39
/ 54
40
/ 54
41
/ 54
42
/ 54
43
/ 54
44
/ 54
45
/ 54
46
/ 54
47
/ 54
48
/ 54
49
/ 54
50
/ 54
51
/ 54
52
/ 54
53
/ 54
54
/ 54
More Related Content
PDF
DynamoDBのまえにキャッシュおく奴
by
Sugawara Genki
PDF
Lambdaによるクラウド型言語の実装
by
Sugawara Genki
PDF
SQLによるDynamoDBの操作
by
Sugawara Genki
PDF
AWSをコードで定義する
by
Sugawara Genki
PDF
200k/sec
by
Sugawara Genki
PDF
serverless framework + AWS Lambda with Python
by
masahitojp
PDF
AWS Lambdaで作るクローラー/スクレイピング
by
Takuro Sasaki
PDF
Kubernetes helm & helmc
by
Aya Ozawa (Igarashi)
DynamoDBのまえにキャッシュおく奴
by
Sugawara Genki
Lambdaによるクラウド型言語の実装
by
Sugawara Genki
SQLによるDynamoDBの操作
by
Sugawara Genki
AWSをコードで定義する
by
Sugawara Genki
200k/sec
by
Sugawara Genki
serverless framework + AWS Lambda with Python
by
masahitojp
AWS Lambdaで作るクローラー/スクレイピング
by
Takuro Sasaki
Kubernetes helm & helmc
by
Aya Ozawa (Igarashi)
What's hot
PPTX
20161208 Classmethod Codenize Tools
by
Kazuki Ueki
PPTX
Aws docker-rails-demo slideshare
by
Kanno Yusuke
PDF
もうちょっと早く知りたかった kubectl
by
Hiroki Sakonju
PPTX
サーバーレスアプリケーションの作り方
by
Yoichi Toyota
PDF
Active job meets kubernetes
by
Yasutomo Uemori
PDF
Ruby/Rails Benchmarking and Profiling with TDD
by
Yasutomo Uemori
PDF
Lambdaのscheduled eventで実現する運用視点のサーバレスパターン
by
Jin k
PDF
Serverless frameworkでお手軽lambda運用 at #nseg #93
by
ko ty
PPTX
Containerで変わるDevOps
by
shokiri
PPTX
はじめての datadog
by
Naoya Nakazawa
PPTX
Serverless frameworkを使ってみた話 at #nseg #90
by
ko ty
PDF
画像処理をAWS LambdaのPythonで!
by
Tomotsune Murata
PDF
ドカドカDocker on aws
by
Yuuki Kuroda
PPTX
プロパティディスクリプタとその拡張ライブラリ
by
Yusuke Muraoka
PPTX
はじめてのAWS Lambda
by
Masaki Misawa
PDF
Spark Streaming on AWS -S3からKinesisへ-
by
chibochibo
KEY
CMS for Cloud by Ruby
by
Masaki Komagata
PDF
Spark in small or middle scale data processing with Elasticsearch
by
chibochibo
PDF
Webサーバの性能測定
by
Ryo Maruyama
PDF
AWS Lambda を使ってみた話 at づや会Vol.3
by
ko ty
20161208 Classmethod Codenize Tools
by
Kazuki Ueki
Aws docker-rails-demo slideshare
by
Kanno Yusuke
もうちょっと早く知りたかった kubectl
by
Hiroki Sakonju
サーバーレスアプリケーションの作り方
by
Yoichi Toyota
Active job meets kubernetes
by
Yasutomo Uemori
Ruby/Rails Benchmarking and Profiling with TDD
by
Yasutomo Uemori
Lambdaのscheduled eventで実現する運用視点のサーバレスパターン
by
Jin k
Serverless frameworkでお手軽lambda運用 at #nseg #93
by
ko ty
Containerで変わるDevOps
by
shokiri
はじめての datadog
by
Naoya Nakazawa
Serverless frameworkを使ってみた話 at #nseg #90
by
ko ty
画像処理をAWS LambdaのPythonで!
by
Tomotsune Murata
ドカドカDocker on aws
by
Yuuki Kuroda
プロパティディスクリプタとその拡張ライブラリ
by
Yusuke Muraoka
はじめてのAWS Lambda
by
Masaki Misawa
Spark Streaming on AWS -S3からKinesisへ-
by
chibochibo
CMS for Cloud by Ruby
by
Masaki Komagata
Spark in small or middle scale data processing with Elasticsearch
by
chibochibo
Webサーバの性能測定
by
Ryo Maruyama
AWS Lambda を使ってみた話 at づや会Vol.3
by
ko ty
Viewers also liked
PDF
Talk about Ansible and Infrastructure as Code
by
SATOSHI TAGOMORI
PDF
Infrastructure as code LT AWS + Ansibleのお悩み相談
by
Seiichiro Ishida
PDF
クックパッドの開発について
by
Sugawara Genki
KEY
20111012 jaws ug-tokyo勉強会-cookpad-on-aws
by
Sugawara Genki
PDF
Elixir Meetup #1 Loggerの構造と拡張
by
Sugawara Genki
PDF
Gitを使ったRoute53の管理
by
Sugawara Genki
PDF
EC2の天井を超える
by
Sugawara Genki
PPTX
2014 09-23 Mechanism of Gossip protocol
by
Sugawara Genki
PDF
ゴシッププロトコルによる冗長化と負荷分散の検証
by
Sugawara Genki
PDF
EC2でkeepalived+LVS(DSR)
by
Sugawara Genki
PDF
MHA on AWS+Rails
by
Sugawara Genki
PPTX
CloudWatch Logsについて
by
Sugawara Genki
PPTX
ナウなヤングにCloud Formationが流行ってほしい
by
Sugawara Genki
PDF
AWS運用監視ノウハウ CloudWatch 〜作ってからが本番です!〜
by
Terui Masashi
PDF
AnsibleによるInfrastructure as code入門
by
kk_Ataka
PPTX
DevOps Practices:Configuration as Code
by
Doug Seven
PDF
ChefとPuppetの比較
by
Sugawara Genki
PDF
Configuration As Code - Adoption of the Job DSL Plugin at Netflix
by
Justin Ryan
Talk about Ansible and Infrastructure as Code
by
SATOSHI TAGOMORI
Infrastructure as code LT AWS + Ansibleのお悩み相談
by
Seiichiro Ishida
クックパッドの開発について
by
Sugawara Genki
20111012 jaws ug-tokyo勉強会-cookpad-on-aws
by
Sugawara Genki
Elixir Meetup #1 Loggerの構造と拡張
by
Sugawara Genki
Gitを使ったRoute53の管理
by
Sugawara Genki
EC2の天井を超える
by
Sugawara Genki
2014 09-23 Mechanism of Gossip protocol
by
Sugawara Genki
ゴシッププロトコルによる冗長化と負荷分散の検証
by
Sugawara Genki
EC2でkeepalived+LVS(DSR)
by
Sugawara Genki
MHA on AWS+Rails
by
Sugawara Genki
CloudWatch Logsについて
by
Sugawara Genki
ナウなヤングにCloud Formationが流行ってほしい
by
Sugawara Genki
AWS運用監視ノウハウ CloudWatch 〜作ってからが本番です!〜
by
Terui Masashi
AnsibleによるInfrastructure as code入門
by
kk_Ataka
DevOps Practices:Configuration as Code
by
Doug Seven
ChefとPuppetの比較
by
Sugawara Genki
Configuration As Code - Adoption of the Job DSL Plugin at Netflix
by
Justin Ryan
Similar to 20140930 anything as_code
PDF
Google Cloud Platformでソーシャルゲームを1本出してみた!
by
Hasegawa Yusuke
PDF
Okinawa.rb 第2回勉強会
by
Naoki Takaesu
KEY
おすすめ gem
by
chocoby
PDF
最近作ったもの
by
onozaty
PDF
リソースモデリングパターンの提案 #sendagayarb
by
Toru Kawamura
PDF
MogileFS をバックエンドとしたPrivate S3の作り方 【後半】API 編
by
hiboma
KEY
Real world rails
by
Jun Yokoyama
PDF
Redmine 300 310_new_feature
by
Jun Naitoh
PPT
丸山先生レクチャーシリーズ2007-2008
by
Yoichiro Tanaka
PDF
全文検索でRedmineをさらに活用!
by
Kouhei Sutou
PPTX
作られては消えていく泡のように儚いクラスタの運用話
by
Tsuyoshi Torii
PDF
RoRとAWSで100,000Req/Minを処理する
by
aktsk
PDF
Ruby で扱う LDAP のススメ
by
Kazuaki Takase
PDF
RedmineとGitとスクラム
by
Takashi Okamoto
PDF
Sqale の Puppet と Chef (と テスト)
by
hiboma
PDF
"Continuous Publication" with Python: Another Approach
by
Daisuke Miyakawa
PPT
関西オープンソース 2008 30days Albumの裏側
by
Gosuke Miyashita
PPTX
[SAPPORO CEDEC] サービスの効果を高めるグリー内製ツールの技術と紹介
by
gree_tech
PDF
スキーマとURI
by
Fumihiro Kato
PDF
RubyとDSLと メタプログラミングと
by
xiidec
Google Cloud Platformでソーシャルゲームを1本出してみた!
by
Hasegawa Yusuke
Okinawa.rb 第2回勉強会
by
Naoki Takaesu
おすすめ gem
by
chocoby
最近作ったもの
by
onozaty
リソースモデリングパターンの提案 #sendagayarb
by
Toru Kawamura
MogileFS をバックエンドとしたPrivate S3の作り方 【後半】API 編
by
hiboma
Real world rails
by
Jun Yokoyama
Redmine 300 310_new_feature
by
Jun Naitoh
丸山先生レクチャーシリーズ2007-2008
by
Yoichiro Tanaka
全文検索でRedmineをさらに活用!
by
Kouhei Sutou
作られては消えていく泡のように儚いクラスタの運用話
by
Tsuyoshi Torii
RoRとAWSで100,000Req/Minを処理する
by
aktsk
Ruby で扱う LDAP のススメ
by
Kazuaki Takase
RedmineとGitとスクラム
by
Takashi Okamoto
Sqale の Puppet と Chef (と テスト)
by
hiboma
"Continuous Publication" with Python: Another Approach
by
Daisuke Miyakawa
関西オープンソース 2008 30days Albumの裏側
by
Gosuke Miyashita
[SAPPORO CEDEC] サービスの効果を高めるグリー内製ツールの技術と紹介
by
gree_tech
スキーマとURI
by
Fumihiro Kato
RubyとDSLと メタプログラミングと
by
xiidec
More from Sugawara Genki
PDF
Puppet on AWS
by
Sugawara Genki
PDF
クックパッドでのVPC移行について
by
Sugawara Genki
PPTX
AWS移行に向けたクックパッドの取り組み+α
by
Sugawara Genki
PDF
AWS移行に向けたクックパッドの取り組み
by
Sugawara Genki
KEY
クックパッドのLVSについて
by
Sugawara Genki
KEY
サーバー・クライアントの ボトルネック調査と高速化
by
Sugawara Genki
Puppet on AWS
by
Sugawara Genki
クックパッドでのVPC移行について
by
Sugawara Genki
AWS移行に向けたクックパッドの取り組み+α
by
Sugawara Genki
AWS移行に向けたクックパッドの取り組み
by
Sugawara Genki
クックパッドのLVSについて
by
Sugawara Genki
サーバー・クライアントの ボトルネック調査と高速化
by
Sugawara Genki
Recently uploaded
PDF
流行りに乗っかるClaris FileMaker 〜AI関連機能の紹介〜 by 合同会社イボルブ
by
Evolve LLC.
PDF
Machine Tests Benchmark Suite. Explain github.com/alexziskind1/machine_tests #1
by
Tasuku Takahashi
PPTX
楽々ナレッジベース「楽ナレ」3種比較 - Dify / AWS S3 Vector / Google File Search Tool
by
Kiyohide Yamaguchi
PDF
エンジニアが選ぶべきAIエディタ & Antigravity 活用例@ウェビナー「触ってみてどうだった?Google Antigravity 既存IDEと...
by
NorihiroSunada
PDF
Machine Tests Benchmark Suite. Explain github.com/alexziskind1/machine_tests #2
by
Tasuku Takahashi
PDF
20251210_MultiDevinForEnterprise on Devin 1st Anniv Meetup
by
Masaki Yamakawa
流行りに乗っかるClaris FileMaker 〜AI関連機能の紹介〜 by 合同会社イボルブ
by
Evolve LLC.
Machine Tests Benchmark Suite. Explain github.com/alexziskind1/machine_tests #1
by
Tasuku Takahashi
楽々ナレッジベース「楽ナレ」3種比較 - Dify / AWS S3 Vector / Google File Search Tool
by
Kiyohide Yamaguchi
エンジニアが選ぶべきAIエディタ & Antigravity 活用例@ウェビナー「触ってみてどうだった?Google Antigravity 既存IDEと...
by
NorihiroSunada
Machine Tests Benchmark Suite. Explain github.com/alexziskind1/machine_tests #2
by
Tasuku Takahashi
20251210_MultiDevinForEnterprise on Devin 1st Anniv Meetup
by
Masaki Yamakawa
20140930 anything as_code
1.
Anything(as(Code Genki&Sugawara
2.
お前誰よ • 弊社でインフラまわりやってます
• twi%er:)@sgwr_dts • github/bitbicket:)winebarrel
3.
アジェンダ • Roadworkerの話
• Ridgepoleの話 • Anything3as3Codeの話
4.
Roadworkerの話
5.
Roadworker • github.com/winebarrel/roadworker
• Route53の管理ツール • DSLでRoute53を定義する • 冪等性を保証 hosted_zone "winebarrel.jp." do rrset "winebarrel.jp.", "A" do ttl 300 resource_records( "127.0.0.1", "127.0.0.2" ) end
6.
Demo
7.
ワークフロー
8.
DSLを修正
9.
プルリク・レビュー
10.
マージ・適用
11.
Roadworker以前 • ときは2013年
• R53(Foxというツールを使っていました • github.com/cookpad/r53;fox
12.
以前のワークフロー 1. DNSの更新を宣言
2. R53*FoxでRoute53を変更 3. JSONにエクスポートしてgitで保存
13.
問題点 • 事前確認できない
• エクスポートを忘れると変更履歴が残らない • 元の状態を復元しにくい(できなくはない)
14.
オペミス発生 • MXを消してメールが届かない
• 誰がいつ更新したのかよく分からない…
15.
一方その頃… • puppetlabsのリポジトリをあさってい
ました • puppetlabs/puppetlabs+dns
16.
Puppet的に管理するのも ありかな?
17.
Puppet/Chef? • Chefもありました
• github.com/hw1cookbooks/route53 • どっちも文法が気に入らない • じゃあ作るか→できた
19.
知見 • 設定ファイル化するとGitで管理できる
• GitHubのワークフローに乗せられる • 管理が楽になる
20.
いろいろ作った
21.
Piculet • github.com/winebarrel/piculet
• セキュリティグループの管理ツール ec2 "vpc-XXXXXXXX" do security_group "default" do description "default VPC security group" ingress do permission :tcp, 22..22 do ip_ranges( "0.0.0.0/0", ) end
22.
Kelbim • github.com/winebarrel/kelbim
• ELBの管理ツール ec2 "vpc-XXXXXXXXX" do load_balancer "my-load-balancer", :internal => true do instances( "nyar", "yog" ) listeners do listener [:tcp, 80] => [:tcp, 80] listener [:https, 443] => [:http, 80] do
23.
Radiosonde • github.com/winebarrel/radiosonde
• CloudWatch7Alarmの管理ツール alarm "alarm1" do namespace "AWS/EC2" metric_name "CPUUtilization" dimensions "InstanceId"=>"i-XXXXXXXX" period 300 statistic :average threshold ">=", 50.0 evaluation_periods 1 actions_enabled true
24.
Meteorlog • github.com/winebarrel/meteorlog
• CloudWatch6Logsの管理ツール log_group "/var/log/messages" do log_stream "my-stream" metric_filter "MyAppAccessCount" do metric :name=>"EventCount", :namespace=>"YourNamespace", :value=>"1" end metric_filter "MyAppAccessCount2" do
25.
バカの一つ覚えなんですが Code化しておくと いろいろ捗るので…
26.
Ridgepoleの話
27.
Ridgepole • github.com/winebarrel/ridgepole
• DBスキーマの管理ツール • Rails9DSLでスキーマを定義する • 冪等性を保証 • dry9runできる • 弊社ブログでバズった create_table "articles", force: true do |t| t.string "title" t.text "text" t.datetime "created_at" t.datetime "updated_at" end
28.
Demo
29.
作成の経緯 • 別プロジェクトで死んでいた
• GW最終日「会社行きたくないでござる」 • 現実を忘れるためにコーディング • できた
30.
Rails&DSL • SQL::Translator→Perlメンテできない
• SQLのパース→絶対メンテできない • RailsのDSLならよいかな…
31.
DBまわりのワークフロー
32.
開発環境のデータをできるだけ本番に近づける techlife.cookpad.com/entry/2014/10/03/110806
33.
歴代のスキーマ管理ツール
34.
一代目 • Google'Spreadseat
• DDL・記入者・実施日 • DDLを記入して実行以来 • 「クエリを実行してください」「完了 しました」
35.
二代目 • Webツール
• 基本はスプレッドシートと同じ • DDL・作成者をポスト • ボタンを押すとステージングに反映 • 本番への適用はインフラ作業 • AWS移行のどさくさで消滅
36.
三代目 • GitHub(Enterprise
• mysqldump+Rakeタスク • ステージング環境からスキーマをエク スポート • テーブル定義の差分+ALTER文のDDLを プルリク • レビュー • マージ後、RakeタスクでDDLを適用
37.
三代目以前 • 主要DBのテーブルが増え続けていた
• いらないテーブルも多かった • スキーマの情報は$show create table • ステージングと本番には乖離があった
38.
三代目以後 • (一応)GitHubのワークフローには乗せられた
• DDLは手書き… • DDLのテストが微妙 • メタ情報を書きにくい • 本番とステージングで別ファイル定義
39.
なんかやだ
40.
Ridgepoleの導入 • できたので導入したかった"(現実逃避)
• Rails"DSLに置き換えただけだとメリットが少ない • 「DDLのCIやるか」
41.
DDL#CI
42.
知見 • スキーマ定義もGitで管理すると楽
• DDLのCI便利 • CloudForma1onはCIに使える
43.
Anything(as(Codeの話
44.
DSL管理のアイデア • Puppet・Chefのパクリ
• Puppet+GitHubによるインフラ管理がすごくよかった • なんでもGitHubで管理しよう
45.
仕組み 1. APIで現在の状態を取得→Hashにする
2. DSLの定義をパース→Hashにする 3. Hash化された定義を比較 4. 差分をAPIで実行(dry4runの場合はログ出力)
46.
技術的にたいしたことは やってません しかし…
47.
応用範囲が広い • AWS全般
• LDAP等アカウント管理 • インフラ定義 • サービス定義 • ほにゃらら定義…
48.
なにがなんでも!as!Code? 技術的な学びはすくない しかし、何でもコード化したくなる
モチベーションは 「無駄をなくしたい」 「労力!>!/dev/nul」の撲滅
49.
Nothing(as(Code • 開発者「DNS変更してください」
• インフラ「わかりました」 • 開発者「ポート空けてください」 • インフラ「分かりました」 • 開発者「スキーマ変更してください」 • インフラ「(ry」
50.
問題点 • 権限を適切に分離できない
• 全員に強力な権限を与えるのも問題 • 開発者:#めんどくさい • インフラ:#人間バッチ化・無駄なスリル
51.
Code化+GitHub • プルリクで手軽・明確に変更を依頼できる
• 明確な変更を適切にレビューできる • 自動化により本番適用時の心労が減る _人人人人人人人_ > 突然の幸せ < ‾Y^Y^Y^Y^Y^Y‾
52.
まとめ • 便利ツール作ったのでどうぞご利用ください
• DSL管理ツール作るのは簡単です • Anything,as,Codeで幸せになりましょう
53.
ところでZabbixの DSL管理ツール だれかつくりませんか(泣
54.
ご静聴ありがとうございました
Download