SlideShare a Scribd company logo
@paulswail
8 mistakes teams make when
starting with serverless
PAUL SWAIL
Independent Cloud Architect, Winter Wind Software
Belfast, 24th January 2020
@paulswail
MISTAKE #1
AWS Console Driven
Development
@paulswail
ProblemsnotusingInfrastructure-as-Code
❌ Deployments not repeatable
❌ No version control of configuration changes
❌ Slow for new starts to get set up
❌ IaC seen as tool for Ops/Systems Engineers, not
Developers
@paulswail
Useadeployment
frameworkfromday1
@paulswail
MISTAKE #2
(Trying to)
Run everything locally
@paulswail
Usecloudresourcesindevelopmentenvironment
✓ Consistency across team
✓ Closer representation of production
✓ Fewer “worked on my machine” bugs at
integration time
✓ Infrastructure-as-Code isn’t an afterthought
@paulswail
PERSONALAWSACCOUNT
Give each developer a sandboxed
@paulswail
MISTAKE #3
Putting Lambda functions
inside a VPC “for security”
@paulswail
ProblemswithVPC-enabledLambdafunctions
❌ No more secure than standard IAM-protected
functions
❌ Slower cold starts
❌ More network config to manage
❌ No internet access
@paulswail
MISTAKE #4
The Lambda of God
@paulswail
Multi-purposeLambdafunction
❌ More IAM permissions = less secure
❌ No granular deployments
❌ Larger filesize = slower cold starts
❌ Hard to find logs in CloudWatch
@paulswail
Prefersingle-purposeLambdafunctions
@paulswail
MISTAKE #5
Premature abstraction into
microservices
@paulswail
Structuringyourfirstserverlessproject
❖ Start with a monorepo
❖ Create 1 or 2 services
❖ Don’t overly worry about code duplication
@paulswail
MISTAKE #6
Testing the wrong things
@paulswail
IntegrationTests>UnitTestsforLambdas
🍒 Unit tests optional nice-to-have
🔥 For each test case, write 1 test & run in 2 modes:
- INTEGRATION
- ACCEPTANCE
(h/t Yan Cui’s Production-Ready Serverless course)
@paulswail
IntegrationMode
Fast workflow
No mocking of cloud services
@paulswail
AcceptanceMode
Post deployment
Runs in CI/CD pipeline
Catches config errors
(IAM permissions, etc)
@paulswail
MISTAKE #7
Only using
synchronous patterns
@paulswail
Synchronousflow
👎 Slow client response time
👎 Write your own error and
retry handling
👎 Complex Lambda code
@paulswail
Asynchronousflow
👍 Fast API response time
👍 Uses built-in retry
behaviour
👍 Single-purpose Lambda
functions
@paulswail
MISTAKE #8
Expecting too much from
cloud services
@paulswail
Selectingcloudservices…
➡ Overwhelming number of AWS services
➡ Primitive vs higher-level application services
➡ Event-driven architectures make it easy to integrate
with 3rd party services
NEWSLETTER: serverlessfirst.com
BLOG: winterwindsoftware.com
LINKED IN: linkedin.com/in/paulswail
TWITTER: @paulswail
THANK YOU!

More Related Content

PPTX
Introduction to Puppet Enterprise 2016.4
PDF
Dev ops: Continuous delivery and Windows Azure
PDF
Continuous Delivery at Netflix, and beyond
PPT
Continuous integration
PPTX
What's New in Puppet Enterprise 2016.5
PDF
Lessons Learned from Migrating Legacy Enterprise Applications to Microservices
PPTX
What's New in Puppet Enterprise 2015.3 (APAC)
PPTX
Network Automation at Shapeways
Introduction to Puppet Enterprise 2016.4
Dev ops: Continuous delivery and Windows Azure
Continuous Delivery at Netflix, and beyond
Continuous integration
What's New in Puppet Enterprise 2016.5
Lessons Learned from Migrating Legacy Enterprise Applications to Microservices
What's New in Puppet Enterprise 2015.3 (APAC)
Network Automation at Shapeways

What's hot (17)

