Docker has revolutionized the way people think about applications and deployments. It provides a simple way to run and distribute Linux containers for a variety of use cases, from lightweight virtual machines to complex distributed micro-services architectures.
Containers allow to run services in isolation with a minimum performance penalty, increased speed, easier configuration and less complexity, making it ideal for continuous integration and continuous delivery based workloads.
But testing a distributed micro-services architecture is no easy task, requiring a shift in mindset and tooling to accommodate the new architecture.
We will provide insight on our experience creating a Jenkins platform based on distributed Docker containers running on Apache Mesos and Marathon, applicable for all types of applications, but specially Java and JVM based ones.
Optimizing AI for immediate response in Smart CCTV
Divide and Conquer: Easier Continuous Delivery using Micro-Services
1. DIVIDE AND CONQUER
EASIER CONTINUOUS DELIVERY
USING MICRO-SERVICES
Carlos Sanchez
csanchez.org @csanchez
2.
3. ABOUT ME
Engineer @ CloudBees, Scaling Jenkins
Author of Jenkins Kubernetes plugin
Contributor to Jenkins and Maven official Docker images
Long time OSS contributor at Apache Maven, Eclipse,
Puppet,…
4. MICRO SERVICES
the microservice architectural style is an
approach to developing a single
application as a suite of small services,
each running in its own process and
communicating with lightweight
mechanisms, o en an HTTP resource API.
5. These services are built around business
capabilities and independently
deployable by fully automated deployment
machinery.
James Lewis and Martin Fowler
6. One application, multiple small services
Separate processes with lightweight comunications,
typically HTTP
Deployed independently
Minimal centralized management
Fully automated deployment
16. ORGANIZATIONAL STRUCTURE
Any organization that designs a system will
inevitably produce a design whose
structure is a copy of the organization's
communication structure.
Conway's Law
42. THE PRINCIPLES OF CHAOS
ENGINEERING
principlesofchaos.org
Build a Hypothesis around Steady State Behavior
Vary Real-world Events
Run Experiments in Production
Automate Experiments to Run Continuously
43.
44. FIT : FAILURE INJECTION TESTING
Middle ground between isolated testing and large scale
chaos exercises
http://techblog.netflix.com/2014/10/fit-failure-injection-testing.html
49. CLUSTER ORCHESTRATION
Allow running services in cluster
Abstract underlying infrastructure
High availability
Handle persistence for you
Network isolation and SDNs