Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
My DevOps toolsets
Michael H. Oshita
May 21, 2019
Technology
1
1k
My DevOps toolsets
JAWS-UG Yokohama #16
May 21, 2019
Introduction to some of my DevOps toolsets
Michael H. Oshita
May 21, 2019
Tweet
Share
More Decks by Michael H. Oshita
See All by Michael H. Oshita
ijin
0
120
ijin
0
20
ijin
0
1.8k
ijin
0
1.7k
ijin
0
2.4k
ijin
0
2.3k
ijin
1
3.5k
ijin
0
3.3k
ijin
3
7k
Other Decks in Technology
See All in Technology
noir_neo
0
120
satotakeshi
2
410
cmwatanabeseigo
0
330
hecateball
1
12k
clustervr
0
200
kakka
0
3.3k
zaki134rp
1
180
tsuyo
0
180
vkbaba
0
110
hsano
0
120
shotakashihara
1
1.3k
shirayanagiryuji
1
400
Featured
See All Featured
smashingmag
229
18k
geeforr
332
29k
kneath
219
15k
maggiecrowley
8
400
trallard
13
640
eitanlees
111
9.9k
jensimmons
207
10k
dotmariusz
94
5.1k
tenderlove
52
3.4k
bryan
30
3.3k
destraynor
146
19k
ammeep
656
54k
Transcript
My DevOps toolsets @ijin May 21, 2019 JAWS-UG Yokohama #16
Michael H. Oshita (@ijin) • Cloud Engineer/ Architect • From
Japan/US • AWS community • Serverless community • https://ijin.github.io
AGENDA • Infrastructure as Code • Continuous Integration • Continuous
Testing • Process Automation
Infrastructure as Code
Terraform • Common - common infra like rds parameter groups,
IAM service roles, CircleCI users, etc. • Modules - modules based by service • Main - simply call modules
Terraform • Retreive variables from common state file • Use
terraform workspace for env (stg/prd) • Pass variables from module outputs
Terraform • Retreive variables from common state file or ssm
parameter store • Use terraform workspace for env (stg/prd) • Pass variables from module outputs
Terraform SSM parameter store Chamber - CLI to manage secrets
(https://github.com/segmentio/chamber)
Continuous Integration
CircleCI
CircleCI
.circleci/config.yml
.circleci/config.yml
ecspresso a deployment tool for Amazon ECS (https://github.com/kayac/ecspresso)
Continuous Integration
Continuous Integration
Continuous Integration
Continuous Testing Test environments per git branch!
On-Demand ECS environments
Branch A
Branch B
Branch C
Create env • Create target group • Create ALB listener
• Create ECS service • Deploy if necessary
Create env (reality) • Create target group • Create ALB
listener • Create ECS service…….wait • Deploy if necessary
Destroy env • Stop tasks • Delete service • Delete
listener • Delete target group
Destroy env (reality) • Stop tasks…wait…wait…. • Delete service…..wait •
Delete listener • Delete target group
Create env w/ step fns
Destroy env w/ step fns
Step Functions Serverless Step Functions plugin by @horike37 https://github.com/horike37/serverless-step-functions sls
plugin install -n serverless-step-functions
Step Functions JSON =( Not something a human should touch
Step Functions YAML =) Somewhat better… ..
On-Demand env!! • Devs Happy :D • Ops Happy :D
Why Serverless (Framework)? • Concurrency • Scalability • Less maintenance,
more coding • Easy deployments (w/ frameworks)
Process Automation Using chat bots to create release pull requests!
Create pull request
Pull request
Deploy!
ruboty-github_pr_release Sample on github: https://github.com/ijin/ruboty- github_pr_release
Thanks!