dev2133bu designing an application-centric or distribution€¦ · designing an application-centric...

50
Michael Gasch Application Platform Architect Martijn Baecke Cloud Evangelist & Strategist DEV2133BU #VMworld #DEV2133BU Designing an Application-Centric Infrastructure Platform: Experience from the Field VMworld 2017 Content: Not for publication or distribution

Upload: others

Post on 20-May-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DEV2133BU Designing an Application-Centric or distribution€¦ · Designing an Application-Centric Infrastructure Platform: Experience from the Field VMworld 2017 ... Cloud Native

Michael Gasch – Application Platform ArchitectMartijn Baecke – Cloud Evangelist & Strategist

DEV2133BU

#VMworld #DEV2133BU

Designing an Application-Centric Infrastructure Platform: Experience from the Field

VMworld 2017 Content: Not fo

r publication or distri

bution

Page 2: DEV2133BU Designing an Application-Centric or distribution€¦ · Designing an Application-Centric Infrastructure Platform: Experience from the Field VMworld 2017 ... Cloud Native

• This presentation may contain product features that are currently under development.

• This overview of new technology represents no commitment from VMware to deliver these features in any generally available product.

• Features are subject to change, and must not be included in contracts, purchase orders, or sales agreements of any kind.

• Technical feasibility and market demand will affect final delivery.

• Pricing and packaging for any new technologies or features discussed or presented have not been determined.

Disclaimer

2#DEV2133BU CONFIDENTIAL

VMworld 2017 Content: Not fo

r publication or distri

bution

Page 3: DEV2133BU Designing an Application-Centric or distribution€¦ · Designing an Application-Centric Infrastructure Platform: Experience from the Field VMworld 2017 ... Cloud Native

Designing an Application-Centric Infrastructure Platform:

Experience from the Field

3#DEV2133BU CONFIDENTIAL

VMworld 2017 Content: Not fo

r publication or distri

bution

Page 4: DEV2133BU Designing an Application-Centric or distribution€¦ · Designing an Application-Centric Infrastructure Platform: Experience from the Field VMworld 2017 ... Cloud Native

In the age of digital transformation, businesses want a competitive advantage. They rely heavily on agile

applications with just-in-time data intelligence. To meet these expectations, architects must provide platforms that are agile

across the application layer and infrastructure, along with operational excellence. It is imperative that developers and infrastructure operations work closely together to build the

necessary architecture with flexibility and robustness in mind from the beginning.

4#DEV2133BU CONFIDENTIAL

VMworld 2017 Content: Not fo

r publication or distri

bution

Page 5: DEV2133BU Designing an Application-Centric or distribution€¦ · Designing an Application-Centric Infrastructure Platform: Experience from the Field VMworld 2017 ... Cloud Native

In the age of digital transformation, businesses want a competitive advantage. They rely heavily on agile

applications with just-in-time data intelligence. To meet these expectations, architects must provide platforms that are agile

across the application layer and infrastructure, along with operational excellence. It is imperative that developers and infrastructure operations work closely together to build the

necessary architecture with flexibility and robustness in mind from the beginning.

5#DEV2133BU CONFIDENTIAL

VMworld 2017 Content: Not fo

r publication or distri

bution

Page 6: DEV2133BU Designing an Application-Centric or distribution€¦ · Designing an Application-Centric Infrastructure Platform: Experience from the Field VMworld 2017 ... Cloud Native

In the age of digital transformation, businesses want a competitive advantage. They rely heavily on agile

applications with just-in-time data intelligence. To meet these expectations, architects must provide platforms that are agile

across the application layer and infrastructure, along with operational excellence. It is imperative that developers and infrastructure operations work closely together to build the

necessary architecture with flexibility and robustness in mind from the beginning.

6#DEV2133BU CONFIDENTIAL

VMworld 2017 Content: Not fo

r publication or distri

bution

Page 7: DEV2133BU Designing an Application-Centric or distribution€¦ · Designing an Application-Centric Infrastructure Platform: Experience from the Field VMworld 2017 ... Cloud Native

