Join David Linthicum for an in-depth discussion in this video Microservices 101, part of Cloud Architecture: Advanced Concepts.
- [Instructor] Okay, let's get a bit deeper into microservices. So, these are fine grained, again, microservices that provide the building blocks for applications as I mentioned in the previous video. They're not necessarily full blown services as we built in service oriented architecture in that they perform a particular function like a business function but they're smaller services, fine-grained services, that are able to be built easier and configured easier into additional composite services or additional applications actually create the application.
So, they should perform a very specific purpose and be built for use within more than a single application. So, I can't stress that enough. So, when you build microservices it's not for a, as we covered in the last video, general use versus specific use or a specific use. You wanted to have a general use within the system and, so, you want to have the ability for these microservices to solve a problem but be able to solve a problem over and over again. So, something that's embeddable in different solutions, different applications that you're able to gain value through more than one time.
The configuration kind of looks like this. We may have an application and that application may be built up of different services and those services may actually be built up of different microservices. So, we may have an application such as an accounting system that leverages a microservice, say the one on top there, which allows you to log in and checks validation and credentials via some sort of end-to-end in the access management system and the core accounting services which is made up of different microservices that may assist you in reading and writing databases, doing security functions, whatever you want the microservice to do.
Another service which is a larger more complex course grain service which is able to leverage a microservice to carry out whatever activities it needs to do. So, you have this nesting and this really, this kind of service decomposition where these microservices may exist at any level. They may be part of a service or they may be part of an application and so it doesn't really matter where you want to leverage them since they are API services unto themselves you can call them at any time, configure them within the application directly into the code or directly into another service and directly into a cloud based service, directly into an on-premise service.
These things are innately distributed so you may call them no matter where they exist as long there's an internet connection where you're able to gain access to them. So they have a lot of utility. This is an example of different microservices that make up an application. In this one, we have an application and we have get social security number, send social security number, validate social security number and update social security number. So, very specific things that we're writing but they can have general use and so getting social security number may be something I may use in ten different applications as well as sending, validating and updating versus me embedding code in this particular one application, I'm going to create a remote microservice where I can access that microservice at any time by the application to configure these services, these microservices, to basically augment, provide additional value to the application.
You may assemble many microservices that make up the application and then MBB the whole application. So, it depends on the architecture. It depends on the problems you're looking to solve.
- Microservices and containers
- Complex, disturbed, serverless, and composite architectures
- DevOps integration
- High-performance solutions