20
© Copyright 2014 Pivotal. All rights reserved. © Copyright 2014 Pivotal. All rights reserved. Modern Applications, Microservices and Pivotal CF 1 Sufyaan Kazi - Suf (@sufyaan_kazi) Manager, Field Engineering UK & I [email protected] Architecting for Continuous Delivery

Modern Applications, Microservices and Pivotal Cloud Foundry

Embed Size (px)

Citation preview

Page 1: Modern Applications, Microservices and Pivotal Cloud Foundry

© Copyright 2014 Pivotal. All rights reserved.© Copyright 2014 Pivotal. All rights reserved.

Modern Applications, Microservices and Pivotal CF

1

Sufyaan Kazi - Suf (@sufyaan_kazi) Manager, Field Engineering UK & I [email protected]

Architecting for Continuous Delivery

Page 2: Modern Applications, Microservices and Pivotal Cloud Foundry

© Copyright 2014 Pivotal. All rights reserved.© Copyright 2014 Pivotal. All rights reserved.

About Pivotal

2

Page 3: Modern Applications, Microservices and Pivotal Cloud Foundry

© Copyright 2014 Pivotal. All rights reserved. 3

Who are Pivotal?

Data Science

Page 4: Modern Applications, Microservices and Pivotal Cloud Foundry

© Copyright 2014 Pivotal. All rights reserved.© Copyright 2014 Pivotal. All rights reserved.

Microservices Overview

4

Page 5: Modern Applications, Microservices and Pivotal Cloud Foundry

© Copyright 2014 Pivotal. All rights reserved.

Monolithic Architecture

5

Relational Database

Data Access

Service

HTML JavaScript MVC

Service

Monolithic ApplicationBrowser

• Easy to Deploy •Modularity Dependent Upon Language / Frameworks •Change Cycles Tightly Coupled / Obstacle to Frequent Deploys • Inefficient Scaling •Can Be Intimidating to New Developers •Obstacle to Scaling Development • Requires Long-Term Commitment to Technical Stack

Page 6: Modern Applications, Microservices and Pivotal Cloud Foundry

© Copyright 2014 Pivotal. All rights reserved. 6

Monolithic Architecture

Relational Database

Data Access

Service

HTML JavaScript MVC

Service

Monolithic ApplicationBrowser

Build - 6-12 months

Create Environment - ?????

Page 7: Modern Applications, Microservices and Pivotal Cloud Foundry

© Copyright 2014 Pivotal. All rights reserved.

Microservice Architecture

7

HTTP

HTTP

HTTP

HTTP

HTTP

HTTP

AMQPAMQP

Relational DB

Key/Value Store

Graph DB

Page 8: Modern Applications, Microservices and Pivotal Cloud Foundry

© Copyright 2014 Pivotal. All rights reserved. 8

Microservice Architecture

Backend

Service

API

Microservice 1

Backend

Service

API

Microservice 2

Backend

Service

API

Microservice 3

Backend

Service

API

Microservice 4

•Modularity Based on Component Services •Change Cycles Decoupled / Enable Frequent Deploys • Efficient Scaling • Individual Components Less Intimidating to New Developers • Enables Scaling of Development • Eliminates Long-Term Commitment to Technical Stack

Backend

Service

API

Backend

Service

API

Backend

Service

API

Backend

Service

API

Backend

Service

API

Backend

Service

API

Backend

Service

API

Page 9: Modern Applications, Microservices and Pivotal Cloud Foundry

© Copyright 2014 Pivotal. All rights reserved. 9

Microservice Architecture

Backend

Service

API

Microservice 1

Backend

Service

API

Microservice 2

Backend

Service

API

Microservice 3

Backend

Service

API

Microservice 4

•Are you using licensed components? •Why are these ports open? •Why does it need so much resource? • This doesn’t seem very secure to me ……

•How do I scale this? • Someone else already built a container with

this config! • If you’ve just changed the app, why am I