In the age of digital transformation, businesses want a competitive advantage. They rely heavily on agile

applications with just-in-time data intelligence. To meet these expectations, architects must provide platforms that are agile

across the application layer and infrastructure, along with operational excellence. It is imperative that developers and infrastructure operations work closely together to build the

necessary architecture with flexibility and robustness in mind from the beginning.

7#DEV2133BU CONFIDENTIAL

VMworld 2017 Content: Not fo

r publication or distri

bution

Page 8: DEV2133BU Designing an Application-Centric or distribution€¦ · Designing an Application-Centric Infrastructure Platform: Experience from the Field VMworld 2017 ... Cloud Native

In the age of digital transformation, businesses want a competitive advantage. They rely heavily on agile

applications with just-in-time data intelligence. To meet these expectations, architects must provide platforms that are agile

across the application layer and infrastructure, along with operational excellence. It is imperative that developers and infrastructure operations work closely together to build the

necessary architecture with flexibility and robustness in mind from the beginning.

8#DEV2133BU CONFIDENTIAL

VMworld 2017 Content: Not fo

r publication or distri

bution

Page 9: DEV2133BU Designing an Application-Centric or distribution€¦ · Designing an Application-Centric Infrastructure Platform: Experience from the Field VMworld 2017 ... Cloud Native

In the age of digital transformation, businesses want a competitive advantage. They rely heavily on agile

applications with just-in-time data intelligence. To meet these expectations, architects must provide platforms that are agile

across the application layer and infrastructure, along with operational excellence. It is imperative that developers and infrastructure operations work closely together to build the

necessary architecture with flexibility and robustness in mind from the beginning.

9#DEV2133BU CONFIDENTIAL

VMworld 2017 Content: Not fo

r publication or distri

bution

Page 10: DEV2133BU Designing an Application-Centric or distribution€¦ · Designing an Application-Centric Infrastructure Platform: Experience from the Field VMworld 2017 ... Cloud Native

In the age of digital transformation, businesses want a competitive advantage. They rely heavily on agile

applications with just-in-time data intelligence. To meet these expectations, architects must provide platforms that are agile

across the application layer and infrastructure, along with operational excellence. It is imperative that developers and infrastructure operations work closely together to build the

necessary architecture with flexibility and robustness in mind from the beginning.

10#DEV2133BU CONFIDENTIAL

VMworld 2017 Content: Not fo

r publication or distri

bution

Page 11: DEV2133BU Designing an Application-Centric or distribution€¦ · Designing an Application-Centric Infrastructure Platform: Experience from the Field VMworld 2017 ... Cloud Native

“It is not the strongest of the species that survive, nor the most intelligent, but the one most responsive to change”

Charles Darwin

11#DEV2133BU CONFIDENTIAL

VMworld 2017 Content: Not fo

r publication or distri

bution

Page 12: DEV2133BU Designing an Application-Centric or distribution€¦ · Designing an Application-Centric Infrastructure Platform: Experience from the Field VMworld 2017 ... Cloud Native

Not Too Long Ago Life Was Easy…

12

Apps!

Access to

virtual machine

for coding!

Users Developers

#DEV2133BU CONFIDENTIAL

VMworld 2017 Content: Not fo

r publication or distri

bution

Page 13: DEV2133BU Designing an Application-Centric or distribution€¦ · Designing an Application-Centric Infrastructure Platform: Experience from the Field VMworld 2017 ... Cloud Native

Digital Transformation Changes IT Demands…

13

Apps!

Access to

virtual machine

for coding!

Users Developers

Apps! Apps! More

Apps! Apps!

New features!

Apps! NOW!

APIs! DevOps!

Containers!

Control the

infrastructure!

#DEV2133BU CONFIDENTIAL

VMworld 2017 Content: Not fo

r publication or distri

bution

Page 14: DEV2133BU Designing an Application-Centric or distribution€¦ · Designing an Application-Centric Infrastructure Platform: Experience from the Field VMworld 2017 ... Cloud Native

DevOps

Digital Transformation

14

Business Applications Infrastructure

#DEV2133BU CONFIDENTIAL

