bangalore cloud foundry meetup - mani
TRANSCRIPT
1 © Copyright 2015 EMC Corporation. All rights reserved.
Cloud Native Development using Microservices on Pivotal CF
Mani Chandrasekaran Advisory Consultant
@cmani
2 © Copyright 2015 EMC Corporation. All rights reserved.
Microservices
3 © Copyright 2015 EMC Corporation. All rights reserved.
Microservices http://martinfowler.com/articles/microservices.html)
4 © Copyright 2015 EMC Corporation. All rights reserved.
Cloud Maturity Model
Source - https://twitter.com/wattersjames/status/664044293250641920
5 © Copyright 2015 EMC Corporation. All rights reserved.
5
Cloud Native
DevOps Continuous Delivery
Containers Micro services
6 © Copyright 2015 EMC Corporation. All rights reserved. 6
Cloud Native Framework
Contract: 12 Factor App
Contract: BOSH Release
Contract: Cloud Provider Interface
Culture
Dev
Dev IT Ops
Tools
Spring Cloud Spring Boot
Cloud Foundry
BOSH
AWS VMware OpenStack
Application Framework
Runtime Platform
Infrastructure Automation
Infrastructure IT Ops
IT Ops
7 © Copyright 2015 EMC Corporation. All rights reserved. 7
Spring Cloud Spring Boot Dev
Spring Boot From 0 to app in < 5 min
Spring Cloud Designed for fragile infrastructure in
partnership with Netflix
Application Framework
8 © Copyright 2015 EMC Corporation. All rights reserved.
Cloud Native App Dev Framework
Spring Cloud • Runtimes and their client
libraries for: – Service Discovery – Configuration Management – Circuit Breakers – Intelligent Client Side Routing – Reverse Proxies – ….and much more
• Security (encrypt, SSO, roles)
Spring Boot • Convention-over-configuration,
no XML, no code generation
• Auto-configure, embedded servlet engine
• Get out of the way quickly if you want to change defaults
• Service Binding for Cloud Foundry, Java, Spring, Groovy
9 © Copyright 2015 EMC Corporation. All rights reserved.
Demo – Spring Boot Migrating a Monolithic app to Cloud Native
Source – https://github.com/jholmes2001/spring-boot-cities
10 © Copyright 2015 EMC Corporation. All rights reserved.
Demo – Spring Boot – Introspection, Monitoring and Healthchecks
Source – https://github.com/jholmes2001/spring-boot-cities
• metrics • http://<<microservice-app-on-springboot>>/metrics • trace • http://<<microservice-app-on-springboot>>/trace
• dump • http://<<microservice-app-on-springboot>>/dump
• health • http://<<microservice-app-on-springboot>>/health
11 © Copyright 2015 EMC Corporation. All rights reserved.
Spring Boot - Metrics
12 © Copyright 2015 EMC Corporation. All rights reserved.
Demo – Spring Cloud using Fortune app
https://github.com/spring-cloud-samples/fortune-teller
13 © Copyright 2015 EMC Corporation. All rights reserved.
Eureka – Microservice service registry
14 © Copyright 2015 EMC Corporation. All rights reserved.
Spring Cloud – Hysterix circuit breaker
15 © Copyright 2015 EMC Corporation. All rights reserved.
Resources • MicroPCF - https://github.com/pivotal-cf/micropcf
• 12 factor app - http://www.slideshare.net/SpringCentral/12-factor-cloud-native-apps-for-spring-developers
• Spring Boot - http://projects.spring.io/spring-boot/
• Spring Cloud - http://projects.spring.io/spring-cloud/
• https://github.com/spring-cloud-samples
• https://github.com/spring-projects/spring-boot/tree/master/spring-boot-samples
• https://github.com/jholmes2001/spring-boot-cities
• Bangalore cloud foundry meetup - http://www.meetup.com/Bangalore-Cloud-Foundry-Meetup/