in-cluster continuous testing framework for docker containers

Post on 15-Jan-2017

4.323 Views

Category:

Software

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

In-Cluster Continuous Testing Framework For Docker Containers

Neil Gehani – Sr. Product Manager, HPE-SW@GehaniNeil

Our Super Heroes

- Alexei Ledenev

- Effi Bar-Shean

- Lital Kornfeld

- Boris Belozovsky

- Shay Tsadok

Our mission: To incubate ideas that solve problems related to cloud-native applications built as microservices shipped in Docker containers.

Introducing Tugbot - In-cluster continuous testing framework for Docker

MONITORPLAN TESTTESTTESTTEST

ALM Octane - AnalyticsVisualization (Kibana)ElasticSearch

Run CollectEnv: Dev

Run CollectEnv: Test

Run CollectEnv: Stage

Run CollectEnv: Prod

Test Results

The Opportunity

Content

TestsDocker

Container

Ship it

DockerHubANY environment

Container deployment

Docker Container

The Opportunity – cont.

Remote API

Leverage Docker Remote API

Demo Flow

– Deploy App

– Deploy Tugbot Services– Run, Collect, Result

– ElasticSearch + Kibana

– Launch App– Vote

– Deploy 1st Run of Tugbot

– Inject Failures– Functional and Integration

– View Results

– Inject Chaos (Pumba)

– View Results

Source: DockerCon 2016

“Tugbot” Workflow

Kibana

Test containers

1. Discover Test Containers

4. Publish Results to ES

ALM OctaneFrom github.com

3. Collect Results

2. RunTests (Tugbot)

5. Visualize

Use Cases – Make Continuous Testing REAL (24x7x365)– Simplify & Standardize Testing in ANY environment– In-cluster testing (Integration, functional, performance, security, chaos, etc.)

– e.g Testing backing services or based on operational activities

– Event driven testing - Trigger tests on events– Docker Events: image update, new container, etc.

– Timer Events: CRON – once in time interval

– Host Events: kernel update, host restart, package update, config update, etc.

– External Event: someone asked to run tests, etc.

– Standardize collection of test results from all machines– Aggregate and analyze test results over time to track quality improvements

– Test context: Events, Docker containers, Host configuration, user defined context

– Share “Test Containers”– ”Social-Testing” (e.g. Docker Security Bench Test)

Open Sourced

Tugbot Components

“Test Container” Dockerfile

Docker

Tugbot

“Test Container” Dockerfile.xxx

LABEL tugbot.event.docker=[list of Docker events]

HPESW-ADM Open Source Contributions– “Tugbot” – Continuous Testing Framework for containers (CT made REAL)– Published in docker’s weekly newsletter

– Blog post

–Containerized Docker Bench security testing

– “Pumba” - Chaos testing inspired by Netflix simian army

12

Thank You!We gladly accept pull requestshttps://github.com/gaia-docker/tugbot

neil.gehani@hpe.com

Application Lifecycle Management on modern platforms

Future

Control Plane (Kubernetes) - Extensible

Code EngineConcourseCI

Cloud Foundry

Uni

vers

al

Serv

ice

Bro

ker

Service catalog

HPESW Services

Web console

Agile ALM Predictive ALM Cloud-native ALMApplication Lifecycle Management (ALM Octane)

Helion Stackato (PaaS)

Swarm

HPESW Services

Docker Container Platform

vSphereAWSOpenStack Docker Engine

Docker Trusted Registry

Swarm

Application Runtime Hosting..

HPE Composable infrastrcuture (synergy, cloudsystem…)

top related