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.

Continuous Testing using Shippable and Docker

5,018 views

Published on

While setting up continuous delivery for your product, one of the biggest challenge is to implement continuous testing. We are gradually moving away from manual testing to automation. But how do we integrate the automated tests into your system? How to run integration tests everyday considering that the test environment can get polluted with failed tests? Docker is a type of a virtualisation platform, a container. Shippable is a hosted cloud platform that provides hosted continuous integration, deployment, and testing to GitHub and Bitbucket repositories.

Published in: Technology
  • Be the first to comment

Continuous Testing using Shippable and Docker

  1. 1. @muktaaDevOps@WhiteHedge.com Continuous Testing using Shippable and Docker Mukta Aphale DevOps Practice Head WhiteHedge Technologies
  2. 2. @muktaaDevOps@WhiteHedge.com About Me • C, Java, Ruby developer for about 12 years • DevOps and Systems enthusiast since 3 years • Creative at heart, technology geek at profession • Technology, innovation and the thirst to keep learning are what define me • Working as DevOps Head at WhiteHedge Technologies • Love to travel, read and write
  3. 3. @muktaaDevOps@WhiteHedge.com About WhiteHedge Technologies
  4. 4. @muktaaDevOps@WhiteHedge.com Typical DevOps Phases • Continuous Integration • Continuous Delivery • Continuous Testing • Continuous Monitoring
  5. 5. @muktaaDevOps@WhiteHedge.com The Environments Diagram Credit: https://sdarchitect.files.wordpress.com/2012/10/cicdctcm.png
  6. 6. @muktaaDevOps@WhiteHedge.com Is Continuous Testing really just one phase in DevOps?
  7. 7. @muktaaDevOps@WhiteHedge.com DevOps is actually all about Continuous Testing!
  8. 8. @muktaaDevOps@WhiteHedge.com The Love Triangle • DevOps = Marriage of Development and Operations • Where does the Testing Team fit in the definition? • Testing teams need to assert themselves to fit in all phases of DevOps
  9. 9. @muktaaDevOps@WhiteHedge.com Testing in all phases • Pre-flight testing • Unit Testing • Functional Testing • Integration Testing • Nightly and Weekend Regression Tests Test Early. Test Faster. Test Often. Automate.
  10. 10. @muktaaDevOps@WhiteHedge.com Testing Maturity • Key differentiator of best devops infrastructures • Vital part of devops process • Test orchestration and automation is still a challenge • Verify the changes. Verify them fast. • Test code changes and if they integrate them well • Ensure changes do not blow up the product! Credit: http://devops.com/2015/02/02/devops-continuous-testing/
  11. 11. @muktaaDevOps@WhiteHedge.com The Challenge Early, Frequent and Accurate Testing requires access to real world testing environments. Service Virtualization in the form of Containerization, specifically using Docker, intends to solve this problem.
  12. 12. @muktaaDevOps@WhiteHedge.com What is Docker? Linux Container 3 Components: Docker Engine Docker Hub Docker Images Benefits: Speed Portability Density Open Source “Can create lightweight, self sufficient containers from any application”
  13. 13. @muktaaDevOps@WhiteHedge.com Virtual Machine Docker Docker is not a VM
  14. 14. @muktaaDevOps@WhiteHedge.com Typical Design CI – Build and Unit Testing Nightly Builds – Build, Unit Test and Deploy to QA Env Run Integration Tests (Selenium Tests) Feedback – Email Test Report Failing Tests Polluted the Env. Even after successful tests, the env was changed. For every deployment, the Env has to be setup
  15. 15. @muktaaDevOps@WhiteHedge.com After Dockerizing… Dockerfile (app1) Dockerfile (app2) Dockerfile (db) Docker Hub Base-Image-App1 Base-Image-App2 Base-Image-DB CI Server Deployment Script Test Environment: App1 App2 DB Selenium Tests Feedback – Email Test Report
  16. 16. @muktaaDevOps@WhiteHedge.com Shippable makes this docker deployment and thus testing, simple
  17. 17. @muktaaDevOps@WhiteHedge.com Shippable •SaaS Platform •Reduces the time taken for code to be built, tested and deployed to production •Shippable CI/CD •Shippable Formations
  18. 18. @muktaaDevOps@WhiteHedge.com Automated Deployment Pipelines
  19. 19. @muktaaDevOps@WhiteHedge.com
  20. 20. @muktaaDevOps@WhiteHedge.com
  21. 21. @muktaaDevOps@WhiteHedge.com
  22. 22. @muktaaDevOps@WhiteHedge.com Shippable Formations • Easy way to provision, configure, and deploy multi- container Dev and Test clouds (environments) • Fully integrated with the updated Shippable CI/CD platform, and together, they create an automated, frictionless pipeline from source control to full-topology environments • Can mimic your production environment or represent any combination of software component versions you'd like to deploy.
  23. 23. @muktaaDevOps@WhiteHedge.com Shippable Formations (Contd.) Fully orchestrated, persistent, and 'smart', i.e. they can automatically update themselves when any new code is committed into any component of the application. Ensures that your Dev and Test labs always run the latest code and are reliable indicators of how that code will behave in production.
  24. 24. @muktaaDevOps@WhiteHedge.com Creating Formations
  25. 25. @muktaaDevOps@WhiteHedge.com
  26. 26. @muktaaDevOps@WhiteHedge.com Notice the services under each env, the docker image and how it is mapped.
  27. 27. @muktaaDevOps@WhiteHedge.com Status of deployment of services on each environments
  28. 28. @muktaaDevOps@WhiteHedge.com Environment Variables can be set as a part of configuration
  29. 29. @muktaaDevOps@WhiteHedge.com Image details and the associated configurations
  30. 30. @muktaaDevOps@WhiteHedge.com Why Formations? • Automation without scripts • Automated integration/functional testing • One-click upgrade and rollback • No more 'works on my machine' bugs • Developer-focused approach • Cost effective
  31. 31. @muktaaDevOps@WhiteHedge.com Lighthouse It is a docker image watcher. You can add any image from any registry that you want to track and get notified via email when there is an update.
  32. 32. @muktaaDevOps@WhiteHedge.com Interesting Facts about Shippable • Shippable was founded in 2013 by Avi Cavale and Manisha Sahasrabuddhe • It was known as Qhode initially • Avi managed to raised the first round of funding over a game of table tennis! • Shippable has raised over $10 million funding till today • Formations was launched on 18 June 2015 • Shippable runs more than 60,000 containers weekly • Google Kubernetes can do 150-200 daily builds using Shippable • Shippable calls itself to be in the era of DevOps 2.0, meaning developers no longer have to write code and scripts in unfamiliar languages to make deployments
  33. 33. @muktaaDevOps@WhiteHedge.com Thank You! Questions? We are Authorized Docker Training Partners in the APAC region! You can write to us at devops@whitehedge.com for details about Certified Docker Training.

×