Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

(ARC307) Infrastructure as Code

7,606 views

Published on

While many organizations have started to automate their software develop processes, many still engineer their infrastructure largely by hand. Treating your infrastructure just like any other piece of code creates a “programmable infrastructure” that allows you to take full advantage of the scalability and reliability of the AWS cloud. This session will walk through practical examples of how AWS customers have merged infrastructure configuration with application code to create application-specific infrastructure and a truly unified development lifecycle. You will learn how AWS customers have leveraged tools like CloudFormation, orchestration engines, and source control systems to enable their applications to take full advantage of the scalability and reliability of the AWS cloud, create self-reliant applications, and easily recover when things go seriously wrong with their infrastructure.

Published in: Technology

(ARC307) Infrastructure as Code

  1. 1. 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
  2. 2. http://arc307.stelligent.com
  3. 3. http://arc307.stelligent.com Why is this important to you? Structure Speed Health Security
  4. 4. http://arc307.stelligent.com Key Takeaways How to code infrastructure You can code everything You can start this at your Enterprise
  5. 5. 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
  6. 6. 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
  7. 7. 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
  8. 8. 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
  9. 9. http://arc307.stelligent.com Infrastructure as Code: Techniques, practices, and tools from software development applied to creating reusable, maintainable, extensible, and testable infrastructure.
  10. 10. http://arc307.stelligent.com
  11. 11. http://arc307.stelligent.com Reusable – Multiple Environments Development IaC Template
  12. 12. http://arc307.stelligent.com Reusable – Multiple Environments Development Production IaC Template
  13. 13. http://arc307.stelligent.com Reusable – Multiple Environments Development Production Forensics Analysis IaC Template
  14. 14. http://arc307.stelligent.com Maintainable– Integrate in CI/CD Pipelines App Developers IaC Template Story App Source Code
  15. 15. http://arc307.stelligent.com Maintainable– Integrate in CI/CD Pipelines App Developers IaC Template Story AWS CodeCommit Source Control App Source Code
  16. 16. 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
  17. 17. 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
  18. 18. 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
  19. 19. http://arc307.stelligent.com Extensible – AWS Lambda Custom Resources IaC Template
  20. 20. http://arc307.stelligent.com Extensible – AWS Lambda Custom Resources IaC Template AWS Lambda
  21. 21. 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
  22. 22. 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
  23. 23. http://arc307.stelligent.com
  24. 24. http://arc307.stelligent.com Testable – Blue/Green Deployments ExampleApp V1 IaC Template
  25. 25. http://arc307.stelligent.com Testable – Blue/Green Deployments AWS CodeDeploy ExampleApp V1 ExampleApp V2 IaC Template
  26. 26. http://arc307.stelligent.com Testable – Blue/Green Deployments AWS CodeDeploy ExampleApp V1 ExampleApp V2 IaC Template
  27. 27. http://arc307.stelligent.com How Do I Get Started?
  28. 28. http://arc307.stelligent.com
  29. 29. http://arc307.stelligent.com One-Click Deployments AWS as a sole focus Focusing on Enterprises
  30. 30. http://arc307.stelligent.com Paul Duvall, Co-Founder, CTO paul.duvall@stelligent.com @paulduvall
  31. 31. http://arc307.stelligent.com Live Demo http://arc307.stelligent.com https://github.com/stelligent/dromedary/ http://arc307.stelligent.com https://github.com/stelligent/dromedary
  32. 32. http://arc307.stelligent.com Dromedary Architecture https://github.com/stelligent/dromedary
  33. 33. http://arc307.stelligent.com Dromedary Architecture https://github.com/stelligent/dromedary
  34. 34. http://arc307.stelligent.com Dromedary Architecture https://github.com/stelligent/dromedary
  35. 35. http://arc307.stelligent.com Dromedary Architecture https://github.com/stelligent/dromedary
  36. 36. http://arc307.stelligent.com Dromedary Architecture https://github.com/stelligent/dromedary
  37. 37. http://arc307.stelligent.com Dromedary Architecture https://github.com/stelligent/dromedary
  38. 38. http://arc307.stelligent.com Dromedary Architecture https://github.com/stelligent/dromedary
  39. 39. 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
  40. 40. http://arc307.stelligent.com Other Infrastructure as Code Approaches https://github.com/stelligent/dromedary
  41. 41. http://arc307.stelligent.com Other Infrastructure as Code Approaches https://github.com/stelligent/dromedary
  42. 42. http://arc307.stelligent.com Other Infrastructure as Code Approaches https://github.com/stelligent/dromedary
  43. 43. http://arc307.stelligent.com Other Infrastructure as Code Approaches https://github.com/stelligent/dromedary
  44. 44. http://arc307.stelligent.com From Concept to Production: A 6-part Heuristic Document Test Code Version Continuous Monitor https://github.com/stelligent/dromedary
  45. 45. http://arc307.stelligent.com Dromedary – Deployment Results https://github.com/stelligent/dromedary
  46. 46. http://arc307.stelligent.com Blue/Green Deployments with Dromedary v 1.1 v 1.2 https://github.com/stelligent/dromedary
  47. 47. 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
  48. 48. http://arc307.stelligent.com Radian LDR Architecture
  49. 49. http://arc307.stelligent.com Dromedary – SSL change https://github.com/stelligent/dromedary
  50. 50. 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
  51. 51. http://arc307.stelligent.com Why We Adopted Infrastructure as Code Quality Agility Efficiency
  52. 52. http://arc307.stelligent.com Benefits We Have Observed
  53. 53. http://arc307.stelligent.com 3 Dimensions of IaC Adoption Enterprises Need to Consider
  54. 54. http://arc307.stelligent.com Scope and Timing
  55. 55. http://arc307.stelligent.com Cultural Shift
  56. 56. http://arc307.stelligent.com Limitation of Enterprise Applications
  57. 57. http://arc307.stelligent.com Executive Advice
  58. 58. http://arc307.stelligent.com Consider your first launch
  59. 59. http://arc307.stelligent.com Don’t underestimate the impact of people
  60. 60. http://arc307.stelligent.com IaC-able?
  61. 61. http://arc307.stelligent.com Dromedary – SSL Deployment https://github.com/stelligent/dromedary
  62. 62. http://arc307.stelligent.com ARC307 Summary
  63. 63. 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
  64. 64. 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
  65. 65. 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/
  66. 66. http://arc307.stelligent.com Thank you! ARC307
  67. 67. http://arc307.stelligent.com Remember to complete your evaluations!

×