an agile approach to cloud infrastructure

62
AN AGILE APPROACH TO INFRASTRUCTURE Richard Seroter @rseroter

Upload: richard-seroter

Post on 13-Apr-2017

657 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: An agile approach to cloud infrastructure

AN AGILE APPROACH TOINFRASTRUCTURERichard Seroter@rseroter

Page 2: An agile approach to cloud infrastructure

Richard SeroterSr. Director of Product at Pivotal

Lead Cloud Editor for InfoQ.com

9-time Microsoft MVP for Integration

Technical Trainer at Pluralsight

3-time Book Author

Page 3: An agile approach to cloud infrastructure

Team vs. silo orientation

Page 4: An agile approach to cloud infrastructure

Weak spots cause problems

Page 5: An agile approach to cloud infrastructure

Delivery team succeeds together

Page 6: An agile approach to cloud infrastructure

#1 Review characteristics

#2 Discuss org changes

#3See examples

Page 7: An agile approach to cloud infrastructure

Characteristics

Page 8: An agile approach to cloud infrastructure

Elastic Infrastructure

On-demand Infrastructure

Ephemeral Infrastructure

Metered Infrastructure

Simple Infrastructure

Connected Infrastructure

Supported Infrastructure

Consistent Infrastructure

Miniaturized Infrastructure

Abstracted Infrastructure

Page 9: An agile approach to cloud infrastructure

Elastic Infrastructure

On-demand Infrastructure

Ephemeral Infrastructure

Metered Infrastructure

Simple Infrastructure

Connected Infrastructure

Supported Infrastructure

Consistent Infrastructure

Miniaturized Infrastructure

Abstracted Infrastructure

Page 10: An agile approach to cloud infrastructure

ElasticInfrastructure

What Is It?

Adapt your allocated infrastructure to

current need.

Page 11: An agile approach to cloud infrastructure

ElasticInfrastructure

Why does it matter?

Experiment with quick performance tests

Save time by responding to spikes, troughs

Save money by scaling tiers independently

Page 12: An agile approach to cloud infrastructure

ElasticInfrastructure

How to do it?

Scale server count (e.g. AWS Autoscale)

Scale server instance (e.g. CTL Cloud resize)

Scale app pool (e.g. Google Container Engine)

Page 13: An agile approach to cloud infrastructure

Elastic Infrastructure

On-demand Infrastructure

Ephemeral Infrastructure

Metered Infrastructure

Simple Infrastructure

Connected Infrastructure

Supported Infrastructure

Consistent Infrastructure

Miniaturized Infrastructure

Abstracted Infrastructure

Page 14: An agile approach to cloud infrastructure

On-demandInfrastructure

What Is It?

Infrastructure available whenever

you need it.

Page 15: An agile approach to cloud infrastructure

On-demandInfrastructure

Why does it matter?

Experiment quickly

Expand reach via access diverse geographies

Realistically test software

Page 16: An agile approach to cloud infrastructure

On-demandInfrastructure

How to do it?

Cloud environment (public or private)

Local, virtualized stacks

Shared hosts (e.g. running containers or PaaS)

Page 17: An agile approach to cloud infrastructure

Elastic Infrastructure

On-demand Infrastructure

Ephemeral Infrastructure

Metered Infrastructure

Simple Infrastructure

Connected Infrastructure

Supported Infrastructure

Consistent Infrastructure

Miniaturized Infrastructure

Abstracted Infrastructure

Page 18: An agile approach to cloud infrastructure

EphemeralInfrastructure

What Is It?

Infrastructure lives only for short

periods.

Page 19: An agile approach to cloud infrastructure

EphemeralInfrastructure

Why does it matter?

Easily discard unused resources

Avoid overburdened, shared environments

Minimize expensive monitoring and patching processes

Page 20: An agile approach to cloud infrastructure

EphemeralInfrastructure

How to do it?

Use immutable infrastructure patterns

Make gold images/containers easy to produce and share

Provide visibility and tools to prune unused resources