PPTX
Introduction to Application insights
PPTX
Deploy applications with TFS Build
PDF
Continuous Deployment at Kitchensurfing
PPTX
Engineering Tools at Netflix: Enabling Continuous Delivery
PDF
Accelerating DevOps Collaboration with Sauce Labs and JIRA
PPTX
What DevOps means for QA Teams
PDF
Taking Spring Apps for a Spin on Microsoft Azure Cloud
PPTX
Deploying IIS and ASP.NET with Puppet
PDF
Bootiful Microservices in a Legacy Environment: Lessons Learned
PPTX
Getting Started with Spring Boot
PDF
Easy Continuous Deployment You Can Trust (Webinar)
PDF
Continuous Delivery - Voxxed Days Cluj-Napoca 2017
PPTX
Deploy an Asp.Net Core App on Azure
PDF
Atlassian Roadshow 2016 - DevOps Session
PDF
London HUG 14/4 - Infratructure mgmt
PPTX
Achieving DevOps Success with Chef Automate
PPT
Spring Boot with Quartz
Introduction to Application insights
Deploy applications with TFS Build
Continuous Deployment at Kitchensurfing
Engineering Tools at Netflix: Enabling Continuous Delivery
Accelerating DevOps Collaboration with Sauce Labs and JIRA
What DevOps means for QA Teams
Taking Spring Apps for a Spin on Microsoft Azure Cloud
Deploying IIS and ASP.NET with Puppet
Bootiful Microservices in a Legacy Environment: Lessons Learned
Getting Started with Spring Boot
Easy Continuous Deployment You Can Trust (Webinar)
Continuous Delivery - Voxxed Days Cluj-Napoca 2017
Deploy an Asp.Net Core App on Azure
Atlassian Roadshow 2016 - DevOps Session
London HUG 14/4 - Infratructure mgmt
Achieving DevOps Success with Chef Automate
Spring Boot with Quartz
Ad

Similar to Top 8 mistakes developer teams make in their first serverless project (20)

PDF
Convince your boss to go Serverless at AWS User Group Tirupathi and Serverles...
PDF
Convince your boss to go Serverless at serverless week Brazil
PDF
Measure and Increase Developer Productivity with Help of Serverless at Server...
PDF
Measure and Increase Developer Productivity with Help of Serverless at AWS Co...
PPTX
Serverless - DevOps Lessons Learned From Production
PDF
Is serverless the new swiss cheese? ServerlessDays NYC 2018
PPTX
Going Serverless on AWS
PDF
Measure and Increase Developer Productivity with Help of Serverless at JCON 2...
PPTX
Serverless Toronto helps Startups
PDF
Debunking serverless myths
PDF
Writing less code with Serverless on AWS at AWS User Group Nairobi
PDF
Writing less code with Serverless on AWS at FrOSCon 2021
PDF
AWS Summit Singapore 2019 | The Serverless Lifecycle: Development and Operati...
PPTX
Operationnal challenges behind Serverless architectures by Laurent Bernaille
PDF
Designing Serverless Architectures on AWS
PPTX
Operational challenges behind Serverless architectures
PDF
Montréal AWS Users United: Let's go Serverless!
PPTX
AWS Serverless patterns & best-practices in AWS
PDF
Enterprise serverless
PDF
Strategies For High Quality Serverless Applications on AWS
Convince your boss to go Serverless at AWS User Group Tirupathi and Serverles...
Convince your boss to go Serverless at serverless week Brazil
Measure and Increase Developer Productivity with Help of Serverless at Server...
Measure and Increase Developer Productivity with Help of Serverless at AWS Co...
Serverless - DevOps Lessons Learned From Production
Is serverless the new swiss cheese? ServerlessDays NYC 2018
Going Serverless on AWS
Measure and Increase Developer Productivity with Help of Serverless at JCON 2...
Serverless Toronto helps Startups
Debunking serverless myths
Writing less code with Serverless on AWS at AWS User Group Nairobi
Writing less code with Serverless on AWS at FrOSCon 2021
AWS Summit Singapore 2019 | The Serverless Lifecycle: Development and Operati...
Operationnal challenges behind Serverless architectures by Laurent Bernaille
Designing Serverless Architectures on AWS
Operational challenges behind Serverless architectures
Montréal AWS Users United: Let's go Serverless!
AWS Serverless patterns & best-practices in AWS
Enterprise serverless
Strategies For High Quality Serverless Applications on AWS
Ad

Recently uploaded (20)

PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Machine learning based COVID-19 study performance prediction
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
Big Data Technologies - Introduction.pptx
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Encapsulation theory and applications.pdf
PPTX
Cloud computing and distributed systems.
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
MYSQL Presentation for SQL database connectivity
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
20250228 LYD VKU AI Blended-Learning.pptx
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Machine learning based COVID-19 study performance prediction
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Per capita expenditure prediction using model stacking based on satellite ima...
Big Data Technologies - Introduction.pptx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Unlocking AI with Model Context Protocol (MCP)
Encapsulation theory and applications.pdf
Cloud computing and distributed systems.
The Rise and Fall of 3GPP – Time for a Sabbatical?
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Review of recent advances in non-invasive hemoglobin estimation
Building Integrated photovoltaic BIPV_UPV.pdf
MIND Revenue Release Quarter 2 2025 Press Release
Dropbox Q2 2025 Financial Results & Investor Presentation
The AUB Centre for AI in Media Proposal.docx
MYSQL Presentation for SQL database connectivity
How UI/UX Design Impacts User Retention in Mobile Apps.pdf

Top 8 mistakes developer teams make in their first serverless project