Pre-Conference (September 4th, 2023)
Dependency Injection for Serverless Applications
This talk aims to explore the benefits of adopting Dependency Injection (DI) for Serverless applications, highlighting its potential for improving application robustness and maintainability. I will start by clarifying the concept of DI and its advantages, including its role in making dependencies explicit, encouraging separation of concerns, and simplifying unit testing setup. Subsequently, I will examine the characteristics of serverless applications, their benefits, and some common serverless providers. The heart of the talk will tackle the unique challenges posed by serverless applications and how Dependency Injection can help overcome these hurdles. I'll explore how DI can help manage different runtime environments such as cloud, local, and testing by enabling efficient swapping of implementation or configuration for individual pieces of code. Moreover, I'll examine a practical implementation of DI in a serverless context using node.js and TypeScript, focusing on an example use-case for Amazon Web Services' Simple Queue Service (AWS SQS). This will illustrate the flexibility and adaptability brought about by DI, which in turn, enhances project maintainability. Finally, the talk will conclude by emphasizing how DI can significantly improve serverless applications, thereby promoting robust software architecture and a more seamless development process.