Pros, Cons, Pitfalls of common Docker container architectures (#dockitecture)

21
World ® ’1 6 CAW Pros, Cons, and Pitfalls of Common Docker Container Architectures (#Dockitecture) Mark Emeis - Founder - Yipee.io DO3X09SV CA ACCELERATOR

Transcript of Pros, Cons, Pitfalls of common Docker container architectures (#dockitecture)

World®’16

CAWPros,Cons,andPitfallsofCommonDockerContainerArchitectures(#Dockitecture)

MarkEmeis - Founder- Yipee.io

DO3X09SV

CAACCELERATOR

2 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

©2016CA.Allrightsreserved.Alltrademarksreferencedhereinbelongtotheirrespectivecompanies.

Thecontentprovidedinthis CAWorld2016presentationisintendedforinformationalpurposesonlyanddoesnotformanytypeofwarranty. The informationprovidedbyaCApartnerand/orCAcustomerhasnotbeenreviewedforaccuracybyCA.

ForInformationalPurposesOnlyTermsofthisPresentation

3 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Abstract

Containers,inparticularDocker,haveatremendousbuzzrightnowandforgoodreason.Inadditiontothenumerousdirectbenefits(serviceencapsulation,lightningfaststartup,easydistribution,simplifiedupdate,etc.),containerscanbeleveragedtorealizethepromiseofserviceorientedarchitectures.Aswithanyemergingtechnology,therearenumerouswaystoarchitectandimplementsolutionsusingDockercontainers.Thispresentationwillcovertheadvantages,disadvantages,andpitfallsofseveralcommonarchitecturalapproaches.Wewilldiscussmonolithiccontainers,micro-servicecontainers,andvariouspointsinbetween.

MarkEmeisYipee.ioFounder

4 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Agenda

WHYAREWEHERE

BACKGROUND

COMMONARCHITECTURES

ARCHITECTURESCORECARDS

SUMMARYANDTAKEAWAY

1

2

3

4

5

5 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

NewDevelopment

AvailabilityExtensibilityMaintainabilityPortabilityScalabilitySecurability

LegacyProducts

MaintainabilityPortability

MovingtotheCloud

AvailabilityScalabilitySecurability

WhyAreWeHere

6 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Background

§ Whatarecontainers?– Small,lightweight,encapsulatedsoftwarefunctionality– Shareoperatingsystemkernel– Longhistory(SolarisZones,LXC)

§ WhatisDocker?– Softwarecontainerizationplatform– Linuxcontainermanagement,simplified– Standardsbased– DockerInc.andDockerOpenSource

ContainersandDocker

7 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Background

§ 12factorapps– Configurationintheenvironment– Statelessprocesses– Disposability– Development/productionparity

§ Inter-containermanagement

§ Intra-containermanagement

ContainerPatterns

8 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

BackgroundCattlevsPets

9 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

CommonArchitectures

§ Anapplicationthatmovesasasingleunit– Examples

§ VirtualMachine,SingleExecutable– Mayhavemultiplecomponents

§ Threetierapplication(Web,Business,andDataTier)

– Tightlycoupled– Statemanagedinmultiplelocations– Frequentlyasinglelanguage

Monolith– PrimarilyPets

Web

Server WebUI

BusinessLogic

Utilities

TicketZap

10 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

PitfallsPortabilitySecurability

ProsSecurability

ConsAvailabilityExtensibilityMaintainabilityScalability

CommonArchitecturesMonolith– PrimarilyPets

11 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

CommonArchitectures

§ Anapplicationleveragingexternalservices– Exampleexternalservices

§ Authentication,analytics– Willhavemultiplecomponents,

processes– Introducingconceptslikequeueing

toreducecoupling– Introducingseparationofconcerns

§ Leveraginginterfacecontracts

Hybrid– PetsWithSomeCattle

Web

Server

Web

Server

UI

ShopandPurchase

Reporting

Admin

TicketZap

Web

Server

Web

Server

REST(b

usiness) Shopand

Purchase

Reporting

AdminUtilities

ORM

Analytics

AuthN

12 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

PitfallsMaintainabilityPortabilitySecurability

ProsMaintainabilityPortabilitySecurability

ConsAvailabilityExtensibilityScalability

CommonArchitecturesHybrid– PetsWithSomeCattle

13 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

CommonArchitectures

§ Anapplicationcomprisedofmanystatelessservices– Examples

§ Serviceorientedarchitectures– Willhavemultipleservices–

functionalboundariesLoosecoupling

– Languageagnostic– Interfacedriven– Highcohesionandlowcoupling

Micro-Service– PrimarilyCattle

TicketZapPurchase

Analytics

AuthN

PurchaseAPI

ShopAPI

ShopShop

ReportAPIReport

Admin

Utilities

14 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

PitfallsMaintainabilitySecurability

ProsAvailabilityExtensibilityMaintainabilityPortabilityScalabilitySecurability

Cons

CommonArchitecturesMicro-Service– PrimarilyCattle

15 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

ArchitectureScoreCards

16 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

ArchitectureScoreCards

17 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

SummaryandTakeaway

§ Applicationsleveraginghybridandmicroservicearchitecturesareseeingbenefitsaroundnon-functionalrequirementsincluding– Maintainability– Scalability– Extensibility

§ Dockerisadrivingforceformicroservice architectureadoption

§ Yipee.ioisatooltoaidinadoption

18 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

TicketZapinYipee.io

19 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Questions?

20 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

References

§ Dockerhttps://www.docker.com/

§ OpenContainerInitiativehttps://www.opencontainers.org/

§ Containerpatterns– 12Factorappshttps://12factor.net/– Autopilothttp://autopilotpattern.io/

21 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Thankyou.

Stayconnectedatcommunities.ca.com