VMworld 2017 Content: Not fo

r publication or distri

bution

Page 15: DEV2133BU Designing an Application-Centric or distribution€¦ · Designing an Application-Centric Infrastructure Platform: Experience from the Field VMworld 2017 ... Cloud Native

15

Business Applications Infrastructure

Build New Functionality

Deploy New Functionality

Monitor Applications

Provide Feedback /

Input

New App / Features

#DEV2133BU CONFIDENTIAL

VMworld 2017 Content: Not fo

r publication or distri

bution

Page 16: DEV2133BU Designing an Application-Centric or distribution€¦ · Designing an Application-Centric Infrastructure Platform: Experience from the Field VMworld 2017 ... Cloud Native

Disruptor

Innovators

Followers

Do nothing

Diamond of Innovation

#DEV2133BU CONFIDENTIAL

VMworld 2017 Content: Not fo

r publication or distri

bution

Page 17: DEV2133BU Designing an Application-Centric or distribution€¦ · Designing an Application-Centric Infrastructure Platform: Experience from the Field VMworld 2017 ... Cloud Native

Digital Business Driving Software Development

Source: Gartner

75%of application development

supporting digital business will

be built not bought by 2020

#DEV2133BU CONFIDENTIAL

VMworld 2017 Content: Not fo

r publication or distri

bution

Page 18: DEV2133BU Designing an Application-Centric or distribution€¦ · Designing an Application-Centric Infrastructure Platform: Experience from the Field VMworld 2017 ... Cloud Native

Developers’ Pyramid of Needs

Performance

Scalability

Availability

Security

Manageability

Functional Differentiation What the Developer cares about

What should be provided as a service

18#DEV2133BU CONFIDENTIAL

VMworld 2017 Content: Not fo

r publication or distri

bution

Page 19: DEV2133BU Designing an Application-Centric or distribution€¦ · Designing an Application-Centric Infrastructure Platform: Experience from the Field VMworld 2017 ... Cloud Native

DevOps From an Infrastructure Perspective

19

APP

APP

Developer Code Repository

CI/CD

Which infrastructure to use?

How tomanage

this?

DevOps in a nutshell

#DEV2133BU CONFIDENTIAL

VMworld 2017 Content: Not fo

r publication or distri

bution

Page 20: DEV2133BU Designing an Application-Centric or distribution€¦ · Designing an Application-Centric Infrastructure Platform: Experience from the Field VMworld 2017 ... Cloud Native

20

Rethink OperationsRethink Infrastructure

#DEV2133BU CONFIDENTIAL

VMworld 2017 Content: Not fo

r publication or distri

bution

Page 21: DEV2133BU Designing an Application-Centric or distribution€¦ · Designing an Application-Centric Infrastructure Platform: Experience from the Field VMworld 2017 ... Cloud Native

Rethink Infrastructure

#DEV2133BU CONFIDENTIAL

VMworld 2017 Content: Not fo

r publication or distri

bution

Page 22: DEV2133BU Designing an Application-Centric or distribution€¦ · Designing an Application-Centric Infrastructure Platform: Experience from the Field VMworld 2017 ... Cloud Native

``

DeveloperMindset

22

DevOps Ready Application Centric Platform #DEV2133BU CONFIDENTIAL

VMworld 2017 Content: Not fo

r publication or distri

bution

Page 23: DEV2133BU Designing an Application-Centric or distribution€¦ · Designing an Application-Centric Infrastructure Platform: Experience from the Field VMworld 2017 ... Cloud Native

Programmable

Self-Service

On-Demand#DEV2133BU CONFIDENTIAL

VMworld 2017 Content: Not fo

r publication or distri

bution

Page 24: DEV2133BU Designing an Application-Centric or distribution€¦ · Designing an Application-Centric Infrastructure Platform: Experience from the Field VMworld 2017 ... Cloud Native

Virtualize

Automate, like crazy!#DEV2133BU CONFIDENTIAL

VMworld 2017 Content: Not fo

r publication or distri

bution

