Post on 07-Jan-2017
FullyOrchestratingApplications,MicroservicesandEnterpriseServiceswithDockeratSocieteGenerale
CédricCOROIRSr. Technical Architect, Société Générale
AlexDrahonSolution Architect, Docker
@cedric_coroir
ThoughProcessContextJourneyGoals
Agenda
ConvergenceChallengeExpectationsChallenge’Thebet’
HowdidweAchieveitStandardizingTransformationNewpattern
Problem:HowtobuildaPaaSforacorporatewiththousandsapplications?
EpilogueWhat’snextDockerWordQ/A
SocieteGeneraleITinfrastructure:Thousandsofapplications
TensofthousandsofCPUnodes
CenturyLinkField,SeattleSeahawksCapacity67,000
Weareonajourney towardautomation
PlatformasaServicegoalsatSG
2020Target80%ApptoCloudatPaaSlevel
Inherentlyenablebesttimetomarket,ITrationalizationandscalability
CriticalenablerofDigitalTransformationandContinuousDelivery
Timetomarket
ProductivityandInnovation
Costssavings
Scalingtousage
Nowhowtodoacontainercentric PaaS?
http://blogs.gartner.com/richard-watson/ok-get-dockers-great/
Whatweexpectfromacorporate PaaS?
CentrallySupportedEnterpriseservices:- Database- MessageQueue- Cache- Monitoring- …
Bare-metal,VM, IaaS
Containers
Executionplatform(orchestration)
ITasaService,Centrallymanaged:- Monitoring- Logging- Security- Chargeback- …
Continuous deliveryplatform
WhichPaaSforournebulae ofApp?
Highexpectationsleadtocomplexity
CentrallySupportedEnterpriseservices:- Database- MessageQueue- Cache- Monitoring- …
Bare-metal,VM, IaaS
Containers
Executionplatform(orchestration)
ITasaService,Centrallymanaged:- Metrology- Security- Quotas- Chargeback- …
Continuous deliveryplatform
ServiceBroker
Greenfield
Notcontainerized
IaaS/CaaS/PaaStopologies
Softwaredefinednetworks Storage
Microservices LegacyApps
ConvergencechallengeEngage throughadoptionSimpleuserexperience fordevelopersanddevops
Onelanguage fordevandopsIntegratelegacyapplicationswithouthighrefactoringeffort
EngagethroughcompletenessAdvancedorchestratingfeatures
AbilitytoorchestrateIaaS&CaaSxPaaS serviceenabler
LinuxandwindowssupportasapAdvancedprogrammingmodelsSDK
Innovationisnotwaiting,Developers&OpsstartusingDockerinsmallpockets
Webet onDockertechnologyanddevelopers wideadoption
StandardizingorchestrationonDocker
CentrallySupportedEnterpriseservices:- Database- MessageQueue- Cache- Monitoring- …
Bare-metal,VM, IaaS
DockerDatacenterOrchestratetopologies ofapplicationslinked to
sharedenterprisesservicesthrough‘SGxPaaSAmbassadorpattern’
ITasaService,Centrallymanaged:- Monitoring- Logging- Security- Chargeback- …
Continuous deliveryplatform
ContainerizedxPaaSxPaaSAmbassadorMicroservices LegacyApp
FullyOrchestratingApplications,MicroservicesandEnterpriseServices
Thenew continuousdeliverychainAP
PINPAA
S Dockerfile
Source Control Managerco
mpo
se GitHook
DeployContinuous Integration
Topology CaaSCD Platform Outside
ExternalxPaaS
Ambassadors
Applications& xPaaS
ITaaS
WhenDockerisdeployedinsmallpockets,Itistechnicaldebtatcorporatelevel…
Howdidwe achieveit?Transformtherelevantpilots
- OneofthebiggestandlessDocker-friendlyApp- AMicroservicescentricApp- TheContinuousdeliveryplatformitself
OperateonecentralDockerDatacenter
Attherightplacewithinthe Infrastructureservice
Buildfoundations
Metrology,security,chargeback,etc.EnterpriseServicesAmbassador
Maturity&SavingsLevels
CONTAINED
AUTOMATED
EMPOWERED
MANAGED
ContainerizeApp.
Automateincontinuousdeliveryplatform
DeployoncentralDockerExecutionPlatform
Transformtoleverageonbuilt-infeatures:-Discovery-Elasticity-Highavailability Transformtoin-
housestandards:- Monitoring- Logging- Billing
Transformtofitwithdeploymenttopologies
Usemanagedservices(xPaaS):DB,Cache,MQ...
MICRO SERVICES
Leverageonplatformsecuritystandards
Dynamicscale,hybridcloudusecase
Move theapplicationscollaboratively
♝ ♛ ♟
♞ ♚ ♜
Executives,Architects Managers Developers
Dev-ops Production ContinuousCoach Teams Delivery
Platform
InfrastructureTeams
Enablers/M
overs
Movers/D
oers
Howtoorchestrateenterpriseservices?Ambassadorpattern+Topologies
my_scalable_app:image:gbis/my-scalable-app#knowbeforehandwhichvariableswillbesetenvironment:- ./redis_vars.env- ./oracle_vars.env#bindandinitiatexPaaSbeforestartingcommand: ./xpaasbindsharedRedismyOracle;./entrypoint.sh’
cache:image:ambassadorcommand:bind--name‘sharedRedis’
database:image:ambassadorenvironment:- ./customize.envcommand: try_create_and_bind --name‘myOracle’
--plan‘oracle/1.0/dev_plan’
xPaaSContainersinitialization
AppWaitforxpaasincom
mand
Exist? Exist? Check Registry
PushxPaaS Config
Createin Registry
FindallxPaaSconfigsInRegistry
SourceallxPaaSconfigs
InstanciateDockerTopologyOrITaaScalls
ApplicationEntrypoint
xPaaSWorkflow
Dockertopologyexecutionworkflow
CreatexPaaS
AppWorkflow
What’snext:GotoProduction,SharetheVision,ExpandTransformation
Thankstoalltheteams andbrilliantindividuals involvedinthisjourney!