Upload
sufyaan-kazi
View
763
Download
3
Embed Size (px)
Citation preview
© 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
© Copyright 2014 Pivotal. All rights reserved.© Copyright 2014 Pivotal. All rights reserved.
About Pivotal
2
© Copyright 2014 Pivotal. All rights reserved. 3
Who are Pivotal?
Data Science
© Copyright 2014 Pivotal. All rights reserved.© Copyright 2014 Pivotal. All rights reserved.
Microservices Overview
4
© 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
© 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 - ?????
© Copyright 2014 Pivotal. All rights reserved.
Microservice Architecture
7
…
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
AMQPAMQP
Relational DB
Key/Value Store
Graph DB
© 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
© 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?
© 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
Software is Changing Industries
© Copyright 2014 Pivotal. All rights reserved.© Copyright 2014 Pivotal. All rights reserved.
Microservices, I’m not ready!!?? Show me the PaaS!!
12
© 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
© 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
© 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
© 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
© 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
#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
© 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
A NEW PLATFORM FOR A NEW ERA