WhiteHedge DevOps Continuous Ttesting using Shippable and Docker

Post on 15-Apr-2017

288 views 0 download

Transcript of WhiteHedge DevOps Continuous Ttesting using Shippable and Docker

@muktaaDevOps@WhiteHedge.comWhiteHedge

Continuous Testing using Shippable and Docker

Mukta AphaleDevOps Practice Head, WhiteHedge Technologies

@muktaaDevOps@WhiteHedge.comWhiteHedge

About Me

o C, Java, Ruby developer for about 12 years

o DevOps and Systems enthusiast since 3 years

o Creative at heart, technology geek at profession

o Technology, innovation and the thirst to keep learning are what define me

o Working as DevOps Head at WhiteHedge Technologies

o Love to travel, read and write

@muktaaDevOps@WhiteHedge.comWhiteHedge

About WhiteHedge Technologies

@muktaaDevOps@WhiteHedge.comWhiteHedge

Typical DevOps Phases

o Continuous Integration

o Continuous Delivery

o Continuous Testing

o Continuous Monitoring

@muktaaDevOps@WhiteHedge.comWhiteHedge

The Environments

Diagram Credit: https://sdarchitect.files.wordpress.com/2012/10/cicdctcm.png

@muktaaDevOps@WhiteHedge.comWhiteHedge

Is Continuous Testing really just one phase in DevOps?

@muktaaDevOps@WhiteHedge.comWhiteHedge

DevOps is actually all about Continuous Testing!

@muktaaDevOps@WhiteHedge.comWhiteHedge

The Love Triangle

o DevOps = Marriage of Development and Operations

o Where does the Testing Team fit in the definition?

o Testing teams need to assert themselves to fit in all phases of DevOps

@muktaaDevOps@WhiteHedge.comWhiteHedge

Testing in all phases

o Pre-flight testing

o Unit Testing

o Functional Testing

o Integration Testing

o Nightly and Weekend Regression Tests

Test Early.Test Faster.Test Often.Automate.

@muktaaDevOps@WhiteHedge.comWhiteHedge

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/

@muktaaDevOps@WhiteHedge.comWhiteHedge

The ChallengeEarly, 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.

@muktaaDevOps@WhiteHedge.comWhiteHedge

What is Docker?

Linux Container3 Components:

Docker Engine

Docker Hub

Docker Images

Benefits:

Speed

Portability

Density

Open Source

“Can create lightweight,

self sufficient containers

from any application”

@muktaaDevOps@WhiteHedge.comWhiteHedge

Virtual Machine Docker

Docker is not a VM

@muktaaDevOps@WhiteHedge.comWhiteHedge

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

@muktaaDevOps@WhiteHedge.comWhiteHedge

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

@muktaaDevOps@WhiteHedge.comWhiteHedge

Shippable makes this dockerdeployment and thus testing,

simple

@muktaaDevOps@WhiteHedge.comWhiteHedge

Shippable

o SaaS Platform

o Reduces the time taken for code to be built, tested and deployed to production

o Shippable CI/CD

o Shippable Formations

@muktaaDevOps@WhiteHedge.comWhiteHedge

Automated Deployment Pipelines

@muktaaDevOps@WhiteHedge.comWhiteHedge

@muktaaDevOps@WhiteHedge.comWhiteHedge

@muktaaDevOps@WhiteHedge.comWhiteHedge

@muktaaDevOps@WhiteHedge.comWhiteHedge

Shippable Formations

o Easy way to provision, configure, and deploy multi-container Dev and Test clouds (environments)

o Fully integrated with the updated Shippable CI/CD platform, and together, they create an automated, frictionless pipeline from source control to full-topology environments

o Can mimic your production environment or represent any combination of software component versions you'd like to deploy.

@muktaaDevOps@WhiteHedge.comWhiteHedge

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.

@muktaaDevOps@WhiteHedge.comWhiteHedge

Creating Formations

@muktaaDevOps@WhiteHedge.comWhiteHedge

@muktaaDevOps@WhiteHedge.comWhiteHedge

Notice the services under each env, the docker image and how it is mapped.

@muktaaDevOps@WhiteHedge.comWhiteHedge

Status of deployment of services on each environments

@muktaaDevOps@WhiteHedge.comWhiteHedge

Environment Variables can be set as a part of configuration

@muktaaDevOps@WhiteHedge.comWhiteHedge

Image details and the associated configurations

@muktaaDevOps@WhiteHedge.comWhiteHedge

Why Formations?

o Automation without scripts

o Automated integration/functional testing

o One-click upgrade and rollback

o No more 'works on my machine' bugs

o Developer-focused approach

o Cost effective

@muktaaDevOps@WhiteHedge.comWhiteHedge

LighthouseIt 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.

@muktaaDevOps@WhiteHedge.comWhiteHedge

Interesting Facts about Shippable

o Shippable was founded in 2013 by Avi Cavale and Manisha Sahasrabuddhe

o It was known as Qhode initially

o Avi managed to raised the first round of funding over a game of table tennis!

o Shippable has raised over $10 million funding till today

o Formations was launched on 18 June 2015

o Shippable runs more than 60,000 containers weekly

o Google Kubernetes can do 150-200 daily builds using Shippable

o 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

@muktaaDevOps@WhiteHedge.comWhiteHedge

WhiteHedge

GET IN TOUCH WITH US

esitate!

http://www.whitehedge.com/devops.html

Mukta Aphale - Maphale@WhiteHedge.com

Abhijit Joshi - Ajoshi@WhiteHedge.com

@muktaaDevOps@WhiteHedge.comWhiteHedge

Thank You!Questions?