cloud foundry: the best place to run microservices

72
MICROSERVICES CLOUD FOUNDRY: THE BEST PLACE TO RUN Matt Stine (@mstine)

Upload: matt-stine

Post on 15-Jan-2017

1.032 views

Category:

Software


0 download

TRANSCRIPT

MICROSERVICESCLOUD FOUNDRY: THE BEST PLACE TO RUN

Matt Stine (@mstine)

MATT STINESenior Product Manager - Pivotal Software, Inc.

AUTHOR OF:http://bit.ly/cloud-native-book

WHY CF IS THE BEST PLACE TO RUN MICROSERVICES

WHY ^ CF IS THE BEST PLACE TO RUN MICROSERVICES?

do you want to

PROMISES OF MICROSERVICES

SPEED

SPEED WINS IN THE MARKETPLACE.

Adrian Cockcroft

SAFETY

THE SYSTEM STAYS RESPONSIVE IN THE FACE OF FAILURE.

The Reactive Manifesto

SECURITY

https://medium.com/built-to-adapt/the-three-r-s-of-enterprise-security-rotate-repave-and-repair-f64f6d6ba29d#.9tnxlt6qh

SCALE

THE SYSTEM STAYS RESPONSIVE UNDER VARYING WORKLOAD.

The Reactive Manifesto

WHY ^ CF IS THE BEST PLACE TO RUN MICROSERVICES?

do you want toEVEN ARE

MICROSERVICES!!!!!

THERE SEEMS TO BE SOME HYPE…

LOOSELY COUPLED SERVICE ORIENTED ARCHITECTURE WITH BOUNDED CONTEXTS.

Adrian Cockcroft

SMALL, AND FOCUSED ON DOING ONE THING WELL.

Sam Newman

SMART ENDPOINTS AND DUMB PIPES.

Martin Fowler

INDEPENDENT, CONCURRENT OBJECTS BEHIND WELL-DEFINED, CONSISTENT INTERFACES.

The Pragmatic Programmer (2000)

HOW IS THAT FUNDAMENTALLY DIFFERENT FROM WHAT WE’RE ALREADY DOING?

“What is Software Design?” Jack W. Reeves C++ Journal, Fall 1992

REAL SOFTWARE RUNS ON COMPUTERS. IT IS A SEQUENCE OF ONES AND ZEROS THAT IS STORED ON SOME MAGNETIC MEDIA. IT IS NOT A PROGRAM LISTING…

Jack W. Reeves

A PROGRAM LISTING IS A DOCUMENT THAT REPRESENTS A SOFTWARE DESIGN.

Jack W. Reeves

COMPILERS AND LINKERS ACTUALLY BUILD SOFTWARE DESIGNS.

Jack W. Reeves

REAL SOFTWARE IS INCREDIBLY CHEAP TO BUILD, AND GETTING CHEAPER ALL THE TIME AS COMPUTERS GET FASTER.

Jack W. Reeves

IN WHAT WAY DOES SOFTWARE DELIVERY LOOK LIKE MANUFACTURING??

$./gradlew assemble

INTERCHANGEABLE PARTS

ELI WHITNEY

ASSEMBLY LINEHENRY FORD

ELECTRIFICATIONTHOMAS EDISON

MASS PRODUCTION

INTERCHANGEABLE PARTSASSEMBLY LINESELECTRIFICATION

MICROSERVICES??????

MICROSERVICES ARE NOT ENOUGH

WE NEED CLOUD NATIVE

INTERCHANGEABLE PARTSASSEMBLY LINESELECTRIFICATION

MICROSERVICES

CLOUDSPIPELINES/PLATFORMS

INTERCHANGEABLE PARTSASSEMBLY LINESELECTRIFICATION

MICROSERVICESPIPELINES/PLATFORMSCLOUDS

CULTURE DEVOPS/CONTINUOUS DELIVERY

PIPELINES

FAST PIPELINES

FAST CHOREOGRAPHED PIPELINES

A PIT STOP IS CHOREOGRAPHED CHAOS.

Mike Lepp, Joe Gibbs Racing

