, 20 tweets, 6 min read Read on Twitter
Error handling in a stateless environment by Nitzan Shapira
This is from @nitzanshapira from epsagon #ServerlessDaysBOS
One of the "limitations" (really a design) of serverless is that it's stateless #ServerlessDaysBOS
Serverless makes you write smaller more granular code that uses more managed apis. So now you high a highly distributed and event driven system #ServerlessDaysBOS
Now that complexity has increased, troubleshooting can't just use the old school tools #ServerlessDaysBOS
In traditional software environments (on a server), you can look at the logs when things go wrong; connect to the host run a debugger; use a monitoring agent to collect metrics and instrument code #ServerlessDaysBOS
So now with serverless you have too many logs and no ability to set up an agent - what do you do #ServerlessDaysBOS
All information in serverless needs to be sent right away is another challenge #ServerlessDaysBOS
Failures in serverless - deal with them using retries. Doesn't always just work the second time and is dependent on how it was invoked #ServerlessDaysBOS
Retries changes the logical structure of the application - all code must now be idempotent #ServerlessDaysBOS
It can be difficult to make all functions idempotent - not always practical #ServerlessDaysBOS
So now you can try step functions to orchestrate the flow of the application and get a real view of the state machine. Observability still not solved though #ServerlessDaysBOS
Functions are important to monitor, but tracking overall system health is important. Do it by tracking asynchronous invocations #ServerlessDaysBOS
Can't forget about external apis on tracking system health #ServerlessDaysBOS
Distributed tracing helps profile and monitor distributed applications and how a trace propogates through a system #ServerlessDaysBOS
How can you implement distributed tracing in serverless? Use i.e. opentracing or opencensus and manually put it in your code? Error prone and unreliable #ServerlessDaysBOS
Complex systems have thousands of functions - putting code in every function is too much to do manually. So the obvious answer - automation! #ServerlessDaysBOS
Automation is critical in serverless. Putting your tracing code in automatically gives you tracing at a low cost to developer productivity #ServerlessDaysBOS
Tracing vs logging - combine them to get the whole view of the system with the ability to search them #ServerlessDaysBOS
So use serverless, think event driven use proper orchestration, automate your observability and then you'll get to market so much faster #ServerlessDaysBOS
Missing some Tweet in this thread?
You can try to force a refresh.

Like this thread? Get email updates or save it to PDF!

Subscribe to Ann Guilinger
Profile picture

Get real-time email alerts when new unrolls are available from this author!

This content may be removed anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Follow Us on Twitter!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just three indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3.00/month or $30.00/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!