52 Weeks of Cloud
What is Function as a Service?
Episode Summary
This episode explores Function as a Service (FaaS), a key component of serverless technology. It explains the simplicity and scalability of FaaS, using examples like AWS Lambda to illustrate its applications. It also highlights the advantages of using modern compiled languages like Rust for serverless computing, emphasizing the importance of long-term maintenance, cost efficiency, and energy use in FaaS development.
Episode Notes
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. Choose languages and practices that support these goals in a serverless environment.