cloud adoption frameworks · cloud computing is a model for enabling ubiquitous, convenient,...

47
www.devopsguys.com | Phone: 0800 368 7378 | e-mail: [email protected] | 2017 Cloud Adoption Frameworks What are they and why do you need one? DOG - Public

Upload: others

Post on 28-May-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Cloud Adoption Frameworks · Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks,

www.devopsguys.com | Phone: 0800 368 7378 | e-mail: [email protected] | 2017

Cloud Adoption Frameworks

What are they and why do you need one?

DOG - Public

Page 2: Cloud Adoption Frameworks · Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks,

2@DevOpsGroup #DevOpsProMoscow

CTO, DevOpsGroup

Steve Thair

@DevOpsGroup @TheOpsMgr

Page 3: Cloud Adoption Frameworks · Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks,

3@DevOpsGroup #DevOpsProMoscow

Page 4: Cloud Adoption Frameworks · Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks,

4@DevOpsGroup #DevOpsProMoscow

DevOpsGuys

Cloud Adoption & Migration Frameworks are a collection of best practices to help you avoid making the same mistakes they did

Page 5: Cloud Adoption Frameworks · Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks,

5@DevOpsGroup #DevOpsProMoscow

Sir Isaac Newton

If I have seen further than others, it is by standing upon the shoulders of giants

Page 6: Cloud Adoption Frameworks · Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks,

What is the Cloud, Anyway?

Ans: Someone else’s servers they rent me by the minute…

Page 7: Cloud Adoption Frameworks · Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks,

7@DevOpsGroup #DevOpsProMoscow

Cloud –The official definition

NIST 800-145

Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.

Page 8: Cloud Adoption Frameworks · Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks,

On-Demand Self-Service

Broad Network Access

Resource Pooling

Rapid Elasticity

Measured Service

5 Essential

Characteristics3 Service Models

Software-as-a-Service (SaaS)

Platform-as-a-Service (PaaS)

Infrastructure-as-a-Service

(IaaS)

4 Deployment

Models

Private Cloud

Community Cloud

Public Cloud

Hybrid Cloud

Page 9: Cloud Adoption Frameworks · Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks,

46%

43%

45%

Teams that embrace all five essential cloud characteristics are 23 times more likely to be elite performers.

Broad network access

Resource pooling

Rapid elasticity

Measured service48%

46% On-demand self-service

% Agreed or strongly agreed

Page 10: Cloud Adoption Frameworks · Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks,

10@DevOpsGroup #DevOpsProMoscow

PaaSTeams adopting

Platform as a Service

are 1.5 times more

likely to be in the elite

performance group.

ContainersTeams using containers

in production are 1.3

times more likely to be

in the elite

performance group.

Cloud

NativeTeams adopting cloud-

native design practices

are 1.8 times more

likely to be in the elite

performance group.

IaCTeams using

Infrastructure as Code

are 1.8 times more

likely to be

in the elite

performance group.

Page 11: Cloud Adoption Frameworks · Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks,

What does this mean for your business? (2018)High Performance IT powers High Performance Business

46x

Frequent code

deployments

Faster lead

time for

changes

2555x 2604x

Faster to

recover from

incidents

7x

Lower change

failure rate

2xLikelihood of exceeding profitability, market share and

productivity goals.High performers compared with low performers, 2018 State of DevOps report

Page 12: Cloud Adoption Frameworks · Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks,

12@DevOpsGroup #DevOpsProMoscow

The Cloud Market is Growing, fast…

Forrester1 & Forbes2

The cloud market will be worth $178B in 2018, growing at 22%1 and with 83% of workloads predicted to be in the cloud by 20202.

1. Forrester: https://www.forrester.com/report/Predictions+2018+Cloud+Computing+Accelerates+Enterprise+Transformation+Everywhere/-/E-RES139611

2. Forbes: https://www.forbes.com/sites/louiscolumbus/2018/01/07/83-of-enterprise-workloads-will-be-in-the-cloud-by-2020/#6c9f86686261