getting a whole new container?

Page 10: Modern Applications, Microservices and Pivotal Cloud Foundry

© Copyright 2014 Pivotal. All rights reserved. 10

Microservice Architecture

Backend

Service

API

Microservice 1

Relational Database

Graph DB

v1

v2

Graph DB

v2 - Prod

• Just relying on Containers has only shifted the burden of environment management from Ops to development

• The code cannot be delivered in an agile and consistent fashion - there is no single code base

Page 11: Modern Applications, Microservices and Pivotal Cloud Foundry

Software is Changing Industries

Page 12: Modern Applications, Microservices and Pivotal Cloud Foundry

© Copyright 2014 Pivotal. All rights reserved.© Copyright 2014 Pivotal. All rights reserved.

Microservices, I’m not ready!!?? Show me the PaaS!!

12

Page 13: Modern Applications, Microservices and Pivotal Cloud Foundry

© Copyright 2014 Pivotal. All rights reserved.© Copyright 2014 Pivotal. All rights reserved. 13

http://highscalability.com/blog/2014/4/8/microservices-not-a-free-lunch.html

Page 14: Modern Applications, Microservices and Pivotal Cloud Foundry

© Copyright 2014 Pivotal. All rights reserved. 14

Twelve Factors•One Codebase/Many

Deploys • Explicit Isolated

Dependencies •Config via Environment •Attached Backing Services • Separate Build/Release/Run • Stateless Processes

• Export Services via Port Bindings • Scale Out via Processes •Disposable Instances •Dev/Prod Parity • Logs == Event Streams •Admin Tasks == Processes

http://12factor.net

Page 15: Modern Applications, Microservices and Pivotal Cloud Foundry

© Copyright 2014 Pivotal. All rights reserved. 15

Cloud Foundry Overview

Backend

Service

API

DEA

• Container Creation is Secure • Containers are dynamically

configured with the correct libraries and middleware

• Microservice design changes are automatically adjusted for

• 2 mins deploy time

Page 16: Modern Applications, Microservices and Pivotal Cloud Foundry

© Copyright 2014 Pivotal. All rights reserved. 16

Microservice Architecture with Cloud Foundry

Backend

Service

API

Microservice 1

Backend

Service

API

Microservice 2

Backend

Service

API

Microservice 3

Backend

Service

API

Microservice 4

Backend

Service

API

Backend

Service

API

Backend

Service

API

Backend

Service

API

Backend

Service

API

Backend

Service

API

Page 17: Modern Applications, Microservices and Pivotal Cloud Foundry

© Copyright 2014 Pivotal. All rights reserved. 17

Loggregator DEA Pool

Router Cloud Controller

BOSH Director BOSH Agent

UAA/Login Servers Health Manager

Service Broker Node(s)

Messaging (NATS)!

IaaS

Cloud Foundry Architecture Stack Dynamic and multiple routes to micro services to support seamless migrations

Four levels of HA to support continuos uptime

Centralised logging for external monitoring

Infrastructure Agnostic Deployment

Page 18: Modern Applications, Microservices and Pivotal Cloud Foundry

#jenkinsconfMicroservices Meetup

Cloud-Native microservices with Spring - Hands On Workshop Learn best practices to manage your Cloud-Native microservices Pivotal London Office - 2 July 2015, 3pm

Register Here: http://bit.ly/1FHG7Ck

Page 19: Modern Applications, Microservices and Pivotal Cloud Foundry

© Copyright 2014 Pivotal. All rights reserved.© Copyright 2014 Pivotal. All rights reserved.

Modern Applications, Microservices and Pivotal CF

19

Sufyaan Kazi - Suf (@sufyaan_kazi) Manager, Field Engineering UK & I [email protected]

Architecting for Continuous Delivery

Page 20: Modern Applications, Microservices and Pivotal Cloud Foundry

A NEW PLATFORM FOR A NEW ERA