Page 21: An agile approach to cloud infrastructure

Elastic Infrastructure

On-demand Infrastructure

Ephemeral Infrastructure

Metered Infrastructure

Simple Infrastructure

Connected Infrastructure

Supported Infrastructure

Consistent Infrastructure

Miniaturized Infrastructure

Abstracted Infrastructure

Page 22: An agile approach to cloud infrastructure

MeteredInfrastructure

What Is It?

Pay-per-use based on consumption.

Page 23: An agile approach to cloud infrastructure

MeteredInfrastructure

Why does it matter?

Encourage responsible consumption

Increase transparency related to operational costs

Accelerates transition to automation-driven solutions

Page 24: An agile approach to cloud infrastructure

MeteredInfrastructure

How to do it?

Cloud hosting with per-resource billing and visibility

Use CI tools that can spin up infrastructure as needed

Page 25: An agile approach to cloud infrastructure

Elastic Infrastructure

On-demand Infrastructure

Ephemeral Infrastructure

Metered Infrastructure

Simple Infrastructure

Connected Infrastructure

Supported Infrastructure

Consistent Infrastructure

Miniaturized Infrastructure

Abstracted Infrastructure

Page 26: An agile approach to cloud infrastructure

SimpleInfrastructure

What Is It?

Constrained but adequate set of infrastructure

choices.

Page 27: An agile approach to cloud infrastructure

SimpleInfrastructure

Why does it matter?

Focus on innovation, not debating hardware options

Staff doesn’t have to remember unique setups

Page 28: An agile approach to cloud infrastructure

SimpleInfrastructure

How to do it?

Set up catalog of preferred configurations in cloud

Focus on key computedimensions

Offer channel for teams to share upcoming needs

Page 29: An agile approach to cloud infrastructure

Elastic Infrastructure

On-demand Infrastructure

Ephemeral Infrastructure

Metered Infrastructure

Simple Infrastructure

Connected Infrastructure

Supported Infrastructure

Consistent Infrastructure

Miniaturized Infrastructure

Abstracted Infrastructure

Page 30: An agile approach to cloud infrastructure

ConnectedInfrastructure

What Is It?

Infrastructure that is accessible to core

services.

Page 31: An agile approach to cloud infrastructure

ConnectedInfrastructure

Why does it matter?

Avoid wasting time configuring individual access

Run a secure, standard setup

Accelerate deployments and experimentation

Page 32: An agile approach to cloud infrastructure

ConnectedInfrastructure

How to do it?

Bridge networks between environments

Ensure that shared services (DB, messaging) are accessible

Give teams access to push to production

Page 33: An agile approach to cloud infrastructure

Elastic Infrastructure

On-demand Infrastructure

Ephemeral Infrastructure

Metered Infrastructure

Simple Infrastructure

Connected Infrastructure

Supported Infrastructure

Consistent Infrastructure

Miniaturized Infrastructure

Abstracted Infrastructure

Page 34: An agile approach to cloud infrastructure

SupportedInfrastructure

What Is It?

Infrastructure that’s owned and

maintained by the right team.

Page 35: An agile approach to cloud infrastructure

SupportedInfrastructure

Why does it matter?

Security and licensing risks from infrastructure sprawl

Teams on pooledinfrastructure assume support

Encourages transition to DevOps

Page 36: An agile approach to cloud infrastructure

SupportedInfrastructure

How to do it?

Base images/containers defined with best practices

Automation provided for management at scale

Modern techniques for ephemeral instances

Page 37: An agile approach to cloud infrastructure

Elastic Infrastructure

On-demand Infrastructure

Ephemeral Infrastructure

Metered Infrastructure

Simple Infrastructure

Connected Infrastructure

Supported Infrastructure

Consistent Infrastructure

Miniaturized Infrastructure

Abstracted Infrastructure

Page 38: An agile approach to cloud infrastructure

ConsistentInfrastructure

What Is It?

Identical, repeatable configurations across

environments.

