19
Large-scale Enterprise Platform Transformation with Microservices, DevOps, and PaaS Christopher Tretina, Comcast Vipul Savjani, Accenture August 02, 2016

Large-Scale Enterprise Platform Transformation with Microservices, DevOps, and PaaS

  • Upload
    pivotal

  • View
    422

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Large-Scale Enterprise Platform Transformation with Microservices, DevOps, and PaaS

Large-scale Enterprise Platform Transformation with

Microservices, DevOps, and PaaS

Christopher Tretina, Comcast

Vipul Savjani, Accenture

August 02, 2016

Page 2: Large-Scale Enterprise Platform Transformation with Microservices, DevOps, and PaaS

The ESP Journey at Comcast

Christopher Tretina, Director, Common Infrastructure Platforms at Comcast

(@ChrisTretina)

Page 3: Large-Scale Enterprise Platform Transformation with Microservices, DevOps, and PaaS

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

Page 4: Large-Scale Enterprise Platform Transformation with Microservices, DevOps, and PaaS

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

Page 5: Large-Scale Enterprise Platform Transformation with Microservices, DevOps, and PaaS

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”

Page 6: Large-Scale Enterprise Platform Transformation with Microservices, DevOps, and PaaS

The Journey: Timeline

2014

Laying the PaaS

Foundation

2015

Migrating the First Services

2016

DevOps Culture Shift

2017

Going Cloud Native

6

Page 7: Large-Scale Enterprise Platform Transformation with Microservices, DevOps, and PaaS

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

Page 8: Large-Scale Enterprise Platform Transformation with Microservices, DevOps, and PaaS

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

Page 9: Large-Scale Enterprise Platform Transformation with Microservices, DevOps, and PaaS

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

Page 10: Large-Scale Enterprise Platform Transformation with Microservices, DevOps, and PaaS

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

Page 11: Large-Scale Enterprise Platform Transformation with Microservices, DevOps, and PaaS

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

Page 12: Large-Scale Enterprise Platform Transformation with Microservices, DevOps, and PaaS

Accenture’s Offering

Vipul Savjani, Director of PaaS Practice at Accenture

Page 13: Large-Scale Enterprise Platform Transformation with Microservices, DevOps, and PaaS

Cloud Native Transformation

Copyright © 2016 Accenture

Page 14: Large-Scale Enterprise Platform Transformation with Microservices, DevOps, and PaaS

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

Page 15: Large-Scale Enterprise Platform Transformation with Microservices, DevOps, and PaaS

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

Page 16: Large-Scale Enterprise Platform Transformation with Microservices, DevOps, and PaaS

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

Page 17: Large-Scale Enterprise Platform Transformation with Microservices, DevOps, and PaaS

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

Page 18: Large-Scale Enterprise Platform Transformation with Microservices, DevOps, and PaaS

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

Page 19: Large-Scale Enterprise Platform Transformation with Microservices, DevOps, and PaaS

Copyright © 2016 Accenture