Page 25: DEV2133BU Designing an Application-Centric or distribution€¦ · Designing an Application-Centric Infrastructure Platform: Experience from the Field VMworld 2017 ... Cloud Native

CONFIDENTIAL25

Infrastructure as Code

#DEV2133BU CONFIDENTIAL

VMworld 2017 Content: Not fo

r publication or distri

bution

Page 26: DEV2133BU Designing an Application-Centric or distribution€¦ · Designing an Application-Centric Infrastructure Platform: Experience from the Field VMworld 2017 ... Cloud Native

OOTBDIY

Unstructured

Components

approach

maximizes

flexibility, but at

cost of integrating

and maintaining

platform

infrastructure.

Structured

Packaged product

for deployment of

Cloud Native apps.

Simplifies

experience for both

Developers and

Operations.

Best Practice : How to Build a Platform

#DEV2133BU CONFIDENTIAL

VMworld 2017 Content: Not fo

r publication or distri

bution

Page 27: DEV2133BU Designing an Application-Centric or distribution€¦ · Designing an Application-Centric Infrastructure Platform: Experience from the Field VMworld 2017 ... Cloud Native

Rethink Infrastructure

Mission

Critical Apps

Virtual

Desktops

Data Analytics/

Hadoop

Traditional

Apps

Container

AppsIoT

Private cloud Public cloud

Cross

Cloud ServicesvRealize

Container Services

VMware SDDC

vSANvSphere NSX

Application Platform

VMworld 2017 Content: Not fo

r publication or distri

bution

Page 28: DEV2133BU Designing an Application-Centric or distribution€¦ · Designing an Application-Centric Infrastructure Platform: Experience from the Field VMworld 2017 ... Cloud Native

Rethink Operations

#DEV2133BU CONFIDENTIAL

VMworld 2017 Content: Not fo

r publication or distri

bution

Page 29: DEV2133BU Designing an Application-Centric or distribution€¦ · Designing an Application-Centric Infrastructure Platform: Experience from the Field VMworld 2017 ... Cloud Native

A Typical Discussion in the Enterprise Today

29#DEV2133BU CONFIDENTIAL

VMworld 2017 Content: Not fo

r publication or distri

bution

Page 30: DEV2133BU Designing an Application-Centric or distribution€¦ · Designing an Application-Centric Infrastructure Platform: Experience from the Field VMworld 2017 ... Cloud Native

Operations Also Needs To Evolve

30

Developers

Platform Engineers

IT Operations

Serv

ices

Co

ns

um

es

#DEV2133BU CONFIDENTIAL

VMworld 2017 Content: Not fo

r publication or distri

bution

Page 31: DEV2133BU Designing an Application-Centric or distribution€¦ · Designing an Application-Centric Infrastructure Platform: Experience from the Field VMworld 2017 ... Cloud Native

Developers’ Pyramid of Needs

Performance

Scalability

Availability

Security

Manageability

Functional Differentiation What the Developer cares about

What should be provided as a service

31

RESPONSIBILITY OF PLATFORM

ENGINEERING

#DEV2133BU CONFIDENTIAL

VMworld 2017 Content: Not fo

r publication or distri

bution

Page 32: DEV2133BU Designing an Application-Centric or distribution€¦ · Designing an Application-Centric Infrastructure Platform: Experience from the Field VMworld 2017 ... Cloud Native

Platform Engineering (PE) Responsibilities

32

Application Platform(e.g. Kubernetes, Pivotal Cloud Foundry)

Service 1

Service 2

Service "n"

Service 1

Service 2

Service "n"

Service

Boundary

Service

Boundary

CI/CD Tooling & Processes

Resiliency

Resource Optimization

Communication

Observability

Enterprise Developers

Security

State Management

App Runtime

Platform Management

VMware Software-Defined Data Center (SDDC)

#DEV2133BU CONFIDENTIAL

VMworld 2017 Content: Not fo

r publication or distri

bution

Page 33: DEV2133BU Designing an Application-Centric or distribution€¦ · Designing an Application-Centric Infrastructure Platform: Experience from the Field VMworld 2017 ... Cloud Native

