(ARC307) Infrastructure as Code
-
Upload
amazon-web-services -
Category
Technology
-
view
4.585 -
download
3
Transcript of (ARC307) Infrastructure as Code
http://arc307.stelligent.com © 2015, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
David Winter, AWS
Paul Duvall, CTO, Stelligent
Soofi Safavi, CTO, Radian
David Shurtliff, AWS
October 2015
Infrastructure as Code
Enabling Your Enterprise
ARC307
http://arc307.stelligent.com
Key Takeaways
How to code
infrastructureYou can code
everything
You can start this at
your Enterprise
http://arc307.stelligent.com
Build and Operate Infrastructure as Software
Application
Source code
Interpreter
Desired application state
Infrastructure
JSON
AWS Service API
Desired infrastructure state
http://arc307.stelligent.com
Build and Operate Infrastructure as Software
Application
Source code
Interpreter
Desired application state
Infrastructure
JSON
AWS Service API
Desired infrastructure state
http://arc307.stelligent.com
Build and Operate Infrastructure as Software
Application
Source code
Interpreter
Desired application state
Infrastructure
JSON
AWS Service API
Desired infrastructure state
http://arc307.stelligent.com
Build and Operate Infrastructure as Software
Application
Source code
Interpreter
Desired application state
Infrastructure
JSON
AWS Service API
Desired infrastructure state
http://arc307.stelligent.com
Infrastructure as Code:
Techniques, practices, and tools from software
development applied to creating reusable, maintainable,
extensible, and testable infrastructure.
http://arc307.stelligent.com
Reusable – Multiple Environments
Development
Production
Forensics Analysis
IaC Template
http://arc307.stelligent.com
Maintainable– Integrate in CI/CD Pipelines
App Developers
IaC Template
Story
App Source
Code
http://arc307.stelligent.com
Maintainable– Integrate in CI/CD Pipelines
App Developers
IaC Template
Story
AWS CodeCommit
Source Control
App Source
Code
http://arc307.stelligent.com
Maintainable– Integrate in CI/CD Pipelines
AWS
CloudFormation
App Developers
AWS CodePipeline
IaC Template
Story
AWS CodeCommit
Source Control
AWS CodeDeploy
App Source
Code
http://arc307.stelligent.com
Maintainable– Integrate in CI/CD Pipelines
AWS
CloudFormation
App Developers
AWS CodePipeline
Dev
Staging
Prod
IaC Template
Story
AWS CodeCommit
Source Control
AWS CodeDeploy
App Source
Code
http://arc307.stelligent.com
Maintainable– Integrate in CI/CD Pipelines
AWS
CloudFormation
App Developers
AWS CodePipeline
Dev
Staging
Prod
IaC Template
Story
AWS CodeCommit
Source Control
AWS CodeDeploy
App Source
Code
http://arc307.stelligent.com
Extensible – AWS Lambda Custom Resources
Cross-stack reference: VPC
Cross-stack reference:
Security Group
Cross-stack reference:
Subnet
Look up AMI ID
Utility function – e.g., string
reversal
IaC Template
http://arc307.stelligent.com
Extensible – AWS Lambda Custom Resources
Cross-stack reference: VPC
Cross-stack reference:
Security Group
Cross-stack reference:
Subnet
Look up AMI ID
Utility function – e.g., string
reversal
IaC Template
http://arc307.stelligent.com
Testable – Blue/Green Deployments
AWS CodeDeployExampleApp V1
ExampleApp V2
IaC Template
http://arc307.stelligent.com
Testable – Blue/Green Deployments
AWS CodeDeployExampleApp V1
ExampleApp V2
IaC Template
http://arc307.stelligent.com
Live Demo
http://arc307.stelligent.com
https://github.com/stelligent/dromedary/
http://arc307.stelligent.com
https://github.com/stelligent/dromedary
http://arc307.stelligent.com
Dromedary Architecture and Code
pipeline.json
dromedary_spec.rb
nginx_spec.rb
nodejs_spec.rb
install_dromedary.rb
code_deploy.rbapp-instance.json
jenkins-
instance.json
jobdsl.groovy
https://github.com/stelligent/dromedary
http://arc307.stelligent.com
Other Infrastructure as Code Approaches
https://github.com/stelligent/dromedary
http://arc307.stelligent.com
Other Infrastructure as Code Approaches
https://github.com/stelligent/dromedary
http://arc307.stelligent.com
Other Infrastructure as Code Approaches
https://github.com/stelligent/dromedary
http://arc307.stelligent.com
Other Infrastructure as Code Approaches
https://github.com/stelligent/dromedary
http://arc307.stelligent.com
From Concept to Production: A 6-part Heuristic
Document Test Code
Version Continuous Monitor
https://github.com/stelligent/dromedary
http://arc307.stelligent.com
Blue/Green Deployments with Dromedary
v 1.1 v 1.2
https://github.com/stelligent/dromedary
http://arc307.stelligent.com
Customer Success Story - Intro
Customer Success Story
• Radian
• Loan Data Repository
• Partnering with Stelligent
• Moving Radian to IaC in less than 1 year
http://arc307.stelligent.com
Who Is Radian?● Promote and preserve the tradition of homeownership while
protecting lenders from default-related losses on residential first
mortgages
● Facilitate the sale of low-downpayment mortgages in the
secondary market
● Help clients and investors expertly and prudently manage risk in
any market condition
http://arc307.stelligent.com
What Can You Do Now?
• Go attend more sessions about infrastructure as code
• Talk to AWS partners and your AWS team about IaC
• Look at the tools and services AWS tech partners offer
http://arc307.stelligent.com
What Can You Do Later?
• Build an AWS CloudFormation template
• Write shell script using the AWS CLI
• Start committing automated tests and code
• Start small and build up your complexity of code and
workflow
http://arc307.stelligent.com
Coleman Rule #17
“The only people that are not making mistakes, are those
that are not doing anything.”
https://www.kcoleman.me/coleman-laws/