Page 13: Cloud Adoption Frameworks · Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks,

13@DevOpsGroup #DevOpsProMoscowSource: Gartner

Page 14: Cloud Adoption Frameworks · Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks,

14@DevOpsGroup #DevOpsProMoscow

Page 15: Cloud Adoption Frameworks · Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks,

15@DevOpsGroup #DevOpsProMoscow

Capex Opex

It’s all Economics…

• Large investments

• Slow, infrequent decision making

• Lots of up front planning

• Amortised over many years

• Centrally controlled

• Small investments

• Rapid, frequent decision making

• Agile planning

• Paid monthly

• Distributed control

Page 16: Cloud Adoption Frameworks · Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks,

Cloud Adoption Frameworks

How to stand on the shoulders of AWS and Microsoft Azure

Page 17: Cloud Adoption Frameworks · Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks,

Helps you prepare the

Business Case and

TCO

How are you going

to justify this to

your Stakeholders?

Provides

guidance on what

needs to change

Cloud is about more than

just technology or

automation

Provides Guidance on

how to govern, manage

and operate the Cloud

How do (Dev)Ops

practices need to change

in the Cloud?

Provides a roadmap

for your migration

journey

Actually, normally it’s

multiple roadmaps

Page 18: Cloud Adoption Frameworks · Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks,

18@DevOpsGroup #DevOpsProMoscow

AWS Cloud Adoption FrameworkNon-Technical Technical

Page 19: Cloud Adoption Frameworks · Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks,

19@DevOpsGroup #DevOpsProMoscow

Five Pillars of Well-Architected

Cost

Optimisation

Analysing spend and

avoiding unnecessary costs

to maintain value as the

system scales to meet

evolving business needs.

Operational

ExcellenceDelivering business value

through continual

improvement of processes

and procedures.

Performance

Efficiency

Taking steps to ensure

compute resources are used

in the most efficient way as

demands change and

technologies advance.

Reliability

Having the ability to prevent,

and the resilience to

recover from, system

failures and disruptions.

Security

Protecting information and

systems with proven

methods such as privilege

management, data

confidentiality and risk

assessment.

Page 20: Cloud Adoption Frameworks · Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks,
Page 21: Cloud Adoption Frameworks · Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks,

https://azurechecklist.com/

Page 22: Cloud Adoption Frameworks · Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks,

Cloud Migration Pathways

How do I get there?

Page 23: Cloud Adoption Frameworks · Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks,

AWS 7 Migration Pathways

Discover, Assess & Prioritize Applications

Transition Production

PurchaseCOTS/ SaaS & licensing

Validation

Determine MigrationPath

Redesign Application/ Infrastructure Architecture

App Code Development

Full ALM / SDLC

Manual Install & Setup

Integration

Manual ConfigManual Install

Use MigrationTools

Manual Deploy

Automate

Modify underlying Infrastructure

Determine new platform

Page 24: Cloud Adoption Frameworks · Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks,

Copyright © DevOpsGroup 2019

Page 25: Cloud Adoption Frameworks · Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks,

Copyright © DevOpsGroup 2019

Page 26: Cloud Adoption Frameworks · Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks,

Copyright © DevOpsGroup 2019

Page 27: Cloud Adoption Frameworks · Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks,

Copyright © DevOpsGroup 2019

Page 28: Cloud Adoption Frameworks · Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks,

28@DevOpsGroup #DevOpsProMoscow

Page 29: Cloud Adoption Frameworks · Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks,

29@DevOpsGroup #DevOpsProMoscow

Beware the Technical Debt trap

1. Your cloud migration will uncover mountains of technical debt

2. The cost of repaying this technical debt will be X times your migration budget

3. Find someone else’s budget to pay back this debt!

https://martinfowler.com/bliki/TechnicalDebtQuadrant.html

Page 30: Cloud Adoption Frameworks · Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks,

CAF Walkthrough

Using the Azure CAF as an example