Learn From The Disruptors

34#DEV2133BU CONFIDENTIAL

VMworld 2017 Content: Not fo

r publication or distri

bution

Page 34: DEV2133BU Designing an Application-Centric or distribution€¦ · Designing an Application-Centric Infrastructure Platform: Experience from the Field VMworld 2017 ... Cloud Native

Disruptor

Innovators

Followers

Do nothing

Learn From The Disruptors

1%

99%“The Rest”

#DEV2133BU CONFIDENTIAL

VMworld 2017 Content: Not fo

r publication or distri

bution

Page 35: DEV2133BU Designing an Application-Centric or distribution€¦ · Designing an Application-Centric Infrastructure Platform: Experience from the Field VMworld 2017 ... Cloud Native

Rethink Operations

36#DEV2133BU CONFIDENTIAL

VMworld 2017 Content: Not fo

r publication or distri

bution

Page 36: DEV2133BU Designing an Application-Centric or distribution€¦ · Designing an Application-Centric Infrastructure Platform: Experience from the Field VMworld 2017 ... Cloud Native

Tales from

the Field

#DEV2133BU CONFIDENTIAL

VMworld 2017 Content: Not fo

r publication or distri

bution

Page 37: DEV2133BU Designing an Application-Centric or distribution€¦ · Designing an Application-Centric Infrastructure Platform: Experience from the Field VMworld 2017 ... Cloud Native

From vSphere Operations to Platform Engineering

38

Developers

Platform Engineers

IT Operations

Se

rvic

es

Co

ns

um

es

vSphere Operators are best positioned to become Platform Engineers.

#DEV2133BU CONFIDENTIAL

VMworld 2017 Content: Not fo

r publication or distri

bution

Page 38: DEV2133BU Designing an Application-Centric or distribution€¦ · Designing an Application-Centric Infrastructure Platform: Experience from the Field VMworld 2017 ... Cloud Native

Platform Engineering Responsibilities

39

VMworld 2017 Content: Not fo

r publication or distri

bution

Page 39: DEV2133BU Designing an Application-Centric or distribution€¦ · Designing an Application-Centric Infrastructure Platform: Experience from the Field VMworld 2017 ... Cloud Native

Some Background on the following Examples

• Developers could tackle all Platform Engineering Responsibilities in each Service

– Analogy: Microsoft Exchange DAGs or SQL Server Always-on Group

– Downside: Complexity and Sprawl

• Alternative: let the Platform handle non-functional Service Requirements

– Analogy: vSphere HA

– Advantage: Common Knowledge and Methodology (Standardization)

• Examples show various Platform Engineering Approaches and simple but powerful Patterns

40#DEV2133BU CONFIDENTIAL

VMworld 2017 Content: Not fo

r publication or distri

bution

Page 40: DEV2133BU Designing an Application-Centric or distribution€¦ · Designing an Application-Centric Infrastructure Platform: Experience from the Field VMworld 2017 ... Cloud Native

Example #1 – Health Checks & Rolling Updates

42

Distributed Application Runtime (Kubernetes)

Instance

(Container)

v1.0

Client

Requests

Loadbalancer (VIP)

Instance

(Container)

v1.0

Instance

(Container)

v1.0

myA

pp

Instance

(Container)

v2.0

Instance

(Container)

v2.0

Instance

(Container)

v2.0

Instance

(Container)

v2.0

Instance

(Container)

v2.0

Instance

(Container)

v2.0

http Endpoints: /prestop & /ready

#DEV2133BU CONFIDENTIAL

VMworld 2017 Content: Not fo

r publication or distri

bution

Page 41: DEV2133BU Designing an Application-Centric or distribution€¦ · Designing an Application-Centric Infrastructure Platform: Experience from the Field VMworld 2017 ... Cloud Native

Example #2 – Logging and the Non-12-Factor App

43

Pod (Single Container)

web

/var/vendor/ABC

/custom.log

Console

~# kubectl logs <ID>

~# <empty_reply>

std

out

Pod (with Sidecar)

web

/var/vendor/ABC

/custom.log

tailf

<stdout>