Page 39: An agile approach to cloud infrastructure

ConsistentInfrastructure

Why does it matter?

Save time troubleshootingsnowflake servers

Empower teams to quickly build standard environments

Apply best practices and avoid accidental security holes

Page 40: An agile approach to cloud infrastructure

ConsistentInfrastructure

How to do it?

Treat infrastructure as code (e.g. Chef, Ansible)

Build environments using evolving, but standard, definitions (e.g. Terraform)

Constantly reset environments to avoid “drift”

Page 41: An agile approach to cloud infrastructure

Elastic Infrastructure

On-demand Infrastructure

Ephemeral Infrastructure

Metered Infrastructure

Simple Infrastructure

Connected Infrastructure

Supported Infrastructure

Consistent Infrastructure

Miniaturized Infrastructure

Abstracted Infrastructure

Page 42: An agile approach to cloud infrastructure

MiniaturizedInfrastructure

What Is It?

Developers using local, production-like

environments.

Page 43: An agile approach to cloud infrastructure

MiniaturizedInfrastructure

Why does it matter?

Simulate runtime setup on a smaller scale

Avoid “works on my machine” problems

Accelerate onboarding of new team members

Page 44: An agile approach to cloud infrastructure

MiniaturizedInfrastructure

How to do it?

Shared sandboxes

On-demand cloud development environments

Virtualization templates (e.g. Vagrant)

Page 45: An agile approach to cloud infrastructure

Elastic Infrastructure

On-demand Infrastructure

Ephemeral Infrastructure

Metered Infrastructure

Simple Infrastructure

Connected Infrastructure

Supported Infrastructure

Consistent Infrastructure

Miniaturized Infrastructure

Abstracted Infrastructure

Page 46: An agile approach to cloud infrastructure

AbstractedInfrastructure

What Is It?

Remove inherent knowledge of what sits beneath your

applications.

Page 47: An agile approach to cloud infrastructure

AbstractedInfrastructure

Why does it matter?

Focus only on application tier

Design more portable systems

Achieve higher density environments

Page 48: An agile approach to cloud infrastructure

AbstractedInfrastructure

How to do it?

Microservices bundled into containers (e.g. Docker)

Use asynchronous, serverlessapp constructs (e.g. AWS Lambda)

Leverage an application platform (e.g. Cloud Foundry)

Page 49: An agile approach to cloud infrastructure

Changes Needed

Page 50: An agile approach to cloud infrastructure

PMO

Organizational Impact

Finance Human Resources Development Operations

ü

Page 51: An agile approach to cloud infrastructure

PMO

Organizational Impact

Finance Human Resources Development Operations

ü ü

Page 52: An agile approach to cloud infrastructure

PMO

Organizational Impact

Finance Human Resources Development Operations

ü ü ü

Page 53: An agile approach to cloud infrastructure

PMO

Organizational Impact

Finance Human Resources Development Operations

ü ü ü ü

Page 54: An agile approach to cloud infrastructure

PMO

Organizational Impact

Finance Human Resources Development Operations

ü ü ü ü ü

Page 55: An agile approach to cloud infrastructure

Real World Example

Page 56: An agile approach to cloud infrastructure

Project Management

Product teams track large infrastructure demands

Rarely have line items for building infrastructure

Page 57: An agile approach to cloud infrastructure

Finance

Clear transparency on infrastructure costs

Projected costs factored lightly into business cases for new teams

Page 58: An agile approach to cloud infrastructure

Human Resources

Hire generalists

Incentivize transparent, impactful performance

Page 59: An agile approach to cloud infrastructure

Development

Familiarity with infrastructure and configmanagement

Comfortable with multiple application containers

Page 60: An agile approach to cloud infrastructure

Operations

Build a solid base platform

Help define standard configurations

Page 61: An agile approach to cloud infrastructure

#1 Review characteristics

#2 Discuss org changes

#3See examples

Page 62: An agile approach to cloud infrastructure

Thank you!

Richard Seroter@rseroter