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.

DevOps on AWS

5,951 views

Published on

Services Track 2

Published in: Business

DevOps on AWS

  1. 1. © 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Woody Borraccino, AWS Solutions Architect May 4, 2016, Stockholm DevOps on AWS Deep Dive on Continuous Delivery and the AWS Developer Tools
  2. 2. What to expect from the session • The Amazon DevOps story • New developer tools for everyone: • AWS CodeCommit • AWS CodeDeploy • AWS CodePipeline • AWS Elastic Beanstalk
  3. 3. What is DevOps? DevOps = efficiencies that speed up this lifecycle developers customers releasetestbuild plan monitor delivery pipeline feedback loop Software development lifecycle
  4. 4. The Amazon DevOps story
  5. 5. Monolith development lifecycle developers releasetestbuild delivery pipelineapp
  6. 6. Service-Oriented Architecture (SOA) Single-purpose Connected through APIs Highly decoupled “Microservices”
  7. 7. Two-pizza teams Full ownership Full accountability Aligned incentives “DevOps”
  8. 8. Missing tools developers delivery pipelineservices ???
  9. 9. Self-service Technology-agnostic Encourage best practices Single-purpose services
  10. 10. Deployment service No downtime deployments Health tracking Versioned artifacts and rollbacks
  11. 11. Pipelines Continuous delivery Automated release process Faster and more reliable releases >90% of teams
  12. 12. Microservice development lifecycle developers delivery pipelinesservices releasetestbuild releasetestbuild releasetestbuild releasetestbuild releasetestbuild releasetestbuild
  13. 13. = 50 million deployments a year Thousands of teams × Microservice architecture × Continuous delivery × Multiple environments
  14. 14. How can others do this?
  15. 15. Setting up a delivery pipeline Testing Staging Production deploy deploy deploy Source Build release AWS CodeDeploy AWS CodePipeline AWS CodeCommit
  16. 16. AWS Code Services
  17. 17. AWS CodeCommit Use standard Git tools Scalability, availability, and durability of Amazon S3 Encryption at rest with customer-specific keys git pull/push CodeCommit Git objects in Amazon S3 Git index in Amazon DynamoDB Encryption key in AWS KMS SSH or HTTPS
  18. 18. AWS CodeDeploy Easy and reliable deployments Scale with ease Deploy to any server Test CodeDeployv1, v2, v3 Production Dev application revisions deployment groups
  19. 19. AWS CodePipeline Connect to best-of-breed tools Accelerate your release process Consistently verify each release Build 1) Build 2) Unit test 1) Deploy 2) UI test Source Beta Production 1) Deploy 2) Perf test Gamma 1) Deploy canary 2) Deploy region 1 3) Deploy region 2 1) Pull
  20. 20. Source Source GitHub Build JenkinsOnEC2 Jenkins Deploy JavaApp Elastic Beanstalk Pipeline Stage Action Transition CodePipeline MyApplication
  21. 21. Source Source GitHub Build JenkinsOnEC2 Jenkins Deploy JavaApp Elastic Beanstalk NotifyDevelopers Lambda CodePipeline MyApplication Parallel actions
  22. 22. Source Source GitHub Build JenkinsOnEC2 Jenkins Deploy JavaApp Elastic Beanstalk NotifyDevelopers Lambda TestAPI Runscope CodePipeline MyApplication Sequential actions
  23. 23. 8. Retrieve build artifact EC2 instance CodePipeline Source Source GitHub Build JenkinsOnEC2 Jenkins Deploy JavaApp Elastic Beanstalk Source Artifact S3 Build Artifact S3 5. Get source artifact 1. Get Changes 6. Store build artifact 3. Poll for Job 4. Acknowledge Job 7. Put Success 9. Deploy build artifact Elastic Beanstalk Web container Java App MyApplication
  24. 24. We have a strong partner list, and it’s growing Source Build Test Deploy HPE StormRunner
  25. 25. AWS service integrations Source Invoke Logic Deploy AWS Elastic BeanstalkAmazon S3 AWS CodeDeploy AWS Lambda AWS CodeCommit
  26. 26. AWS Elastic Beanstalk Fast & simple to begin Developer productivity Impossible to outgrow Complete resource control Easily deploy PHP, Java, Python, Ruby, Node.js, .NET, Go or Docker application
  27. 27. @niiloursin DevOps: road to loveable product AWS Summit, Stockholm 4.5.2016 Niilo Ursin / Alma Talent
  28. 28. @niiloursin who am I :: Niilo Ursin @niiloursin CTO, Alma Talent Oy Joined Alma Media/ Kauppalehti 2009 Commercial web sites since 1998
  29. 29. @niiloursin 1996 website 1898 founded 2015 latest mobile site
  30. 30. @niiloursin Kauppalehti’s road to DevOps 1996 - 2013 dedicated & virtual servers 2013 started experimenting cloud with private cloud + AWS • Automation with Chef (private cloud) • AWS Route53, S3, CloudFront, SES, SNS, SQS 2015 Three sites (frontends+some apis) moved to AWS • Automation with scripts + CloudFormation • AWS Elastic Load Balancing, Elastic Beanstalk, EC2, DynamoDB, ElasticSearch, Lambda, CloudWatch 2016 Kinesis, Redshift, Aurora
  31. 31. @niiloursin DevOps :: “gives capability to do rapid and experimental business safely”
  32. 32. @niiloursin MINIMUM LOVEABLE PRODUCT © https://medium.com/the-happy-startup-school/beyond-mvp-10-steps-to-make-your-product-minimum-loveable-51800164ae0c MLP = The version of a new product that brings back the maximum amount of love from your early tribe members with the least effort.
  33. 33. @niiloursin DevOps :: TRUST -> NO FEAR 1. EVERY DEVELOPER HAS ACCESS TO EVERYTHING 2. EVERY DEVELOPER CAN UPDATE PRODUCTION 3. NO FEAR OF UPDATING PRODUCTION © Spotify : https://labs.spotify.com/2014/09/20/spotify-engineering-culture-part-2/
  34. 34. @niiloursin DevOps :: Collaboration and Communication
  35. 35. @niiloursin DevOps :: Automation -> Infrastructure as a code deploy-to-production.sh QA STAGING PRODUCTION One time testing environments for: PERFORMANCE SECURITY
  36. 36. @niiloursin DevOps :: Tested small increments continuously deployed to production record 7 production deployments in one DAY (20.1.2015)
  37. 37. @niiloursin DevOps :: Measure end user experience -> Visible metrics
  38. 38. @niiloursin Prototypes :: After desktop site renewal team built four prototypes of mobile site within two weeks: • NodeJS with Express and React (serverside) • RiotJS (clientside) • Golang (serverside) • React + Fluxible + nodeJS (universal) All prototypes were deployed multiple times per day to Amazon Elastic Beanstalk
  39. 39. @niiloursin@niiloursin be fast or be last. Niilo Ursin / Alma Talent @almadevelopers
  40. 40. Thank you! Woody Borraccino, AWS Solutions Architect

×