Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Running a Lean Startup - DevOps & Grails & AWS

Running a Lean Startup - DevOps & Grails & AWS

Gr8conf Europe 2014 presentation by Benoit Hediard (@benorama).
DevOps Simulator demo: http://devops.benorama.com
DevOps Simulator code: http://github.com/benorama/devops-simulator

I also wrote a wrap up article here: https://medium.com/@benorama/running-a-startup-with-lean-devops-culture-df50825b110b

Benoit Hediard

June 03, 2014
Tweet

More Decks by Benoit Hediard

Other Decks in Technology

Transcript

  1. RUNNING A LEAN STARTUP DEVOPS & GRAILS & AWS Gr8Conf

    Europe 2014 agora pulse 1 Benoit Hediard @benorama
  2. LEAN STARTUP Part 1 2 DEPLOYMENT PIPELINE WITH GRAILS &

    AWS Demo DEVOPS CULTURE Part 2 #lean #custdev #startup #agile #devops #groovylang #grailsfw #aws BUZZWORD BINGO
  3. About Me 3 A Social Media Management Platform for Brands

    Benoit Hédiard Co-founder & CTO Grails  Plugins  Author:  AWS  SDK,  Facebook  SDK,  CDN  Asset  Pipeline,  Coveralls,   Sentry,  SegmentIO…   Passionate about •  Lean/DevOps •  Cloud/AWS •  Java/Grails •  UX/UI •  Facebook/Twitter Platforms @benorama
  4. Client Framework Server Framework Cloud provider SaaS services Our leanstack

    4 Elastic Beanstalk RDS & DynamoDB SES & SQS S3 & CloudFront Route 53 Check out http://leanstack.io !
  5. What is a Lean Startup? 6 A Startup is a

    search for a repeatable and scalable business model. The Customer Development process is the way startups quickly iterate and test each element of their business model. Agile Development is the way startups quickly iterate their product as they learn. A Lean Startup is Eric Ries’s description of the intersection of Customer Development, Agile Development and if available, open platforms and open source. – Steve Blank, author of The Startup Owner's Manual
  6. Iridium woes (Fail fast) •  Conceived in 1987 by Motorala

    •  Bought a fleet of 15 rockets from Russia, the U.S. and China •  Built and launch 72 satellites •  Nine months after the first call was made in 1998, Iridium was in Chapter 11 bankruptcy. 7 5.2 billion dollar business plan mistake No Business Plan Survives First Contact With A Customer – Steve Blank, author of The Startup Owner's Handbook
  7. Feedback Loop 8 Ideas   BUILD   Code   MEASURE

      Data   LEARN   BUILD – MEASURE – LEARN The fundamental activity of a startup is to turn ideas into products, measure how customers respond, and then learn whether to pivot or persevere. All successful startup processes should be geared to accelerate that feedback loop. – Eric Ries, author of The Lean Startup
  8. Paul Graham’s Startup Curve 9 Minimum Viable Product Product Market

    Fit TROUGH OF SORROW J L From search mode Move fast, break things To execution mode Grow fast, scale things Scale Initial enthusiasm Reality sets in Experimenting & pivoting Hockey stick Starts working
  9. Manual Pipeline ✔ Collaboration ✗ Manual Build ✗ Manual Testing

    ✗ Manual Delivery ✗ Manual Provisioning ✗ Manual Deployment ✗ Manual Monitoring Demo – Part 1 11 Code   Build   Test   Release   Deploy   Monitor   Code repo Team communication Agile Project Management EC2 Hosting Idea Customer
  10. Semi-automated Pipeline ✔ Collaboration ✔ Continuous Build ✔ Continuous Testing

    ✔ Continuous Delivery ✗ Manual Provisioning ✗ Manual Deployment ✗ Manual Monitoring Demo – Part 2 12 Code   Build   Test   Release   Deploy   Monitor   Continuous integration and delivery Idea Customer Test coverage history & stats Coveralls Plugin
  11. What is DevOps? 14 DevOps is a software development method

    that stresses communication, collaboration and integration between software developers and information technology (IT) operations professionals. ✔ Collaboration ✔ Automation & Infrastructure as Code ✔ Continuous Integration / Testing ✔ Continuous Delivery / Deployment ✔ Continuous Monitoring GOALS: reduce friction and increase velocity
  12. Requirements   Design   Development   Test   Release  

    Maintenance   Pre-2000’s Waterfall Development 16 Dev   Test  /  QA   Ops   Business   Idea Customer Silo Silo Silo Friction Friction Friction Cycle time: Months or Years
  13. 2000’s Iterative Agile Development 18 Develop   Test   Release

      Design   Dev   Ops   Business   Idea Customer Cycle time: Weeks or Months Stability Change Agile
  14. 2010’s Lean & DevOps 20 Develop   Test   Release

      Design   Dev   Ops   Business   Idea Customer Cycle time: Hours or Days DevOps Lean
  15. Automated Pipeline Demo – Part 3 21 Code   Build

      Test   Release   Deploy   Monitor   ✔ Collaboration ✔ Continuous Build ✔ Continuous Testing ✔ Continuous Delivery ✔ Automated Provisioning ✔ Automated Deployment ✗ Manual Monitoring Elastic Beanstalk S3 & CloudFront RDS PaaS CDN DB Managed Services Idea Customer Elastic Beanstalk Plugin CDN Asset Pipeline Plugin
  16. Git Branching Model 22 develop beta master (PROD) Snapshot merge

    deploy   Elastic Beanstalk BETA feature Feature merge test   test   test   Snapshot merge Release merge Version upgrade deploy   Elastic Beanstalk PROD test   test   test   test   test   test   test  
  17. Cultural shift 23 Developers must own application-layer code wherever it

    lives, while ops must own the infrastructure wherever that is. – Donnie Berkholz, analyst at RedMonk Dev/Test Production Dev   Ops   ApplicaMons   ApplicaMons   Infrastructure   Infrastructure   Dev/Test Production   Dev   ApplicaMons   ApplicaMons   Ops   Infrastructure   Infrastructure   Responsability Responsability Confuse of Dev or Ops? Simple rule: if you are praise for Web site success, you are Dev; if you are blame when Web site down, you are Ops – DevOps Borat Cultural shift
  18. IT Automation + IaaS Enterprise DevOps 24 3. Deploy your

    App 1. Describe your “Infrastructure as Code” 2. Build and manage your “Automated Infrastructure” PROs Portability Control Flexibility CONs Complexity Maintenance Amazon EC2 Google Compute Engine IaaS (Infrastructure as a Service) Configuration Management Tools Portable Containers
  19. Lean DevOps / NoOps 25 PaaS + SaaS 1. Deploy

    your App and use Managed Services Cloud SQL Amazon RDS Relational DB Cloud Datastore DynamoDB NoSQL Cloud Storage Amazon S3 Storage + Cloud EndPoints + Elasticache, AppStream, SWF, SQS, SES, FPS, Elastic Transcoder… Amazon RedShift Big Data BigQuery Google App Engine PaaS (Platform as a Service) Cloud DNS Elastic Beanstalk PaaS (Platform as a Service) Amazon Route 53 PROs Focus on building applications instead of managing Infrastructure
  20. Automated Pipeline Demo – Part 4 26 Code   Build

      Test   Release   Deploy   Monitor   ✔ Collaboration ✔ Continuous Build ✔ Continuous Testing ✔ Continuous Delivery ✔ Automated Provisioning ✔ Automated Deployment ✔ Continuous Monitoring Application and server monitoring Business monitoring Exception monitoring Idea Customer Sentry Plugin NewRelic Plugin SegmentIO Plugin
  21. 2 Travis files & few Grails Plugins later… 29 “Unlimited”

    Horizontal Auto-Scaling (hundred of web servers) Push-Button Scalable Database with Multi-AZ (up to 32vCPU and 244Go of RAM) 100% Resilient (no single point of failure) Deployment in < 10 minutes (deployment pipeline) 100% Cloud-based (fully managed/no SSH)
  22. Conclusion 31 Such an exciting time to be a developer

    AND an entrepreneur today… Embrace Lean Embrace DevOps Become an entrepreneur! #lean #custdev #agile #devops #groovylang #grailsfw #aws #PaaS #SaaS