Building REST APIs with Spring Boot and Spring Cloud
-
Upload
kenny-bastani -
Category
Software
-
view
2.988 -
download
2
Transcript of Building REST APIs with Spring Boot and Spring Cloud
Building REST APIs with Spring Cloud and Spring BootKenny BastaniSpring Developer Advocate
1
Speaker Intro
2
©2015 Apigee. All Rights Reserved.
Speaker Intro
3
I’m a developer who advocates good tools.(I tweet about building highly scalable “Hello World” apps for a living)
©2015 Apigee. All Rights Reserved.
Agenda
4
1. Agenda2. What is Cloud Native?3. Microservices4. Spring Boot5. Spring Cloud6. Lattice7. Cloud Foundry8. HATEOAS - Self-describing APIs9. Reverse Proxy Sidecar & Demo
What is Cloud Native?
5
A culture of operators and developers tackling software complexity together
Twelve Factor Applications - http://12factor.net/Use declarative formats for setup automation, to minimize time and cost for new developers joining the project;
Have a clean contract with the underlying operating system, offering maximum portability between execution environments;
Are suitable for deployment on modern cloud platforms, obviating the need for servers and systems administration;
Minimize divergence between development and production, enabling continuous deployment for maximum agility;
And can scale up without significant changes to tooling, architecture, or development practices.
6
7
https://18f.gsa.gov/2015/10/09/cloud-gov-launch/
Microservices
8
“Kind of like a headache, but more of them.”
Microservices
9
Each team gets one database and one service
Shared caches (Couchbase) are platform provided services that are shared for consistency
Cloud-native Microservice Deployments
10
Each microservice can be containerized with their application dependencies
Containers get scheduled on VMs with an allotted resource policy
Auto-scaling
11
An elastic runtime handles auto-scaling of VMs with cloud providers
Microservices should be load balanced vertically and not horizontally
Composition & Orchestration
12
Each microservice needs to communicate outside containers
Service discovery provides an automatic method for finding other service dependencies
Spring Boot
13
A JVM micro-framework for building microservices
What is Spring Boot?
14
Spring Boot Roles
15
16
Spring Boot
17
Spring Cloud
18
A toolset designed for building distributed systems
The cupcake metaphor
19
What is Spring Cloud?
20
1
2
3
Service Discovery
Circuit Breakers
API Gateway
4 Distributed Tracing
Service Discovery & Intelligent Routing
21
Configuration Service
22
API Gateway
23
Lattice
24
A cloud-native platform for deploying and scaling containers in production
Containers, containers, containersLattice helps you manage Docker container deployments on clusters of VMsChoose the cloud provider you want, deploys containers from Docker hub
25
Cloud Foundry
26
“To always be shipping, you need a shipyard”
Cloud Foundry
27
Cloud Foundry is an opinionated platform for organizationsthat build & operate software as a core part of their business
I once built a treehouse for
my kids!
I am good at selling many treehouses!
Opinionated Unopinionated
HATEOAS
28
Hypermedia as the Engine of Application State
(REST APIs that self-describe)
It’s pronounced hawt-ee-oh-as
29
Richardson Maturity Model
30
Photo credit: Packt Publishing
Browsing REST APIs
31
Each API call provides links
32
Demo
33
We’re going to launch some Spring Boot containers on AWS using Lattice
(Wish me luck)
Thanks!
34
I am on the Twitters
@kennybastani
Questions?
http://start.spring.io