Understanding Serverless Computing in the Modern Cloud Era What is Serverless? This is a crucial question in the modern era of cloud computing, as serverless represents a paradigm shift in software development.
In the pre-cloud computing era, we primarily thought about applications that run constantly. For instance, an Apache web service would be running continuously, even without incoming requests. This approach leads to significant inefficiencies.
The Inefficiency of Always-On Systems Consider a modern house: you wouldn’t want the lights running 24⁄7.
Function as a Service (FaaS): Core Building Block of Serverless Technology What is FaaS? Simplest unit of work for building applications, microservices, or event-driven protocols Basic workflow: Input → Logic → Output Characteristics of FaaS Simple and easily understandable Highly scalable Quick response time Popular FaaS Framework: AWS Lambda Can be attached to various services: S3 notifications (e.g., file uploads) SQS (Simple Queue Service) messages Enables building infinitely scalable services with small response times Best Languages for Serverless/FaaS Rust Go Advantages of Modern Compiled Languages for FaaS Speed Safety Optimal deployment characteristics Millisecond response and invocation times Low energy usage Key Considerations for FaaS Development Focus on maintenance over ease of building Optimize for low costs (financial and energy) Consider total cost of service over time Takeaway When developing Function as a Service applications, prioritize long-term efficiency, maintenance, and cost-effectiveness over initial development ease.