Learn about the three main categories of serverless services and review a base lambda architecture pattern.
- [Instructor] So one of the myths that I want to dispell early in this course is that serverless means AWS Lambda and AWS Lambda alone. I think it's important to understand that the serverless landscape is affecting all services in your application and let's start by categorizing them. So we have serverless services that are available to change how we store information whether that'd be files, unstructured data, structured data or data warehouse data or events, really any type of data.
Data coming in batches, data coming in streams, there's a number of serverless services that the public cloud vendors are making available to help us with our storage needs. On the area of compute, of course we do have functions which are AWS Lambda, Azure Functions, so on and so forth. But there's a whole 'nother category of serverless services that's really driving a lot of innovation, particularly around machine learning. I've been working increasingly with biomedical clients and machine learning is by its nature complex, difficult to set up, and very difficult to take from an experiment on one person's desktop into a production pipeline.
So we'll see in this course different combinations of working with all of these types of serverless services to make best fit architectures. Because in many ways Amazon was the pioneer in this area, this is a base serverless Lambda architecture pattern and this is really a pattern that is used across all the different vendors, really public cloud, private cloud, it's just a very common pattern as a starting point in the world of serverless architectures.
So you can see that we have within the boundary of our public cloud provider, Amazon, we have a number of different types of services. We have some object stores, those are in red, the buckets with objects. We have a no SQL database, in this case, it's DynamoDB which is also serverless, it tables as a service. And then we have a number of AWS Lambda functions or function compute. Now these are made available outside of the AWS Ecosystem, in other words, to users over the public internet via another serverless service and this is the API Gateway.
Now again, depending on the vendor that you're using, the actual service names might change. However, this pattern is very, very common where you have file-based storage, some type of data storage that is processed by N number of functions and made available via an API Gateway. So you'll see this over and over and over throughout this course. This is a pure serverless architecture. As I said previously, what I often find in the real world is some sort of blend where we combine the serverless services with server-based services and we'll be considering different decision points and vectors so that you can understand what drives selecting server-based services and serverless services when you're building your architectures.
Now you might be wondering when did serverless begin? When did it start? Of course it depends on who you ask, where I like to think that it started is back in 2006 actually and this is when Amazon released its object store S3 or Simple Storage as a service. And this is the highly available, don't have to think about the file system, just put your information in bucket service, that is the most popular cloud service and the most popular serverless service on the planet.
All major public cloud vendors have at their core a highly available serverless object store. It's a key part of the architecture and it's evolving as we'll see as we get into some of modern architectures because more and more customers are wanting to put more data into an object store rather than say a database. A new concept called a data lake is something that the vendors are providing much more functionality for particularly within the last 12 months of this recording.
Now in 2008, Google took a different approach. Their first serverless service was Google Cloud Platform App Engine. This was a combination of serverless compute back-ended by a no SQL scalable database. These components initially were coupled to each other but they were both serverless. The idea was serverless web applications. In 2014, Amazon really changed the game when they launched Amazon Lambda.
They were the first provider to launch functions as a service and we'll be spending a lot of time in this course looking at this landscape. In 2016, Microsoft Azure launched their version of functions into general availability. And as of this year, cloud providers, Alibaba, Google Cloud Platform, and Integrator Pivotal have all launched cloud functions. Cloud functions are clearly key to serverless architectures but as I said in the beginning of this movie, they're not the only part of serverless architectures.
- Defining serverless architecture
- Serverless services
- Serverless functions
- Cloud-native serverless architecture
- Serverless architecture for big data and machine learning
- Emergent serverless architecture