All Software Architecture, All the Time
June 10-13, 2019
San Jose, CA

How a scientist would improve serverless functions

3:00pm–3:45pm Thursday, June 13, 2019
Case Study, Serverless
Location: 210 B/F
Secondary topics:  Best Practice, Overview
Average rating: **...
(2.00, 1 rating)

Who is this presentation for?

  • Architects, those in ops, and QA engineers

Level

Intermediate

Prerequisite knowledge

  • Familiarity with developing and deploying serverless applications (useful but not required)

What you'll learn

  • Learn a new method for testing changes in production without risking degradation of functionality
  • Release refactored (serverless) applications with confidence

Description

Gero Vermaas and Jochem Schulenklopper explore scientific approaches used to build knowledge about the world, such as how empirical, quantitative research generates knowledge derived from observations and uses inductive reasoning to draw conclusions about the experiment outcome. They then offer an overview of the Scientist library, used by GitHub in refactoring the gitlib2 C library, and discuss the (sometimes surprising) results of applying the scientific method. Gero and Jochem 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.

Join in to see 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). Along the way, you’ll see Scientist in action for refactoring an actual (small, thus comprehensible) serverless application in production, as Gero and Jochem take you through improving it step-by-step while remaining confident that candidate changes are actual improvements over the control (current implementations).

Photo of Gero Vermaas

Gero Vermaas

Xebia

Gero Vermaas is a Netherlands-based IT architect at Xebia, a boutique IT consultancy firm.

Photo of Jochem Schulenklopper

Jochem Schulenklopper

Xebia

Jochem Schulenklopper is a Netherlands-based IT architect at Xebia, an international IT consultancy company.