removing barriers between dev and ops

22
1 © 2015 Pivotal Software, Inc. All rights reserved. Removing Barriers Between Dev and Ops It Takes a Platform Cloud Foundry Meetup 4 Novembre 2015 Alexandre Vasseur, Pivotal @PivotalFrance

Upload: marie-jeanne-dougados

Post on 17-Feb-2017

279 views

Category:

Software


2 download

TRANSCRIPT

1 © 2015 Pivotal Software, Inc. All rights reserved. 1 © 2015 Pivotal Software, Inc. All rights reserved.

Removing Barriers Between Dev and Ops It Takes a Platform

Cloud Foundry Meetup 4 Novembre 2015 Alexandre Vasseur, Pivotal @PivotalFrance

2 © 2015 Pivotal Software, Inc. All rights reserved. 2

From idea to production: 6-9 months

3 © 2015 Pivotal Software, Inc. All rights reserved.

An idea in the morning, is running in production by evening

3

4 © 2015 Pivotal Software, Inc. All rights reserved. 4

Speed Ability

To Optimize

Building Modern Software

5 © 2015 Pivotal Software, Inc. All rights reserved.

IT Operations need to evolve

Failure to change the operational

model 31%

Doing too little 19%

Failure to change the

funding model 13%

Defending I&O and doing too

much 11%

Wrong Benefits

Using the wrong technologies

6%

It’s great! 5%

Something else 5%

Sources: “Problems Encountered by 95% of Private Clouds,” Gartner, Feb 2015. See also 451 commentary on cloud for net-new applications and “Cloud is a Process Not a Technology revolution”, VMWare.

§  Processes don’t support agility §  Ad hoc automation/ Templates §  Emphasis on VMs, not Apps §  Infrastructure Dependent Apps §  Scaling – capacity increase

requires infrastructure changes §  All SW components need to be

updated at the same time

What is going wrong with your private Cloud?

6 © 2015 Pivotal Software, Inc. All rights reserved.

0! 3,25! 6,5! 9,75! 13! 16,25!

Sources: “Electric Cloud LinkedIn Survey to software developers”

Administrative tasks

Design and Coding

Brainstorming

Waiting for Test/Build

Managing Environments

Average Hours/Week

Software developers spend too much time NOT writing software

6

7 © 2015 Pivotal Software, Inc. All rights reserved.

Essential elements of a cloud native platform •  Rapid Provisioning •  Rapid Application Deployment & Management •  Scale Horizontally •  Basic Monitoring, Logs & Metrics •  No-downtime platform upgrades •  Dynamic load balancing and routing •  Manage supporting services (data, messaging) •  Failure detection and health remediation

8 © 2015 Pivotal Software, Inc. All rights reserved. 8

Cloud Native with Pivotal

Application Framework

Runtime Platform

Infrastructure Automation

Infrastructure

Culture

Dev

Dev IT Ops

IT Ops

IT Ops

Tools

Spring Cloud Spring Boot

Cloud Foundry

BOSH

AWS VMWare OpenStack

9 © 2015 Pivotal Software, Inc. All rights reserved.

Application Dial Tone

Emits application “dial tone” •  Config •  Runtime •  Logs •  Metrics •  Health Management •  Security •  Operations

Your Application Code / Container

PaaS

Virtualized Infrastructure

10 © 2015 Pivotal Software, Inc. All rights reserved.

Enabling Devops D

atab

ase

Web

S

erve

r

Mes

sagi

ng

Your Application Code

PaaS

Virtualized Infrastructure

Platform Operations

Application Developers Application Operations

• Deploys platform • Makes standard runtimes and services

available • Monitors platform • Scales platform

(ensuring sufficient capacity) • Upgrades platform with zero-downtime

• Creates deployable artifact

• Config Prod environment • Deploys application to Prod • Monitors application • Scales application (capacity) • Deploys new app version with

zero downtime.

11 © 2015 Pivotal Software, Inc. All rights reserved.

Operations Activities and Tools Platform Ops Application Ops

Deploy: Operations Manager Deploy: Application Manager, CLI, STS Plugin, CI/CD Pipelines

Monitor: logs and metrics Monitor: Agentless APM APM integrations Application logs – cli, Apps Man, ELK

Scale: Operations Manager Scale: Apps Manager, cli, autoscaling

Upgrade: Canary, Rolling Upgrades Zero Downtime

Upgrade: Blue/green, route mappings, gradual cutover Zero Downtime

Application Ops

12 © 2015 Pivotal Software, Inc. All rights reserved.

Platform Logs Ops

13 © 2015 Pivotal Software, Inc. All rights reserved.

Platform Metrics Ops

14 © 2015 Pivotal Software, Inc. All rights reserved.

Firewall & Routes

Service Bindings

App Lifecycle

Runtime Installation & Config Middleware Installation & Config

Application Installation & Config

App Lifecycle

Logging, Health, Telemetry

Eliminating Service Tickets

15 © 2015 Pivotal Software, Inc. All rights reserved.

Application Logs App Ops

16 © 2015 Pivotal Software, Inc. All rights reserved.

Application Metrics App Ops

17 © 2015 Pivotal Software, Inc. All rights reserved.

Upgrade and patch with rolling “canary” deploys

17

X Y M N A B

X Y M N A B

X Y M N A B

X Y M N A B

Remaining VMs updated same way

X Y M N A B

Ops

18 © 2015 Pivotal Software, Inc. All rights reserved.

4 layers of Self Healing App Ops

Ops

Everything to deploy and manage the app

APPLICATION Health management

APM

Log aggregation

Roles and Policy Security and

Isolation

Scaling

Blue green deployment

App Ops

20 © 2015 Pivotal Software, Inc. All rights reserved.

Full application lifecycle management Continuous Integration and Delivery

Commit Code Change

Automate Build &

Test (Unit Test, Static Code Analysis)

Store Binaries & Build

Artifacts

Automated Integration

Testing

Acceptance,Performance

& Load

Zero Downtime Upgrade to Production

Build Pipeline

Operations

Tool Chain

Development Test + UAT + Staging

Production Gitlab Jenkins

Operate the

pipeline

21 © 2015 Pivotal Software, Inc. All rights reserved.

Continuous Delivery Release once every 6 months

More Bugs in production

Release early and often Higher Quality of Code

DevOps Not my problem

Separate tools, varied incentives, opaque process

Shared responsibility Common incentives, tools, process

and culture

Microservices Tightly coupled components

Slow deployment cycles waiting on integrated tests teams

Loosely coupled components Automated deploy without waiting on

individual components