Post on 15-Apr-2017
WhiteHedge
@thewhitehedgeDevOps@WhiteHedge.com
Continuous Testing using Shippable and Docker
WhiteHedge Technologies
http://www.whitehedge.com/docker-microservices/
WhiteHedge
@thewhitehedgeDevOps@WhiteHedge.com 2
- An Overview
Global Presence
Agile + Flexible
Thorough + Quick Learner
Competitive + Comprehensive
Honest + Transparent
Young + Mature
Innovative + Creative
More about us …What defines us ?
California
New Jersey Rotterdam
Pune
Envision Products |
Convert into businesses
100+ employees | 50+ live
products world-wide
The best of the Talent and
Infrastructure
Started 2003 | Focused Agile
Product Development
Self funded | Well funded |
Profitable
INTRODUCTION
http://www.whitehedge.com/docker-microservices/
WhiteHedge
@thewhitehedgeDevOps@WhiteHedge.com 3
WhiteHedge is a first and the only Docker Certified Training andDocker Certified Consulting
company in India serving clients worldwide.
- An OverviewINTRODUCTION
http://www.whitehedge.com/docker-microservices/
WhiteHedge
@thewhitehedgeDevOps@WhiteHedge.com
Typical DevOps Phases
oContinuous Integration
oContinuous Delivery
oContinuous Testing
oContinuous Monitoring
WhiteHedge
@thewhitehedgeDevOps@WhiteHedge.com
The Environments
Diagram Credit: https://sdarchitect.files.wordpress.com/2012/10/cicdctcm.png
http://www.whitehedge.com/docker-microservices/
WhiteHedge
@thewhitehedgeDevOps@WhiteHedge.com
Continuous Delivery has reduced software development cycles from months to weeks or even days, but testing has failed to keep.
how Continuous Testing brings agile processes to testing and provides reduced time-to-release without software quality compromises
http://www.whitehedge.com/docker-microservices/
WhiteHedge
@thewhitehedgeDevOps@WhiteHedge.com
Is Continuous Testing really just one phase in DevOps?
http://www.whitehedge.com/docker-microservices/
WhiteHedge
@thewhitehedgeDevOps@WhiteHedge.com
The Love Triangle
oDevOps = Marriage of Development and Operations
oWhere does the Testing Team fit in the definition?
oTesting teams need to assert themselves to fit in all phases of DevOps
o http://www.whitehedge.com/docker-microservices/
WhiteHedge
@thewhitehedgeDevOps@WhiteHedge.com
Testing in all phases
o Pre-flight testing
o Unit Testing
o Functional Testing
o Integration Testing
o Nightly and Weekend Regression Tests
http://www.whitehedge.com/docker-microservices/
WhiteHedge
@thewhitehedgeDevOps@WhiteHedge.com
Testing Maturity
o Key differentiator of best DevOps infrastructures
o Vital part of DevOps process
o Test orchestration and automation is still a challenge
o Verify the changes. Verify them fast.
o Test code changes and if they integrate them well
o Ensure changes do not blow up the product!
Credit: http://devops.com/2015/02/02/devops-continuous-testing/
http://www.whitehedge.com/docker-microservices/
WhiteHedge
@thewhitehedgeDevOps@WhiteHedge.com
Early, Frequent and Accurate Testing requires access to real world testing environments.
Service Virtualization in the form of Containerization using Docker can solve this
problem.
Testing Maturity
http://www.whitehedge.com/docker-microservices/
WhiteHedge
@thewhitehedgeDevOps@WhiteHedge.com
What is Docker?
Linux Container
Benefits:Speed
PortabilityDensity
Open Source
http://www.whitehedge.com/docker-microservices/
WhiteHedge
@thewhitehedgeDevOps@WhiteHedge.com
Docker is not a VM
http://www.whitehedge.com/docker-microservices/
WhiteHedge
@thewhitehedgeDevOps@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
http://www.whitehedge.com/docker-microservices/
WhiteHedge
@thewhitehedgeDevOps@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
http://www.whitehedge.com/docker-microservices/
WhiteHedge
@thewhitehedgeDevOps@WhiteHedge.com
Shippable makes this dockerdeployment and thus testing,
simple
http://www.whitehedge.com/docker-microservices/
WhiteHedge
@thewhitehedgeDevOps@WhiteHedge.com
Shippable
SaaS Platform
Reduces the time taken for code to be built, tested and deployed to production
Shippable CI/CD
Shippable Formations
http://www.whitehedge.com/docker-microservices/
WhiteHedge
@thewhitehedgeDevOps@WhiteHedge.com
Automated Deployment Pipelines
http://www.whitehedge.com/docker-microservices/
WhiteHedge
@thewhitehedgeDevOps@WhiteHedge.comhttp://www.whitehedge.com/docker-microservices/
WhiteHedge
@thewhitehedgeDevOps@WhiteHedge.comhttp://www.whitehedge.com/docker-microservices/
WhiteHedge
@thewhitehedgeDevOps@WhiteHedge.comhttp://www.whitehedge.com/docker-microservices/
WhiteHedge
@thewhitehedgeDevOps@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.
http://www.whitehedge.com/docker-microservices/
WhiteHedge
@thewhitehedgeDevOps@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.
http://www.whitehedge.com/docker-microservices/
WhiteHedge
@thewhitehedgeDevOps@WhiteHedge.com
Creating Formations
http://www.whitehedge.com/docker-microservices/
WhiteHedge
@thewhitehedgeDevOps@WhiteHedge.comhttp://www.whitehedge.com/docker-microservices/
WhiteHedge
@thewhitehedgeDevOps@WhiteHedge.com
Notice the services under each env, the docker image and how it is mapped.
http://www.whitehedge.com/docker-microservices/
WhiteHedge
@thewhitehedgeDevOps@WhiteHedge.com
Status of deployment of services on each environments
http://www.whitehedge.com/docker-microservices/
WhiteHedge
@thewhitehedgeDevOps@WhiteHedge.com
Environment Variables can be set as a part of configuration
http://www.whitehedge.com/docker-microservices/
WhiteHedge
@thewhitehedgeDevOps@WhiteHedge.com
Image details and the associated configurations
http://www.whitehedge.com/docker-microservices/
WhiteHedge
@thewhitehedgeDevOps@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
http://www.whitehedge.com/docker-microservices/
WhiteHedge
@thewhitehedgeDevOps@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.
http://www.whitehedge.com/docker-microservices/
WhiteHedge
@thewhitehedgeDevOps@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
http://www.whitehedge.com/docker-microservices/
WhiteHedge
@thewhitehedgeDevOps@WhiteHedge.com
GET IN TOUCH WITH US
esitate!
http://www.whitehedge.com/devops.html
http://www.whitehedge.com/docker-microservices/
http://www.whitehedge.com/docker-microservices/
WhiteHedge
@thewhitehedgeDevOps@WhiteHedge.com
Thank You!Questions?