How a scientist would improve serverless functions
Who is this presentation for?
- Architects and developers (starting their journey) of serverless applications
Jochem Schulenklopper and Gero Vermaas detail scientific approaches used to build knowledge about the world. Empirical, quantitative research generates knowledge derived from observations and uses inductive reasoning to draw conclusions about the experiment outcome. They explore the Scientist library and its concept as described and used by GitHub in refactoring the `gitlib2` C library. You’ll learn the Scientist backstory, how GitHub used it to improve an existing implementation, and what the (sometimes surprising) results of applying the scientific method were.
They compare the approach used by Scientist (“testing candidates in production, comparing outcomes with a control group”) with other ways to verify the correctness and quality of software implementations and architectural setups: unit and component testing, integration testing, performance and load testing, production simulation, A/B testing, blue-green deployments, feature flags, canary deployments, and architecture fitness functions. They make the case that the scientific method adds value in guaranteeing whether a (refactored) implementation objectively and conclusively performs better in production. And they outline how they’ve applied this approach in refactoring serverless functions, including a lightweight implementation of Scientist for AWS Lambda functions and discuss examples of refactoring simple code (comparing alternative implementations in the same programming language, comparing implementations in different languages, possibly even comparing implementations at different FaaS providers). You’ll get a demonstration of using Scientist in refactoring an actual (small, and thus comprehensible) serverless application in production: improving it step by step while being confident that candidate changes are actual improvements over the control = current implementations.
- Experience designing and building applications
- Familiarity with the serverless architecture style (useful but not required)
- Experience with serverless applications and functions (useful but not required)
What you'll learn
- Get an introduction to a relatively new approach of nonintrusive testing of refactored and improved serverless functions using actual production traffic
Jochem Schulenklopper is a Netherlands-based IT architect at Xebia, an international IT consultancy company.
Gero Vermaas is a Netherlands-based IT architect at Xebia, a boutique IT consultancy firm.
Leave a Comment or Question
Help us make this conference the best it can be for you. Have questions you'd like this speaker to address? Suggestions for issues that deserve extra attention? Feedback that you'd like to share with the speaker and other attendees?
Join the conversation here (requires login)
For conference registration information and customer service
For more information on community discounts and trade opportunities with O’Reilly conferences
For information on exhibiting or sponsoring a conference
For media/analyst press inquires