Join David Linthicum for an in-depth discussion in this video A good fit for serverless computing, part of Learning Cloud Computing: Serverless Computing.
- [Instructor] So let's get into the use cases, or the way in which we use serverless cloud computing. The use cases vary and are both technical and business-oriented. So, you'll find that you are going to do systems that are based on internet of things technology, the ability to leverage sensors, that are coming off devices for whatever reason. The ability to understand how systems are maintained, how machines are maintained, how a factory floor is maintained, things like that. That would be an example of a technically-oriented case. In other words we're dealing with sophisticated technology on the backend systems.
Also business-oriented, and these are traditional business applications. They can be inventory control, they can be financial management, they can be accounting, they can be enterprise resource planning, any number of processes that exist within the business that we're going to automate leveraging serverless technology. So, you need to take things on a case by case basis. Understand first and foremost that serverless computing is not always a fit, so if everything looks like a nail, chances are you're not necessarily thinking critically the way you should think around the use of serverless technology, or any technology.
So, you have to understand that there are patterns where it fits, where serverless computing would basically be used, and there are patterns where it's not necessarily a fit. It's overkill, it's not going to work as well as you think it should. It's not going to basically return the ROI to the user. So what are the fits for serverless computing? A fit would be net new. That means new applications, things that we're building from scratch, so some person within the company has come to you and they said, I need an inventory control application, I need some IoT-based systems, I need a big data system.
Something like that to automate a process that's not automated within the enterprise. So, starting from scratch is better than trying to deal with legacy systems, and legacy systems, basically anything built using traditional technology that we want to move into serverless. But the problem there is typically the languages may not be compatible, but you're really going to have to break that system down to its functions and rebuild it up as something that is different, in order to implement it using serverless technology. It's just different. The value on scaling, so in other words, we need something that can scale up and scale down, and scale up and scale down, and only use resources that it's allocated to use.
Based on the needs of the application to scale. And not a fit would be no value on scaling, so we have a very simple process that doesn't really need to scale, may support only a handful of users, and it's typically not going to put a lot of packets on the network. It's typically not going to leverage a lot of database processing, typically not going to deal with a lot of I/O, it's compute-intensive. And those are typically going to be not a fit for serverless based computing. Service oriented typically is a fit. We already talked about microservices, the ability to break applications down into sets of microservices.
And basically reconfigure them and configure them as applications or solutions. This versus traditional, could be structured programming object-oriented programming, things like that where it really wasn't a service-oriented approach per se, and that's going to be very difficult to move into a serverless world because we are dealing with microservices and functions. Ultimately, that's going to take a lot of major surgery to change those applications to fit in that world.
- Benefits of serverless computing
- Serverless computing use cases
- Serverless computing platforms
- AWS Lambda
- Microsoft Azure Functions
- Planning applications
- Mapping to serverless deployment