13
In-Cluster Continuous Testing Framework For Docker Containers Neil Gehani – Sr. Product Manager, HPE-SW @GehaniNeil

In-Cluster Continuous Testing Framework for Docker Containers

Embed Size (px)

Citation preview

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

[email protected]

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…)