Large-scale Enterprise Platform Transformation with
Microservices, DevOps, and PaaS
Christopher Tretina, Comcast
Vipul Savjani, Accenture
August 02, 2016
The ESP Journey at Comcast
Christopher Tretina, Director, Common Infrastructure Platforms at Comcast
(@ChrisTretina)
Who We Are
• Largest broadcasting and largest cable television company in the
world by revenue
• 153,000+ employees
• Director of Common Infrastructure Platforms
• Responsible for the Core software platforms behind some of our key back office systems
• 9+ years at Comcast; grew alongside ESP
What is ESP?
• Monolithic SOA
powering the
Comcast Back Office
• 65+ services
• 250M+
transactions/day
• 200+ internal and
external consumers
• 150+ back ends
• 256+ servers
• 50+ Domains
• 1,000+ JVMs
Goals and Benefits
Goal Action Benefit
Reduce Time-to-Market
Realized: Introduced TDD,
CI/CD, DevOps, and Canary
(Soak)
Cycle times by team reduced
from days to hours
Elastic Scalability Realized: Introduced PaaSScale out time reduced from
months to minutes
Increase ResiliencyIn Progress: Implementing
Health Checks and Auto-failover
Fail over time reduced from 25
minutes to 30 seconds
Decompose the MonolithUp Next: Decompose to True
Microservices
Clear data ownership and true
“loose coupling”
The Journey: Timeline
2014
Laying the PaaS
Foundation
2015
Migrating the First Services
2016
DevOps Culture Shift
2017
Going Cloud Native
6
The Journey: Laying the PaaS Foundation
• 2014: Cloud Infrastructure team
deploys Cloud Foundry
• We begin to see what a world with
PaaS might offer
• What Worked Well: Start small, lay
the foundation
• What We Learned: DevOps “early
adopters” start the journey together
7
The Journey: Migrating the First Services
• 2015: Central, dedicated team constructed the core frameworks/shared components and migrated the first services
• High fixed cost attached to migrating the first service due to having to convert the core components
• What Worked Well: Tackled the highest-value services first (40% of ESP traffic migrated in year one); allow for a seamless migration
• What We Learned: Don’t try to tackle too much at once (e.g. NoSQL conversion at the same time as service migration)
8
Spring
FrameworkSpring
Boot
The Journey: DevOps Culture Shift
• 2016: Extended the culture shift to the BAU delivery teams; began converting services en masse
• Managed the conversion like a portfolio
• Re-branded: xfinity Services Platform (XSP)
• What Worked Well: Adopt the culture changes to achieve the real benefits: define maturity model, iteratively gain value, “fail fast”
• What We Learned: Decentralize with the BAU teams up front
9
Agile
DevOps
TDD
PairingCI/CD
The Journey: Going Cloud Native
• 2017: Decompose services to true
Microservices
• Introduce bounded contexts with discrete
data sources
• Leverage event sourcing for data
• We’re Continuing to Learn…
10
Spring Cloud
Data Flow
ESP Journey Summary
• Our multi-year journey is very much still underway but we are already
realizing many of the benefits that we sought after in the beginning
• When setting out upon your own Cloud Transformation, be sure to:
- Start small and lay the foundation up front
- Bring “early adopters” together
- Focus on the highest value services/applications first (or at least the ones
that will free up the most cycles within your DevOps teams)
- Implement the cultural changes and best practices to achieve the full
benefits
- Avoid trying to tackle too much at once; consider migrating iteratively first –
“Cloud Friendly” before you try to go “Cloud Native”
11
Accenture’s Offering
Vipul Savjani, Director of PaaS Practice at Accenture
Cloud Native Transformation
Copyright © 2016 Accenture
Enterprises are going through large scale transformation to survive in software-driven
economy… Adoption of technologies and practices leveraged by software companies
are essential in their transformation…
Why?
Copyright © 2016 Accenture
Drivers
• Speed
• Agility
• Scale
• Resiliency
• Cost Reduction
• …
DevOps; CI/CD
Microservices
Cloud-based
Platforms &
Infrastructure
Cloud Native Solutions
Migration of legacy enterprise applications to modern cloud native applications
leveraging Cloud/PaaS architecture, technologies and infrastructure.
What?
Copyright © 2016 Accenture
How?
Legacy
• Complex / Easy
• Modularity Dependent Upon Language /
Frameworks
• Change Cycles Tightly Coupled / Obstacle to
Frequent Deploys
• Inefficient Scaling
• Can be Intimidating to New Developers
• Obstacle to Scaling Development
• Requires Long-Term Commitment to Technical
Stack
Cloud Native
• Simple / Hard
• Modularity Based on Component Services
• Change Cycles Decoupled / Enable Frequent
Deploys
• Efficient Scaling
• Individual Components Less Intimidating to New
Developers
• Enables Scaling of Development
• Eliminates Long-Term Commitment to Technical
Stack
Copyright © 2016 Accenture
How?Framework for assessment and transformation of legacy to cloud-native
Platform
Compatibility
Engineering
Practices
Architecture
Patterns
Deploy to PaaS and Make it
easier to maintain and
operate on PaaS
Optimize to leverage
PaaS Get it ready and running on
PaaS
1 2 3
Cloud Ready Cloud Friendly Cloud Resilient & Native
PaaS
RuntimeRuntime
CI/CD CI/CD
Legacy
Cloud Native
</> + Automated and Assisted Assessment0
Copyright © 2016 Accenture
ABCF/D
Legacy Architecture
based legacy
technologies and
frameworks
Minimum CI and no CD
Incompatible
Application/Architecture
Style
Incompatible
Technologies and
Frameworks
Cloud Native Maturity ModelCloud Native Score
Monolithic
Applications
Cloud Native
Already Cloud Native
Application with full CI/CD
Full Standardization of App
and Data Architecture,
Tools, Operations, and
Processes
Running on Cloud/PaaS
but not optimized to
leverage underlying
capabilities
Sufficient CI/CD
Some Standardization of
Architecture, Tools,
Operations, and
Processes
Cloud
Ready
Cloud
Friendly
Cloud
Resilient
Cloud
Native
Pivotal Maturity Model
Copyright © 2016 Accenture
CF/D
Approach & ChallengesChallenges encountered in journey to cloud native.
Legacy Cloud Native
Cloud Ready Cloud Friendly Cloud Resilient Cloud Native
Pivotal Maturity Model
AB
?
Start
Here Step 1: Platform Step 2: Architecture
Step 1: Re-think
A. Evolve
B. Re-think and build
Copyright © 2016 Accenture