In a traditional application, you manage the entire application logic execution on a VM, physical, or cloud server. However, the trend is changing.
By going to serverless architecture, you offload the application code execution task to a serverless computing platform. It has many benefits.
You don’t need to worry about hosting runtime (Node.js, Python, Go, etc.) Pay what your application consumes (cost-effective) Don’t worry about application grown demand (scalable) Let the provider manage the security, software updates Easy integration with other services offering by the provider Fast time to application deployment and changes
It’s a great deal for a developer and business owner where you focus on your code and expert handle the execution. If you are new to Serverless, then you may refer to this introductory course. Let’s explore the following FaaS (Functions as a Service) platform.
AWS Lambda
AWS Lambda is one of the first to offer a platform where you run your code and administration is managed (behind the scene) by AWS. Initially, it supported only Node.js, but today, you can run Python, Go, Java, C#.
As you can see in the illustration, you need to upload your application code, and Lambda will handle the execution. You can either do it manually or automate it by triggering through AWS services or web applications. AWS Lambda can be helpful in many real-time scenarios like file processing, streaming, data validation, data transformations, handling API requests, etc. Some of the features:
Seamless integration with other AWS products Stateless Lambda functions High-available and fault-tolerant infrastructure Extensive logging and monitoring Automatic scaling and many more.
Good news if you want to play around, AWS offer 1 million requests and 400,000 GB-seconds compute time at no cost under the free tier. A free tier would be sufficient for a hobby or small project. If you are interested in learning, then you can check this hands-on online course by Stephane Maarek. And if you are worried about the regulation, AWS Lambda is HIPPA, PCI, ISO, and SOC compliant.
Cloudflare Workers
You heard it right. Cloudflare is not just a CDN and security company; they offer a lot more than that. Lately, they have introduced Cloudflare workers, which allow you to run JavaScript at their more than 150 data centers worldwide. Cloudflare uses the V8 JS engine, so if you need to execute your JavaScript at a faster speed, give it a try.
You can integrate workers with the Serverless framework for faster deployment. You can get it started from as low as $5 per month. They got a few scripts (recipes) for you to take a look at and play around with to get familiar.
AWS Fargate
The benefits offered by AWS Fargate are:
Azure Functions
Event-Driven computing supports a large number of programming languages.
JavaScript C# F# Java Python PHP TypeScript Bash PowerShell
Azure Functions take care of infrastructure demand by your application and scale up or down as and when required. You don’t have to worry about capacity planning. You can trigger a function from a web application, HTTP API from a mobile application, blob storage, streaming, webhooks, and a lot more.
Pricing is based on the total time it takes to run your code. There is no upfront cost, and Azure offers 1 million executions for FREE every month. Go ahead and leverage Azure Functions to build your serverless application for SaaS products, API, etc.
Google Cloud
Google Cloud offers a bunch of serverless computing solutions.
App Engine – a fully managed platform for web and mobile applications. You can deploy your application built in PHP, Python, C#, Node.js, Ruby, Go, etc. You pay for what resources your application consumes and scale based on the demand. Cloud Functions – an event-driven platform to run Node.js and Python applications in the cloud. You can use Functions to build IoT backends, API processing, chatbots, sentiment analysis, stream processing, and more. There are more – Storage, Firestore, BigQuery, Dataflow, Pub/Sub, ML engine. Probably, everything you need to build an enterprise-ready serverless application architecture.
IBM Cloud Functions
IBM Cloud Functions is based on Apache OpenWhisk to develop application action that quickly executes on an event trigger.
There are some great tutorials on building a serverless application, API, mobile backend, searchable video, etc., to give you an idea of how it works.
Alibaba Function Compute
An excellent option for China and the International market. Lately, Alibaba announced a serverless compute offering which lets you upload and run code without managing the servers and core infrastructure. An illustration of real-time IoT message processing serverless flow.
Alibaba offers 1 million requests FREE per month. Good for trying out. The serverless concept is not just FaaS (functions as a service) but a lot more. I hope the above platform helps you build a robust application without worrying about server administration and maintenance. And most importantly, at a lower cost.
StackPath
Serverless Scripting by StackPath run your code at the edge, near to the user’s location. There are plenty of use-cases:
API Gateway Load balancing Firewall Optimizing images Personalizing end-user experience User authentication
StackPath is powered by the Chrome V8 JavaScript engine. The latency of EdgeEngine is as low as 50ms.
You can develop your application in their IDE or simply upload the code.
Conclusion
Going serverless is a great way to save the hosting and infrastructure management cost. Moving legacy applications can be challenging; I get that. But, if you are building a modern new app, you should consider serverless in your architect. Here are some of the valuable resources to learn Serverless.
OpenShift interactive learning portal AWS Lambda and Serverless Framework Learn to build apps with Serverless
Good luck!