please read – instructions for adding page numbers “x …€¦ · - code is the only constant -...

25
São Paulo August, 28 2018

Upload: others

Post on 20-May-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PLEASE READ – INSTRUCTIONS FOR ADDING PAGE NUMBERS “X …€¦ · - Code is the only constant - Automation - Build for change. 6 ... Openstack AWS Google Cloud Azure Stack

São PauloAugust, 28 2018

Page 2: PLEASE READ – INSTRUCTIONS FOR ADDING PAGE NUMBERS “X …€¦ · - Code is the only constant - Automation - Build for change. 6 ... Openstack AWS Google Cloud Azure Stack
Page 3: PLEASE READ – INSTRUCTIONS FOR ADDING PAGE NUMBERS “X …€¦ · - Code is the only constant - Automation - Build for change. 6 ... Openstack AWS Google Cloud Azure Stack

Going Cloud Native with Cloud

Foundry

Luis Macedo

@luis0macedo

Sr Platform Engineer, Pivotal

Page 4: PLEASE READ – INSTRUCTIONS FOR ADDING PAGE NUMBERS “X …€¦ · - Code is the only constant - Automation - Build for change. 6 ... Openstack AWS Google Cloud Azure Stack

4

- A platform that delivers

predictable deployment and

operations of software

anywhere by wrapping

cumbersome, repetitive, and

error-prone tasks with

abstractions that are easy

for developers (and

operators) to consume.

- Consists of three layers that

support the entire

Application lifecycle from

Development to Production.

What is Cloud Native Platform?

Page 5: PLEASE READ – INSTRUCTIONS FOR ADDING PAGE NUMBERS “X …€¦ · - Code is the only constant - Automation - Build for change. 6 ... Openstack AWS Google Cloud Azure Stack

5

12 Factor APP Design

Guidelines to build modern cloud

native applications.

- Use of Codebase

- Code is the only constant

- Automation

- Build for change

Page 6: PLEASE READ – INSTRUCTIONS FOR ADDING PAGE NUMBERS “X …€¦ · - Code is the only constant - Automation - Build for change. 6 ... Openstack AWS Google Cloud Azure Stack

6

The platform that helps you ship and run all

types of apps in a secure and highly-available

way, anywhere you want.

Page 7: PLEASE READ – INSTRUCTIONS FOR ADDING PAGE NUMBERS “X …€¦ · - Code is the only constant - Automation - Build for change. 6 ... Openstack AWS Google Cloud Azure Stack

7

Pivotal Cloud Foundry Architecture

DYNAMIC ROUTE SERVICES / API MANAGEMENT

APP MICROSERVICES TECHNOLOGY

Spring Boot SteeltoeSpring Cloud

Services

DATA MICROSERVICES TECHNOLOGY

Spring

Cloud Data

Flow

Cloud

CacheRabbitMQ MySQL

YOUR APPLICATIONS

PLATFORM

Elastic Runtime ConcourseApp

AutoscalerPCF Metrics CredHub

Orgs, Spaces,

Roles and

Permissions

EMBEDDED OS

CLOUD ORCHESTRATION

CONTAINER ORCHESTRATIONWindows Linux

Amazon

Web Services

Microsoft

Azure

Google

Cloud

PlatformOpen Stack VMWare

SERVICE

BROKER API

PIVOTAL

APPLICATION

SERVICE

PIVOTAL

CLOUD FOUNDRY

BOSH

MODERN

CLOUD NATIVE

PLATFORM

MULTI CLOUD

Page 8: PLEASE READ – INSTRUCTIONS FOR ADDING PAGE NUMBERS “X …€¦ · - Code is the only constant - Automation - Build for change. 6 ... Openstack AWS Google Cloud Azure Stack

8

No More Tickets — Self-Service Provision and Deploy

cf push

~45 seconds ~15+ Days

Find available hosts

Install & configure runtime

Install & configure middleware

Pull application source code

Retrieve dependent libraries

Create application package

Install, configure dependent service(s)

Deploy container to host(s)