7 PEOPLE 73 UNIQUE MANUEVERS 12 SECONDS

Circa 2009 - current performance is as low as 8 seconds!

http://concourse.ci/

MULTIPLE ACTORS PERFORMING ORTHOGONAL TASKS WITH PRECISION TO DELIVER COMPETITIVE ADVANTAGE

My Analysis of a NASCAR Pit Stop

MANUFACTURING HAS AN END

RACES HAVE AN END

DOES SOFTWARE HAVE AN END?

© Copyright 2015 Pivotal. All rights reserved. 48

SIMPLE RULES

COMPLEX BEHAVIOR

EXPLICIT CONTRACTS

COMMODITY COMPONENTS

SIMPLE RULES

COMPLEX BEHAVIOR

EXPLICIT CONTRACTS

COMMODITY COMPONENTS

SIMPLE RULES

COMPLEX BEHAVIOR

EXPLICIT CONTRACTS

COMMODITY COMPONENTS

Grab Dirt w/ Pheromone Build Bridge

Attach to Ant on Edge

1000’s of Ants

Hardwired into Brain

Colonies, Bridges, Rafts

CELLULAR ORGANIC SYSTEMS

THE COLLECTIVE SUBCONSCIOUS OF THE SOFTWARE INDUSTRY INSTINCTIVELY KNOWS THAT IMPROVEMENTS IN PROGRAMMING TECHNIQUES AND REAL WORLD PROGRAMMING LANGUAGES IN PARTICULAR ARE OVERWHELMINGLY MORE IMPORTANT THAN ANYTHING ELSE IN THE SOFTWARE BUSINESS.

Jack W. Reeves

THE REAL INNOVATION THAT IS CLOUD NATIVE IS TRANSFORMING DELIVERY FROM DUMPING BITS ON A FLOPPY TO REPLACING CELLS IN A "LIVING" ORGANISM.

Matt Stine

SO, WHY AGAIN IS CF IS THE BEST PLACE TO RUN MICROSERVICES?

TRADITIONAL APP SERVERS

MONOLITHIC APP

MONOLITHIC APP

MONOLITHIC APP

MONOLITHIC APPLICATION SERVER

OSGI (SOA IN A JVM)

MONOLITHIC OSGI RUNTIME

µSµS µSµS

ESB (DISTRIBUTED SOA)

SOA SERVICE SOA SERVICE SOA SERVICE

MONOLITHIC APPLICATION SERVER

SOA SERVICE SOA SERVICE SOA SERVICE

MONOLITHIC APPLICATION SERVER

MONOLITHIC ENTERPRISE SERVICE BUS

MICROSERVICES!"

#

$

ÂAPI

ÂAPI!

%

!

!

µS

µS

µS

µS

µS

MICROSERVICES

THE CLOUD FOUNDRY RUNTIME

MICROSERVICES

BOSH

IT’S TURTLES MICROSERVICES ALL THE WAY DOWN

PAY IT UPWARD•Environment Provisioning •On-Demand/Automatic Scaling •Failover/Resilience •Routing/Load Balancing •Data Service Operations •Monitoring

INTERCHANGEABLE PARTS

STEMCELLS

GARDEN ROOT FS

???

JOBS (VMs)

DROPLETS (Containers)

MICROSERVICES

➜BOSH DEPLOY

CF BUILDPACKS

YOUR CODE

SPRING BOOT

http://start.spring.io

INTERCHANGEABLE PARTS

STEMCELLS

GARDEN ROOT FS

SPRING BOOT

JOBS (VMs)

DROPLETS (Containers)

MICROSERVICES

➜BOSH DEPLOY

CF BUILDPACKS

YOUR CODE

CLOUD FOUNDRY ❤ SPRING BOOT

CLOUD FOUNDRY ❤ MICROSERVICES

Get your FREE eBook! http://bit.ly/cloud-native-book

MATT STINESenior Product Manager - Pivotal Software, Inc. @mstine [email protected] http://mattstine.com

MICROSERVICESCLOUD FOUNDRY: THE BEST PLACE TO RUN