Console

~# kubectl logs <ID>

~# <log_reply>

std

out

#DEV2133BU CONFIDENTIAL

VMworld 2017 Content: Not fo

r publication or distri

bution

Page 42: DEV2133BU Designing an Application-Centric or distribution€¦ · Designing an Application-Centric Infrastructure Platform: Experience from the Field VMworld 2017 ... Cloud Native

Example #3 – App Auto-Scaling

44

Client

Requests

Loadbalancer (VIP)

Distributed Application Runtime (Kubernetes)

Worker

Message Queue

Worker Worker WorkerWorker Worker Worker

#DEV2133BU CONFIDENTIAL

VMworld 2017 Content: Not fo

r publication or distri

bution

Page 43: DEV2133BU Designing an Application-Centric or distribution€¦ · Designing an Application-Centric Infrastructure Platform: Experience from the Field VMworld 2017 ... Cloud Native

Example #3 – App Auto-Scaling

45

Client

Requests

Loadbalancer (VIP)

Distributed Application Runtime (Kubernetes)

Worker

Message Queue

Worker Worker WorkerWorker Worker WorkerAuto-

Scaler

#DEV2133BU CONFIDENTIAL

VMworld 2017 Content: Not fo

r publication or distri

bution

Page 44: DEV2133BU Designing an Application-Centric or distribution€¦ · Designing an Application-Centric Infrastructure Platform: Experience from the Field VMworld 2017 ... Cloud Native

Example #3 – App Auto-Scaling Integration in vRealize LogInsight (vRLI)

• Uses vRLI REST API

• Auto-Scaler (“Custom Controller”) emits Events from Kubernetes to vRLI API

• Note: not a supported Integration by VMware today (Proof of Technology)

46

LogInsight Custom DashboardRabbitMQ UI

#DEV2133BU CONFIDENTIAL

VMworld 2017 Content: Not fo

r publication or distri

bution

Page 45: DEV2133BU Designing an Application-Centric or distribution€¦ · Designing an Application-Centric Infrastructure Platform: Experience from the Field VMworld 2017 ... Cloud Native

Wrapping Up

VMworld 2017 Content: Not fo

r publication or distri

bution

Page 46: DEV2133BU Designing an Application-Centric or distribution€¦ · Designing an Application-Centric Infrastructure Platform: Experience from the Field VMworld 2017 ... Cloud Native

49#DEV2133BU CONFIDENTIAL

VMworld 2017 Content: Not fo

r publication or distri

bution

Page 47: DEV2133BU Designing an Application-Centric or distribution€¦ · Designing an Application-Centric Infrastructure Platform: Experience from the Field VMworld 2017 ... Cloud Native

50

The vSphere Operator of Today, is the Platform Engineer of Tomorrow!

#DEV2133BU CONFIDENTIAL

VMworld 2017 Content: Not fo

r publication or distri

bution

Page 48: DEV2133BU Designing an Application-Centric or distribution€¦ · Designing an Application-Centric Infrastructure Platform: Experience from the Field VMworld 2017 ... Cloud Native

VMworld 2017 Content: Not fo

r publication or distri

bution

Page 49: DEV2133BU Designing an Application-Centric or distribution€¦ · Designing an Application-Centric Infrastructure Platform: Experience from the Field VMworld 2017 ... Cloud Native

VMworld 2017 Content: Not fo

r publication or distri

bution

Page 50: DEV2133BU Designing an Application-Centric or distribution€¦ · Designing an Application-Centric Infrastructure Platform: Experience from the Field VMworld 2017 ... Cloud Native

Further Resources

• VMware Cloud-Native Applications

• Site Reliability Engineering (Free Google eBook)

• Dockerfile Best Practices

• Kubernetes Pod (Container) Mechanics for Application Integration (ff.)

• Pid 1, Zombie Processes and handling graceful Shutdowns/ SIGs

• The 8 Fallacies of Distributed Computing – Explained

• The Datacenter as a Computer

• Github Repo (Sources & READMEs)

53

VMworld 2017 Content: Not fo

r publication or distri

bution