Load environment variables

Configure load balancer

Configure firewalls

Update service monitoring tools

Configure log collector

2

Days

1 Day

1 Day

¼ Day

¼ Day

¼ Day

2

Days

½ Day

¼ Day

2

Days

2

Days

3

Days

1 Day

Code Complete & Tested

Application in Production

Speed &

Consistency

Page 9: PLEASE READ – INSTRUCTIONS FOR ADDING PAGE NUMBERS “X …€¦ · - Code is the only constant - Automation - Build for change. 6 ... Openstack AWS Google Cloud Azure Stack

9

Buildpacks are language-aware

Page 10: PLEASE READ – INSTRUCTIONS FOR ADDING PAGE NUMBERS “X …€¦ · - Code is the only constant - Automation - Build for change. 6 ... Openstack AWS Google Cloud Azure Stack

10

Deploy source

code that the

platform

containerizes for

you

orDeploy container

images that you

build yourself

Page 11: PLEASE READ – INSTRUCTIONS FOR ADDING PAGE NUMBERS “X …€¦ · - Code is the only constant - Automation - Build for change. 6 ... Openstack AWS Google Cloud Azure Stack

11

Deploy source

code that the

platform

containerizes for

you

orDeploy container

images that you

build yourself

Page 12: PLEASE READ – INSTRUCTIONS FOR ADDING PAGE NUMBERS “X …€¦ · - Code is the only constant - Automation - Build for change. 6 ... Openstack AWS Google Cloud Azure Stack

12

Deploy source

code that the

platform

containerizes for

you

orDeploy container

images that you

build yourself

Page 13: PLEASE READ – INSTRUCTIONS FOR ADDING PAGE NUMBERS “X …€¦ · - Code is the only constant - Automation - Build for change. 6 ... Openstack AWS Google Cloud Azure Stack

13

cf-cli

1

Cloud

Controller

2

Create App

cf push

CCDB

3

Save App

Metadata

4

Upload App

Files

5

Save App Files

Blobstore

This completes

saving your

application bits.

cf push Part 1: App Save

Page 14: PLEASE READ – INSTRUCTIONS FOR ADDING PAGE NUMBERS “X …€¦ · - Code is the only constant - Automation - Build for change. 6 ... Openstack AWS Google Cloud Azure Stack

14

cf-cli

1

Cloud

Controller

6

Start App

cf push

Diego Cell

7

Stage App

= App + Buildpack

Stream output

8

9

Blobstore

Save Droplet

Staging Complete

10

Your application is

now saved as a

Droplet and ready

for scheduling.

cf push Part 2: Staging

Page 15: PLEASE READ – INSTRUCTIONS FOR ADDING PAGE NUMBERS “X …€¦ · - Code is the only constant - Automation - Build for change. 6 ... Openstack AWS Google Cloud Azure Stack

15

Diego Cellcf-cli

1

Cloud

Controller

6

Start App

cf push

Diego Brain

Start Staged App1

1

auction

Diego Cell

Diego Cell

1

1

Start Container(s)

1

2

App Info1

3

Your application

container is now

running and cf-cli

shows useful app info.

cf push Part 3: Run

App Running

Page 16: PLEASE READ – INSTRUCTIONS FOR ADDING PAGE NUMBERS “X …€¦ · - Code is the only constant - Automation - Build for change. 6 ... Openstack AWS Google Cloud Azure Stack

The underlying abstraction

Page 17: PLEASE READ – INSTRUCTIONS FOR ADDING PAGE NUMBERS “X …€¦ · - Code is the only constant - Automation - Build for change. 6 ... Openstack AWS Google Cloud Azure Stack

17

Cloud Foundry BOSH

An open source tool chain for

release engineering, deployment,

and lifecycle management of large

scale distributed services.

● Packaging w/ embedded OS

● Server provisioning on any IaaS

● Software deployment across clusters

● Health monitoring (server AND

processes)

● Service state monitoring

● Self-healing w/ Resurrector

● Storage management

● Rolling upgrades via canaries

