From the course: Spring Cloud: Cloud-Native Architecture and Distributed Systems

An introduction to Spring Cloud

- [Instructor] Before we dig into Spring Cloud, let's spend a few minutes and discuss what it is and what it offers. First and foremost, Spring Cloud is about cloud native, and that's a very important concept. All of these patterns are meant for cloud development, but cloud is really cloud native, meaning we can run in a local private cloud, a global public cloud or anything in between, including big iron servers. It is designed to provide tooling for many of the most common patterns in cloud data computing. By doing this, it removes a lot of boiler plate code to build and consume these components, instead relying on proxy behavior from the IOC. Now, if you aren't familiar with cloud native computing in general, take a look at my course here on LinkedIn Learning Cloud Native 12 factor applications. But many of the common patterns Spring Cloud solves are from those 12 factor application patterns. So we will be talking about the most common patterns in Spring Cloud in this course. One of the biggest early wins with Spring Cloud is centralized but distributed configuration management. And while that may seem like a bit of an oxymoron, you will see here shortly what I mean by that. Many times with cloud native implementations, we are looking at microservices based systems. And service discovery is a real issue in many systems. Spring Cloud provides a pattern and tooling for this task. Circuit breakers are a big deal in microservices as well. And Spring Cloud, through third party offerings as well as Spring offerings, provides robust software load balancing as well as circuit breaking to isolate your system as a whole from minor hiccups from an individual service. With load balancing, often we see routing coming into play. Again, Spring Cloud offers solutions for software based routing across multiple services, providing the same APIs. Telemetry, which comes from the 15 factor pattern is built in with Spring Cloud Sleuth. And we'll discuss this a little bit more later on in the course. Now, Spring Cloud doesn't just solve 12 and 15 factor application needs. It has an open service broker package for working with the open service broker API to expose a service directly to a runtime. It has support for cloud functions through Spring Cloud function APIs, giving you access to things like AWS Lambda. Now, Netflix has done the industry a lot of good with Spring Cloud and has wrapped their offerings into their own packages, and we're going to touch on some of these later. There is native integrations with cloud providers via their SDKs with first class support through a Spring boot starter. And we still haven't touched it all. Check out the documentation for more details. But Spring Cloud is a very large, all encompassing project for dealing with cloud native applications as well as working with public cloud providers.

Contents