pros, cons, pitfalls of common docker container architectures (#dockitecture)
TRANSCRIPT
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
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
17 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
SummaryandTakeaway
§ Applicationsleveraginghybridandmicroservicearchitecturesareseeingbenefitsaroundnon-functionalrequirementsincluding– Maintainability– Scalability– Extensibility
§ Dockerisadrivingforceformicroservice architectureadoption
§ Yipee.ioisatooltoaidinadoption
20 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
References
§ Dockerhttps://www.docker.com/
§ OpenContainerInitiativehttps://www.opencontainers.org/
§ Containerpatterns– 12Factorappshttps://12factor.net/– Autopilothttp://autopilotpattern.io/