Cloud-Watch - Serverless
Following on from the post about all the vendors in the cloud space, this time I thought I should focus on serverless. Generally all cloud vendors support 2 different options, specifically Infrastructure as a Service (IaaS) and Platform as a Service (PaaS). Serverless is essentially the new PaaS. So what is serverless?
Before we go into too much detail, lets have a quick look at the landscape and the history.
IaaS is where cloud computing all began. IaaS is the ability to spin up quickly and efficiently virtual servers is the cloud. The cloud company provide all the Infrastructure and manage it all, and leave you the simple task of provisioning virtual servers without having to worry about the physical tin and wires in the data center.
PaaS was the next evolution. PaaS brings the next level of managability to your cloud computing environment. No longer do you need to build servers, and patch them, install applications, we leave that to the cloud vendors. If you need a SQL database for your application you can provision is seconds, and everyting is managed for you, size, redundancy, backups, patching is all done for you, allowing you to focus on delivering business value.
Serverless is taking things to the next level, by being event driven, allowing you to write business functions and not have to worry about anything else. Take a simple example that you want to write some code to run an extract from a database, iterate over the results and call REST services on each row of the data, and then send out an email at the end. Traditionally you could use some SQL Server tooling to do this, but typically required specific skills. With serverless your devs can write some C# code which we can then define as a function and schedule it. We don't have to worry about the underlying servers, the function will scale, and we only pay for the resources that get consumed whilst the function is running.
The key takeaway from all of this is:
The less infrastructure you are supporting and managing, the more time you are delivering business value to your customers.
Across the cloud vendors there are a number of implementations, including Lambda on AWS, Azure Functions, Cloud Functions on the Google Cloud platform, and even FissionIO based on the managed Kubernetes platforms.
In a typical enterprise platform, a mix of IaaS, PaaS and serverless will be required to provide the best technology solution for your customers whilst optimising scale, redundancy, and minimising costs. As with anything, there are many choices and there is no default correct answer. I ensure I look across the businesses I work with to ensure they deliver on the right technology platforms, that includes software and cloud hosting where appropriate. To find out how I can help you, feel free to contact me, pick up the phone or drop me an email.
Related Blog Posts
For the first in the Cloud Watch series, I thought i would share a quick summary of the major cloud vendors at the moment, and highlight their key technologies and strengths. This is something I work through with each of my clients when I onboard then, to ensure we are building our platforms in the right place. There is no default answer here, every business needs to be evaluated based on its requirements.Read More