Page 18: PLEASE READ – INSTRUCTIONS FOR ADDING PAGE NUMBERS “X …€¦ · - Code is the only constant - Automation - Build for change. 6 ... Openstack AWS Google Cloud Azure Stack

18

Zero Downtime Updates for OS, CVEs, Patches with CF

BOSH

Page 19: PLEASE READ – INSTRUCTIONS FOR ADDING PAGE NUMBERS “X …€¦ · - Code is the only constant - Automation - Build for change. 6 ... Openstack AWS Google Cloud Azure Stack

19

Multi-Cloud with BOSH + CPI

Page 20: PLEASE READ – INSTRUCTIONS FOR ADDING PAGE NUMBERS “X …€¦ · - Code is the only constant - Automation - Build for change. 6 ... Openstack AWS Google Cloud Azure Stack

20

Easy

Extensibility Cloud

Foundry

Kubernetes

Service

Catalog

(alpha)

Any Platform

CF

app

K8s

app

Any

app

Service

Broker

Service Broker Model across

Abstractions simplifies ops

Page 21: PLEASE READ – INSTRUCTIONS FOR ADDING PAGE NUMBERS “X …€¦ · - Code is the only constant - Automation - Build for change. 6 ... Openstack AWS Google Cloud Azure Stack

21

PCF EcosystemMobile Networking

Storage

BPM

App Integration

DevOps Tooling

Data

Management

Microservices

ManagementCRM

CommerceIAMIDE/CodeOtherAPM/Monitoring

Search

Security

SIEM/Log/AuditAPI Gateways

Messaging

IaaS

Page 22: PLEASE READ – INSTRUCTIONS FOR ADDING PAGE NUMBERS “X …€¦ · - Code is the only constant - Automation - Build for change. 6 ... Openstack AWS Google Cloud Azure Stack

22

Embedded

OS(Windows & Linux)

NSX-T

CPI (15 methods)

v1

v2

v3...

CVEs

Product UpdatesJava | .NET | NodeJS

Pivotal Application

Service (PAS)

Application Code &

FrameworksBuildpacks | Spring Boot | Spring Cloud |

Steeltoe

Elastic | Packaged Software | Spark

Pivotal Container

Service (PKS)

>cf push >kubectl run

YOU build the containerWE build the container

vSphere

Azure &

Azure StackGoogle CloudAWSOpenstack

Pivotal

Network

“3Rs”

Github

Concours

e

Concours

e

Pivotal Services

Marketplace

Pivotal and

Partner Products

Continuous

delivery

Public Cloud

Services

Customer

Managed

Services

Repair— CVEs

Repave Rotate— Credhub

Page 23: PLEASE READ – INSTRUCTIONS FOR ADDING PAGE NUMBERS “X …€¦ · - Code is the only constant - Automation - Build for change. 6 ... Openstack AWS Google Cloud Azure Stack

23

Everything

you need to

transform Process &

CultureBuild for

change

ToolsContinuously

Improve

PlatformAny App, Every Cloud,

One Platform

PCF 2.0

Tracker / Spring /

Concourse

Pivotal Labs

Data / AI

Apps

Culture, tools, and platform

Page 24: PLEASE READ – INSTRUCTIONS FOR ADDING PAGE NUMBERS “X …€¦ · - Code is the only constant - Automation - Build for change. 6 ... Openstack AWS Google Cloud Azure Stack

24

The transformation is real.

T-Mobile goes from 7 months and 72 steps to update software, to same day

deployments.

Liberty Mutual builds and deploys an MVP in one month and delivers revenue-generating

version just months later.

The Home Depot ships to production 1,500 times a month, and 17,000 times a month to

all environments.

Comcast supports over 1500 developers with an operator team of 4 people.

Express Scripts went from 45 days to patch one product in nine environments, to five days.

Page 25: PLEASE READ – INSTRUCTIONS FOR ADDING PAGE NUMBERS “X …€¦ · - Code is the only constant - Automation - Build for change. 6 ... Openstack AWS Google Cloud Azure Stack

25