Image credit: Idaho Technology Council
On August 22, 2019, in collaboration with our friends at the Idaho Technology Council, Vynyl Senior DevOps Engineer Mike Ford gave a live presentation called Serverless at Scale: Cool Tools for Microservices, Websites, and DevOps Pipelines.
The event was an overview of serverless development, introducing the topic and describing how it works using AWS Lambda. In his presentation, Mike addressed some common misconceptions about serverless development (spoiler alert: there are still servers!) and outlined some of the benefits, including working well with Agile development workflows, fewer bug fixes and patches, excellent scalability, a simpler CI/CD pipeline, and lower overall costs.
Of course, a serverless environment does bring its own challenges, including less visibility into executions, not being well-suited for long-running tasks, and the possibility for vendor lock-in. But Mike detailed how serverless development can benefit developers in many different scenarios, including multi-region data ingestion pipelines, IOT data processing, media conversions, mass email sends, and batch jobs, among others.
He also dug into strategies for successful serverless deployment, including using tools like X-Ray, Epsagon, IOpipe, Thundra, or Dashbird for observability, as well as how to handle debugging, alerting, and metrics. Throughout, Mike highlighted the potential value of going serverless, particularly against a backdrop of needing to reduce cloud costs.
We should always be learning. We should always be receptive to new ideas, and adapt to technology as it emerges. Having "serverless" and all the things it encompasses in your tool belt is just another step to create the best applications you can. It’s better for the dev, better for the business, and better for overall application delivery when done right.
For DevOps teams, the key is recognizing the tradeoffs between performance and costs, and leveraging the right tools for the right jobs. In the end, making a decision to go serverless is about understanding the important metrics and milestones, and adopting serverless tools when they are able to provide a faster, smoother development experience through coding, deployment, and production.