i segreti per modernizzare con successo le applicazioni (pivotal cloud-native workshop: milan)

15
© Copyright 2017 Pivotal Software, Inc. All rights Reserved. Version 1.0 I segreti per modernizzare con successo le applicazioni Robbie Clutton Senior Director EMEA Pivotal Labs

Upload: pivotal

Post on 15-Mar-2018

87 views

Category:

Software


1 download

TRANSCRIPT

© Copyright 2017 Pivotal Software, Inc. All rights Reserved. Version 1.0

I segreti per modernizzare con successo le applicazioni

Robbie Clutton Senior Director EMEA Pivotal Labs

“Our application is unreliable, and we spend too much time on things our users will never see”

“License, and hardware costs are too high and we need to save money”

“Change takes too long to make it’s way into production”

Why transform applications?

DEFINE THE VALUE STREAM AND IDENTIFY PORTFOLIO LEVEL METRICS

USE OKRs AT AN EXECUTION AND PROJECT LEVEL TO INFORM

PORTFOLIO ROI

REPLATFORM > MODERNIZE > OPTIMIZE

ESTABLISH, MEASURE AND UPDATE KEY OBJECTIVES AND RESULTS (OKRs)

SPEED & AGILITY STABILITY

SCALABILITY SAVINGS

$SECURITY

40-60%*More Projects With Same Staff

MillionsAnnual Savings on HW, SW and Support

25-50%*Fewer Support Incidents

400%*Faster Patching Delivery @ Zero Downtime

-90%*Time to Scale

$

$

%

* Some examples based on customer feedback

How we think about return on investment

The 12 Factor ApplicationI. Codebase One codebase tracked in revision control, many deploys

II. Dependencies Explicitly declare and isolate dependencies

III. Config Store config in the environment

IV. Backing services Treat backing services as attached resources

V. Build, release, run Strictly separate build and run stages

VI. Processes Execute the app as one or more stateless processes

VII. Port binding Export services via port binding

VIII. Concurrency Scale out via the process model

IX. Disposability Maximize robustness with fast startup and graceful shutdown

X. Dev/prod parity Keep development, staging, and production as similar as possible

XI. Logs Treat logs as event streams

XII. Admin processes Run admin/management tasks as one-off processes

https://12factor.net/

Value stream mapping

https://www.safaribooksonline.com/library/view/lean-enterprise/9781491946527/part03ch02.html

Step name Name of the discrete activity

Actor Name of the team or function that performs the step

Lead time (LT) Time from the point a process accepts a piece of work to the point it hands that work off to the next downstream process

Process time (PT) Time it would take to complete a single item of work if the person performing it had all the necessary information and resources to complete it and could work uninterrupted

Optional: Percent complete and accurate (%C/A)

Proportion of times a process receives something from an upstream process that it can use without requiring rework

Optional: Throughput (TP)

The concurrency / queue depth between Steps

4. CLOUD NATIVE

3. CLOUD RESILIENT

2. CLOUD FRIENDLY

1. CLOUD READY

Distributed, API and microservice architectures running on time-tested technology like PCF, Spring Boot and Spring Cloud Services.

A 12-factor app with full metrics and monitoring, running on PCF that includes backing data services, automated failure testing & elastic scale.

A Cloud aware app built using 12-factor principals that takes advantage of Cloud for scale and resiliency

Generally an app 0 to 7 years old that uses tech supported by the CF ecosystem and built in a modern, service-oriented manner

All new apps built Cloud

Native

Replatform existing apps to

run on PCF

Incrementally modernize and gain additional

benefits

Cloud-Native maturity model

Understanding your application portfolioTE

CH

NIC

AL

CO

ND

ITIO

N

BUSINESS VALUEWORSE BETTER

WO

RSE

BET

TER Tolerate Invest

MigrateEliminate

Focus here and start with the most impactful custom apps built 0 to 7 years ago with supported tech

Understand:● Technical condition (Y-Axis), e.g.

○ Scalability○ Performance

● Business value, (X-Axis)e.g.○ Criticality○ Competitive advantage

● Operational cost (Size), e.g. ○ License○ Hardware

● Risk (Colour), e.g.○ Compliance○ Skill set

The incremental applications journey

RUNS ON EXISTING IT

RUNS ON PIVOTAL CLOUD

FOUNDRY

RUNS WELL ON PIVOTAL CLOUD

FOUNDRY

RUNS GREAT ON PIVOTAL CLOUD

FOUNDRY

GREENFIELD, CLOUD NATIVE

APP DEVELOPMENT

Your Existing Apps Running on Current-Era

Stacks Supported by Time-Tested People and

Process

APPS REPLATFORMING

Suitable Apps Moved to PCF with Minimal Code

Change; Better Ops Thanks to Platform

Automation

OPS & ORG TRANSFORMATION

PIVOTAL LABS ENGAGEMENT

Legacy Apps Refactored Using 12-Factor Principles

and Modern Software Process (TDD, CI/CD),

Optimized for PCF

Cross-Functional Teams Delivering Continuous Software Updates Into

PCF End-to-End Through Modern Principles

Your People Paired With Us in Our Lab Building Modern Software from the Ground Up

APPS MODERNIZATION

USUALLY EASY MODERATE EFFORT MORE EFFORT

V. Build, Release, Run*XI. Logs*X. Environmental Parity*VII. Port Binding*

I. One Codebase, One App*II. Dependency Management*IX. DisposabilityXII. Administrative ProcessVIII. Concurrency

III. Configuration*IV. Backing ServicesVI. Process

IN OUR EXPERIENCE YOU’LL NEED 5-7 OF THE 12-FACTORS TO GET AN APP BUILT IN THE LAST

0-7 YEARS RUNNING ON PCF

Importance and effort of the “12-Factors”

Key techniques to transition your portfolio

APP

APP

APPµService

µService

µService

APP

APP

APP

APPLICATION REPLATFORMING APPLICATION MODERNIZATION

The “Push” Approach The “Pull” Approach1. Push the app 2. See what fails3. Write a test4. Get the tests to pass 5. Write down your recipes

1. Find the seams2. Carve out features into microservices3. Build interop code around seams4. Write tests5. Get your tests to pass

APP

APP

Start the journey here

APP

APP

APP

APP

1Identify 5-10 apps / domains confirmed as suitable to run on PCF

2Push a few apps all the way to prod while enabling the team and delivering a cookbook

Samp

le Too

l Ch

ain

Gitlab ArtifactoryConcourse

(API Driven)

Getting apps to run on PCF is easy. Policy, regulation, manual process, organization and politics is hard. Tackling these things can take time so let’s start right away. Let’s really dig into the path to prod and define the value stream. Identify the manual process and bottlenecks. Figure out how we measure near-term success. Do it with working code.

Let’s transform how the worldbuilds software, together

Questions & Answers

THANK YOU!

[email protected]

Mobile: 3453542545

Mirko CappuccioSales Director Italy