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
serverless framework + AWS Lambda with Python
by
masahitojp
PDF
AWS Lambdaで作るクローラー/スクレイピング
by
Takuro Sasaki
PDF
DynamoDBのまえにキャッシュおく奴
by
Sugawara Genki
PDF
AWSをコードで定義する
by
Sugawara Genki
PDF
Lambdaによるクラウド型言語の実装
by
Sugawara Genki
PDF
SQLによるDynamoDBの操作
by
Sugawara Genki
PDF
200k/sec
by
Sugawara Genki
PDF
Kubernetes helm & helmc
by
Aya Ozawa (Igarashi)
serverless framework + AWS Lambda with Python
by
masahitojp
AWS Lambdaで作るクローラー/スクレイピング
by
Takuro Sasaki
DynamoDBのまえにキャッシュおく奴
by
Sugawara Genki
AWSをコードで定義する
by
Sugawara Genki
Lambdaによるクラウド型言語の実装
by
Sugawara Genki
SQLによるDynamoDBの操作
by
Sugawara Genki
200k/sec
by
Sugawara Genki
Kubernetes helm & helmc
by
Aya Ozawa (Igarashi)
What's hot
PPTX
はじめての datadog
by
Naoya Nakazawa
PDF
画像処理をAWS LambdaのPythonで!
by
Tomotsune Murata
PPTX
はじめてのAWS Lambda
by
Masaki Misawa
PDF
Active job meets kubernetes
by
Yasutomo Uemori
PDF
Ruby/Rails Benchmarking and Profiling with TDD
by
Yasutomo Uemori
PDF
もうちょっと早く知りたかった kubectl
by
Hiroki Sakonju
PPTX
20161208 Classmethod Codenize Tools
by
Kazuki Ueki
KEY
CMS for Cloud by Ruby
by
Masaki Komagata
PPTX
Aws docker-rails-demo slideshare
by
Kanno Yusuke
PPTX
サーバーレスアプリケーションの作り方
by
Yoichi Toyota
PPTX
プロパティディスクリプタとその拡張ライブラリ
by
Yusuke Muraoka
PDF
Webサーバの性能測定
by
Ryo Maruyama
PDF
ドカドカDocker on aws
by
Yuuki Kuroda
PPTX
Serverless frameworkを使ってみた話 at #nseg #90
by
ko ty
PDF
Spark Streaming on AWS -S3からKinesisへ-
by
chibochibo
PDF
Spark in small or middle scale data processing with Elasticsearch
by
chibochibo
PDF
Lambdaのscheduled eventで実現する運用視点のサーバレスパターン
by
Jin k
PDF
Serverless frameworkでお手軽lambda運用 at #nseg #93
by
ko ty
PPTX
Containerで変わるDevOps
by
shokiri
PDF
AWS Lambda を使ってみた話 at づや会Vol.3
by
ko ty
はじめての datadog
by
Naoya Nakazawa
画像処理をAWS LambdaのPythonで!
by
Tomotsune Murata
はじめてのAWS Lambda
by
Masaki Misawa
Active job meets kubernetes
by
Yasutomo Uemori
Ruby/Rails Benchmarking and Profiling with TDD
by
Yasutomo Uemori
もうちょっと早く知りたかった kubectl
by
Hiroki Sakonju
20161208 Classmethod Codenize Tools
by
Kazuki Ueki
CMS for Cloud by Ruby
by
Masaki Komagata
Aws docker-rails-demo slideshare
by
Kanno Yusuke
サーバーレスアプリケーションの作り方
by
Yoichi Toyota
プロパティディスクリプタとその拡張ライブラリ
by
Yusuke Muraoka
Webサーバの性能測定
by
Ryo Maruyama
ドカドカDocker on aws
by
Yuuki Kuroda
Serverless frameworkを使ってみた話 at #nseg #90
by
ko ty
Spark Streaming on AWS -S3からKinesisへ-
by
chibochibo
Spark in small or middle scale data processing with Elasticsearch
by
chibochibo
Lambdaのscheduled eventで実現する運用視点のサーバレスパターン
by
Jin k
Serverless frameworkでお手軽lambda運用 at #nseg #93
by
ko ty
Containerで変わるDevOps
by
shokiri
AWS Lambda を使ってみた話 at づや会Vol.3
by
ko ty
Viewers also liked
PDF
ChefとPuppetの比較
by
Sugawara Genki
PDF
MHA on AWS+Rails
by
Sugawara Genki
PDF
Configuration As Code - Adoption of the Job DSL Plugin at Netflix
by
Justin Ryan
PDF
Gitを使ったRoute53の管理
by
Sugawara Genki
PPTX
CloudWatch Logsについて
by
Sugawara Genki
PDF
ゴシッププロトコルによる冗長化と負荷分散の検証
by
Sugawara Genki
PDF
EC2の天井を超える
by
Sugawara Genki
PDF
Infrastructure as code LT AWS + Ansibleのお悩み相談
by
Seiichiro Ishida
PDF
AWS運用監視ノウハウ CloudWatch 〜作ってからが本番です!〜
by
Terui Masashi
PDF
AnsibleによるInfrastructure as code入門
by
kk_Ataka
PDF
EC2でkeepalived+LVS(DSR)
by
Sugawara Genki
PPTX
DevOps Practices:Configuration as Code
by
Doug Seven
PDF
Elixir Meetup #1 Loggerの構造と拡張
by
Sugawara Genki
PPTX
ナウなヤングにCloud Formationが流行ってほしい
by
Sugawara Genki
PPTX
2014 09-23 Mechanism of Gossip protocol
by
Sugawara Genki
PDF
Talk about Ansible and Infrastructure as Code
by
SATOSHI TAGOMORI
PDF
クックパッドの開発について
by
Sugawara Genki
KEY
20111012 jaws ug-tokyo勉強会-cookpad-on-aws
by
Sugawara Genki
ChefとPuppetの比較
by
Sugawara Genki
MHA on AWS+Rails
by
Sugawara Genki
Configuration As Code - Adoption of the Job DSL Plugin at Netflix
by
Justin Ryan
Gitを使ったRoute53の管理
by
Sugawara Genki
CloudWatch Logsについて
by
Sugawara Genki
ゴシッププロトコルによる冗長化と負荷分散の検証
by
Sugawara Genki
EC2の天井を超える
by
Sugawara Genki
Infrastructure as code LT AWS + Ansibleのお悩み相談
by
Seiichiro Ishida
AWS運用監視ノウハウ CloudWatch 〜作ってからが本番です!〜
by
Terui Masashi
AnsibleによるInfrastructure as code入門
by
kk_Ataka
EC2でkeepalived+LVS(DSR)
by
Sugawara Genki
DevOps Practices:Configuration as Code
by
Doug Seven
Elixir Meetup #1 Loggerの構造と拡張
by
Sugawara Genki
ナウなヤングにCloud Formationが流行ってほしい
by
Sugawara Genki
2014 09-23 Mechanism of Gossip protocol
by
Sugawara Genki
Talk about Ansible and Infrastructure as Code
by
SATOSHI TAGOMORI
クックパッドの開発について
by
Sugawara Genki
20111012 jaws ug-tokyo勉強会-cookpad-on-aws
by
Sugawara Genki
Similar to 20140930 anything as_code
PPTX
[SAPPORO CEDEC] サービスの効果を高めるグリー内製ツールの技術と紹介
by
gree_tech
PDF
RoRとAWSで100,000Req/Minを処理する
by
aktsk
PDF
Ruby で扱う LDAP のススメ
by
Kazuaki Takase
PDF
MogileFS をバックエンドとしたPrivate S3の作り方 【後半】API 編
by
hiboma
PDF
Google Cloud Platformでソーシャルゲームを1本出してみた!
by
Hasegawa Yusuke
PDF
RedmineとGitとスクラム
by
Takashi Okamoto
PDF
スキーマとURI
by
Fumihiro Kato
PDF
RubyとDSLと メタプログラミングと
by
xiidec
PDF
Redmine 300 310_new_feature
by
Jun Naitoh
PDF
全文検索でRedmineをさらに活用!
by
Kouhei Sutou
PDF
Sqale の Puppet と Chef (と テスト)
by
hiboma
PDF
"Continuous Publication" with Python: Another Approach
by
Daisuke Miyakawa
PPT
関西オープンソース 2008 30days Albumの裏側
by
Gosuke Miyashita
KEY
おすすめ gem
by
chocoby
PDF
最近作ったもの
by
onozaty
PPTX
作られては消えていく泡のように儚いクラスタの運用話
by
Tsuyoshi Torii
KEY
Real world rails
by
Jun Yokoyama
PPT
丸山先生レクチャーシリーズ2007-2008
by
Yoichiro Tanaka
PDF
Okinawa.rb 第2回勉強会
by
Naoki Takaesu
PDF
リソースモデリングパターンの提案 #sendagayarb
by
Toru Kawamura
[SAPPORO CEDEC] サービスの効果を高めるグリー内製ツールの技術と紹介
by
gree_tech
RoRとAWSで100,000Req/Minを処理する
by
aktsk
Ruby で扱う LDAP のススメ
by
Kazuaki Takase
MogileFS をバックエンドとしたPrivate S3の作り方 【後半】API 編
by
hiboma
Google Cloud Platformでソーシャルゲームを1本出してみた!
by
Hasegawa Yusuke
RedmineとGitとスクラム
by
Takashi Okamoto
スキーマとURI
by
Fumihiro Kato
RubyとDSLと メタプログラミングと
by
xiidec
Redmine 300 310_new_feature
by
Jun Naitoh
全文検索でRedmineをさらに活用!
by
Kouhei Sutou
Sqale の Puppet と Chef (と テスト)
by
hiboma
"Continuous Publication" with Python: Another Approach
by
Daisuke Miyakawa
関西オープンソース 2008 30days Albumの裏側
by
Gosuke Miyashita
おすすめ gem
by
chocoby
最近作ったもの
by
onozaty
作られては消えていく泡のように儚いクラスタの運用話
by
Tsuyoshi Torii
Real world rails
by
Jun Yokoyama
丸山先生レクチャーシリーズ2007-2008
by
Yoichiro Tanaka
Okinawa.rb 第2回勉強会
by
Naoki Takaesu
リソースモデリングパターンの提案 #sendagayarb
by
Toru Kawamura
More from Sugawara Genki
PDF
AWS移行に向けたクックパッドの取り組み
by
Sugawara Genki
PDF
クックパッドでのVPC移行について
by
Sugawara Genki
KEY
クックパッドのLVSについて
by
Sugawara Genki
KEY
サーバー・クライアントの ボトルネック調査と高速化
by
Sugawara Genki
PDF
Puppet on AWS
by
Sugawara Genki
PPTX
AWS移行に向けたクックパッドの取り組み+α
by
Sugawara Genki
AWS移行に向けたクックパッドの取り組み
by
Sugawara Genki
クックパッドでのVPC移行について
by
Sugawara Genki
クックパッドのLVSについて
by
Sugawara Genki
サーバー・クライアントの ボトルネック調査と高速化
by
Sugawara Genki
Puppet on AWS
by
Sugawara Genki
AWS移行に向けたクックパッドの取り組み+α
by
Sugawara Genki
Recently uploaded
PDF
エンジニアが選ぶべきAIエディタ & Antigravity 活用例@ウェビナー「触ってみてどうだった?Google Antigravity 既存IDEと...
by
NorihiroSunada
PPTX
楽々ナレッジベース「楽ナレ」3種比較 - Dify / AWS S3 Vector / Google File Search Tool
by
Kiyohide Yamaguchi
PDF
20251210_MultiDevinForEnterprise on Devin 1st Anniv Meetup
by
Masaki Yamakawa
PDF
流行りに乗っかるClaris FileMaker 〜AI関連機能の紹介〜 by 合同会社イボルブ
by
Evolve LLC.
PDF
Machine Tests Benchmark Suite. Explain github.com/alexziskind1/machine_tests #2
by
Tasuku Takahashi
PDF
Machine Tests Benchmark Suite. Explain github.com/alexziskind1/machine_tests #1
by
Tasuku Takahashi
エンジニアが選ぶべきAIエディタ & Antigravity 活用例@ウェビナー「触ってみてどうだった?Google Antigravity 既存IDEと...
by
NorihiroSunada
楽々ナレッジベース「楽ナレ」3種比較 - Dify / AWS S3 Vector / Google File Search Tool
by
Kiyohide Yamaguchi
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 #2
by
Tasuku Takahashi
Machine Tests Benchmark Suite. Explain github.com/alexziskind1/machine_tests #1
by
Tasuku Takahashi
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