Successfully reported this slideshow.

AWS Webcast - Intro to DevOps: Using Amazon RDS with AWS OpsWorks

2,415 views

Published on

You can now use RDS with AWS OpsWorks, an application deployment and management service. OpsWorks allows you to incorporate DevOps practices to seamlessly deploy code and operate services. DevOps focuses on collaborating across development and operations facilitating continuous software delivery, shared code bases, and automated deploys, which results in faster delivery of features and more stable operating environments. OpsWorks automates deployments and standardizes production environments, a key aspect of DevOps. What this means for an RDS user is OpsWorks can scale your EC2 application servers according to demand and ensure it has the most current code base deployed. It can automatically configure and connect your new server to your RDS database. OpsWorks will ensure consistent provisioning of your resources with no manual configuring.

Published in: Technology

AWS Webcast - Intro to DevOps: Using Amazon RDS with AWS OpsWorks

  1. 1. © 2014 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified, or distributed in whole or in part without the express consent of Amazon.com, Inc. Intro to DevOps: Using AWS OpsWorks and Amazon RDS Chris Barclay Amazon Web Services
  2. 2. What is “DevOps”? • A philosophy? Cultural change? Paradigm shift? • Alignment of development and IT operations with better communication and collaboration? • Improvement in software deployment?
  3. 3. What is “DevOps”? • A philosophy? Cultural change? Paradigm shift? • Alignment of development and IT operations with better communication and collaboration? • Improvement in software deployment? Yes!
  4. 4. Deliver scalable, resilient applications with less work Source: http://xkcd.com/844/ Why are we here?
  5. 5. Software development process Dev Team Test Team Ops Team Sustaining Team Code W a l l Developer IT Operations
  6. 6. Software development process • Handoffs can cause trouble – Who is responsible for scaling? – How to troubleshoot issues that span teams? – Coordination can cause delays. Dev Team Test Team Ops Team Sustaining Team
  7. 7. “DevOps” culture of ownership • Accountability • Coordination • Predictability • Speed
  8. 8. How to get there • Iterative improvements • Everything is code • Automation • Practice the hard things
  9. 9. Iterative improvements
  10. 10. Long release cycles for major new versions Traditional Software Delivery
  11. 11. Constant stream of incremental improvements Agile Software Delivery
  12. 12. React quickly1 2 Reduce risk Constant stream of incremental improvements Agile Software Delivery
  13. 13. The path to iterative improvements Design Code Refactor Unit Test Bug Fix Deploy Developers (application) Provision Configure Orchestrate Deploy Report Monitor IT Operations (infrastructure) Agile Development DevOps • Continuous Integration • Continuous Deployment • IT Automation • Application Management • Iterative development • Scrum, sprints, stories • Velocity Development Agility IT Agility
  14. 14. Everything is code
  15. 15. Your app = resources + software config + deploy
  16. 16. Your app, defined by recipes App
  17. 17. Resources modeled as a Stack • Checked into your repository • Reproducible MySQL Primary (RDS) AppELB Alert Log Mon
  18. 18. Automation
  19. 19. 1. Provision server 2. Configure networks 3. Configure storage 4. Download software 5. Install software 6. Configure software 7. Deploy application 8. Apply security patches 9. Add sprinkles (optional)
  20. 20. • Repeatability • Consistency • Speed
  21. 21. Practice the hard things
  22. 22. • All environments are the same • Alarms • Logs • Permissions • Canaries • Simulate failures
  23. 23. An application management service that makes it easy to deploy and operate applications of all shapes and sizes.
  24. 24. Monitoring Provisioning Logging Deployment Modeling Configuration Management Auto Scaling Access Management Resource Management
  25. 25. Why is it hard to scale apps? • Receive capacity alarm • Provision new server • Install required software • Deploy app • Install database drivers • Securely send database connection info (e.g., passwords) • Health check • Add to load balancer AppELB AZAZ Amazon RDS DB Auto Scaling
  26. 26. How OpsWorks scales apps • What you do: – Define application – Define auto scaling • What OpsWorks does: – Receive capacity alarm – Provision new server – Install required software – Deploy app – Install database drivers – Securely send database connection info (e.g., passwords) – Health check – Add to load balancer
  27. 27. What about database scaling? • Provision server • Install HAProxy • Create HAProxy configuration file with RDS instances • Scale load balancer to accommodate load • Health check load balancer • When add/remove RDS read replicas, update HAProxy configuration AppELB AZAZ Auto Scaling HAProxy AZAZ Amazon RDS DB
  28. 28. How OpsWorks scales databases • What you do: – Create HAProxy layer – Add/remove RDS read replicas • What OpsWorks does: – Provision server – Install HAProxy – Create HAProxy configuration file with RDS instances – Scale load balancer to accommodate load – Health check load balancer – When add/remove RDS instances, update HAProxy configuration
  29. 29. What’s hard about deploying changes? • For any change, such as database credentials, source code, package updates, security fixes – Authorize requestor – Get change onto each server – Perform update – Verify – Make logs available • OpsWorks handles these tasks for you
  30. 30. Demo
  31. 31. Questions?
  32. 32. @AWSOpsWorks aws.amazon.com/opsworks
  33. 33. Dynamic Configuration
  34. 34. Modeling in OpsWorks
  35. 35. With Dev, Test, and Prod Amazon S3 Prod-subnet Web server App server Amazon RDS ELB Production Dev-subnet Auto Scaling group Web server Auto Scaling group App server Amazon RDS ELB Development Test-subnet Web server App server Amazon RDS ELB Test CI/CD Server Project mgt Ticketing Server Amazon RDS Version Control Shared Service Subnet Automation Master

×