Serverless Pitfalls
Kate Semizhon
Kate Semizhon
Engineering Manager
● Epam Systems / Sephora / Radius
Intelligence
Joining Square next week
Expecting a baby-boy 👶 in November
@anaris_s
What is Serverless
(FaaS)
is an execution model where the cloud provider is
responsible for executing a piece of code by
dynamically allocating the resources.
Road to Serverless
Server-side
Host
Application
Operation
Operation
Serverless
Operation
Operation
Serverless
Where it’s available
AWS Lambda
Microsoft Azure Functions
Google Cloud Functions
Use Case #1
Use Case #2
Benefits
Cost Savings
● Don’t need to keep
servers up when we are
not serving out any
requests
● Reduced labor cost
Time Savings
● On maintenance
● On applying the
appropriate security
updates to the server
Scaling
● Scales up and down
behind the scene
Pitfalls
How to setup a source control for
serverless:
● to share code
● do not inflate distribution artifact
Code Management
Multi-repoMono-repo vs
Mono-Repo
Code sharing between functions
No need to support multiple
repositories and deployment
processes
Mono-Repo
Code sharing between functions
No need to support multiple
repositories and deployment
processes
Cloud provider might
have a restriction on
size of the artifact
Mono-Repo
Disadvantages
Size of an artifact
Solution: artifact per lambda
Mono-repo
Mono-repo can grow
out of control to up to
hundreds of functions
Multi-repo
More difficult to share code
Complicates deployments
Local environment
- Local testing
Local environment
- Local testing
Solution
- Unit tests
- PR environments for
integration testing
Cold starts
- Cold vs warm
performance of
functions
Monitoring and
Logging
- AWS default logging - Cloud
Watch Logs
- Monitoring - Limited metrics at
AWS
Vendor Lock-In
Thank you!

Serverless Pitfalls