Page 31: Cloud Adoption Frameworks · Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks,
Page 32: Cloud Adoption Frameworks · Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks,

What’s the

outcome you are

trying to achieve?

Normally Cloud is part of

a wider modernisation

agenda

Kotter’s 8 Step Change Model

Page 33: Cloud Adoption Frameworks · Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks,

33@DevOpsGroup #DevOpsProMoscow

Page 34: Cloud Adoption Frameworks · Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks,

What are the skills

you’ll need to manage

your apps in the

Cloud?

1. What are the skills you need?

2. What’s the current skills gap?

3. What are the training options?

Just enough planning to get

mobilized otherwise you

get “analysis paralysis”.

Plan your migration.

Think Iterative.

Assess your

application portfolio

Which apps are moving

via which migration

pathway, which are

being retired etc

Page 35: Cloud Adoption Frameworks · Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks,

Think about “hub &

spoke” models and

where to put admin

boundaries

What do you want

to control centrally

versus delegate?

Create the

secure, scalable

foundations

Getting the “blueprint”

right will save you a lot of

grief later on…

Review your Landing

Zone using the Azure

Checklist

www.azurechecklist.com

Think of it as the Azure

equivalent of the AWS WAR

Leverage “as-code”

techniques to make

it repeatable.

Azure Blueprints, Azure

Policy, Terraform,

Puppet etc

Page 36: Cloud Adoption Frameworks · Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks,
Page 37: Cloud Adoption Frameworks · Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks,

37@DevOpsGroup #DevOpsProMoscow

Page 38: Cloud Adoption Frameworks · Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks,

Innovate via Cloud

Native Applications

12FactorApp.Net

“Microservices”

Kubernetes

<Insert buzz word here>

Start your

iterative

migration plan

Generate “quick wins”

where possible

Did I mention

ITERATE?

This is where “as-code”

techniques can really pay

off… iteration is easy!

Migrate via “Lift &

Shift” and “Evolve”

pathways

1. DevOps where you

can

2. Lift & Shift where

you can’t (or it’s

not cost effective)

Page 39: Cloud Adoption Frameworks · Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks,

39@DevOpsGroup #DevOpsProMoscow

Page 40: Cloud Adoption Frameworks · Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks,

5 Disciplines of Cloud

Governance

1. Cost Management

2. Security Baseline

3. Resource Consistency

4. Identity Baseline

5. Deployment

Acceleration

Implement a

Governance

Model

1. Business Risks

2. Policy & Compliance

3. Governance processes

Azure Governance

Checklist

https://cafbaseline.com/

Assess your current

governance and org readiness

Start from a blank

sheet of paper…

Or at least start from

MSFT or AWS guidance.

Don’t start from your

existing on-premise

governance. You’ll fail.

Page 41: Cloud Adoption Frameworks · Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks,

41@DevOpsGroup #DevOpsProMoscow

Page 42: Cloud Adoption Frameworks · Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks,

Think about Platform

& Workload Ops

But focus on making it

automated – platform-as-

a-service, not ticket-

based

Create your

Management

Baseline

Generate “quick wins”

where possible

Page 43: Cloud Adoption Frameworks · Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks,

43@DevOpsGroup #DevOpsProMoscow

Page 44: Cloud Adoption Frameworks · Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks,

In Conclusion

Page 45: Cloud Adoption Frameworks · Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks,

Helps you prepare the

Business Case and

TCO

How are you going

to justify this to

your Stakeholders?

Provides

guidance on what

needs to change

Cloud is about more than

just technology or

automation

Provides Guidance on

how to govern, manage

and operate the Cloud

How do (Dev)Ops

practices need to change

in the Cloud?

Provides a roadmap

for your migration

journey

Actually, normally it’s

multiple roadmaps

Page 46: Cloud Adoption Frameworks · Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks,

46

• Need a call to action slide?

Page 47: Cloud Adoption Frameworks · Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks,

www.devopsgroup.com@DevOpsGroup

[email protected] 368 7378

Questions?

© DevOpsGroup DOGPublic