4–7 Nov 2019

How a scientist would improve serverless functions

11:0011:45 Thursday, 7 November 2019
Location: M8
Secondary topics:  Best Practice, Case Study

Who is this presentation for?

  • Architects and developers (starting their journey) of serverless applications

Level

Intermediate

Description

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.

Prerequisite knowledge

  • 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
Photo of Jochem Schulenklopper

Jochem Schulenklopper

Xebia

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

Photo of Gero Vermaas

Gero Vermaas

Xebia

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

Comments on this page are now closed.

Comments

Picture of Jochem Schulenklopper
Jochem Schulenklopper | IT Architect
7/11/2019 20:29 CET

Thanks for your attention if you joined us this morning – we enjoyed giving the presentation, and appreciated the quality of the questions and discussions afterwards.

There’s one improvement that’s already on the roadmap, related to further reducing the latency that Serverless Scientist adds to the responses: https://gitlab.com/practicalarchitecture/serverless-scientist/issues/52.

In short, by using a custom runtime for our AWS Lambda functions we can defer all non-control related communication to a later stage; after returning the control’s response to the client. That will significantly reduce the current latency added by Serverless Scientist.

Contact us

confreg@oreilly.com

For conference registration information and customer service

partners@oreilly.com

For more information on community discounts and trade opportunities with O’Reilly conferences

Become a sponsor

For information on exhibiting or sponsoring a conference

pr@oreilly.com

For media/analyst press inquires