In this talk I will introduce you to Spring Cloud, a set of tools for building cloud-native JVM applications. We will take a look at some of the common patterns for microservice architectures and how to use Cloud Foundry to deploy multiple microservices to the cloud.
We will also dive into a microservices example project of a cloud-native application built using Spring Boot and Spring Cloud. Using this example project, I'll show you how to use Lattice to spin up a microservice cluster on AWS. We will then explore what a cloud-native application looks like when using self-describing REST APIs that link multiple microservices together.
5. What is Cloud Native?
5
A culture of operators and developers tackling
software complexity together
6. 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
9. Microservices
9
Each team gets one database and one service
Shared caches (Couchbase) are platform provided services that are shared for consistency
10. Cloud-native Microservice Deployments
10
Each microservice can be containerized with their application
dependencies
Containers get scheduled on VMs with an allotted resource policy
11. Auto-scaling
11
An elastic runtime handles auto-scaling of VMs with cloud providers
Microservices should be load balanced vertically and not horizontally
12. Composition & Orchestration
12
Each microservice needs to communicate outside containers
Service discovery provides an automatic method for finding other service dependencies
25. Containers, containers, containers
Lattice helps you manage Docker container deployments on clusters of VMs
Choose the cloud provider you want, deploys containers from Docker hub
25
27. Cloud Foundry
27
Cloud Foundry is an opinionated platform for organizations
that 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