4–7 Nov 2019

Releasing improved serverless functions with confidence

13:3017:00 Tuesday, 5 November 2019
Location: Hall A2
Secondary topics:  Best Practice, Hands-on

Who is this presentation for?

  • Architects and developers with an interest or some experience in serverless applications

Level

Intermediate

Description

Jochem Schulenklopper and Gero Vermaas get you started by describing serverless architectures, serverless applications, AWS Lambda functions, and the serverless framework to specify and deploy such applications. Right from the start, you’ll fork an application and deploy it as a serverless application to a production environment. They also describe the Scientist library and its concept as described and used by GitHub in refactoring a core Git library, as well as the backstory of Scientist, how GitHub used it in testing an improved implementation, and some (sometimes surprising) results of applying its “scientific method” for things running in production.

They compare the approach used by Scientist (“testing candidates in production, comparing their outcomes with a control”) with other ways to verify the correctness and quality of software implementations and architecture designs, including 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, and make the case that the scientific method of testing improvements in production really adds value in guaranteeing whether a (refactored) implementation objectively and conclusively performs better.

You’ll apply this “release improved code to production with confidence” approach on the small serverless application that already runs in production and make improvements to the code (choosing from AWS Lambda functions in Java, Python, Node.js, Go, or Ruby programming languages), deploy the improved code to production, and compare that with the original baseline applications during ongoing production traffic. Based on the outcomes, you can confidently conclude whether your changes are actual improvements over the current implementation.

Outline:

  • Brief introduction into serverless architectures, AWS Lambda functions, and serverless framework
  • Hands on: Forking a sample repository, setting up local development environment, and deploying a simple serverless application to a production environment
  • Brief description of different approaches for verifying running software in local, testing, and production environments
  • Description of Scientist library as used by GitHub in refactoring a core library
  • Brief description of a comparable library for testing serverless applications
  • Hands on: Applying a Scientist-like implementation in releasing and testing improvements in a sample serverless application and concluding on the quality based on actual production traffic

Prerequisite knowledge

  • A basic understanding of serverless architecture style and serverless applications
  • Familiarity with making changes to an existing smallish application in Java, Python, Node.js, Go, or Ruby
  • Experience with AWS Lambda and serverless framework (useful but not required)

Materials or downloads needed in advance

  • A laptop with an internet connection

What you'll learn

  • Get an introduction to a relatively new approach of nonintrusive testing of refactored or improved serverless functions using actual production traffic
  • Learn to deploy and run a (small) serverless application in production
  • Gain experience in improving software code of a serverless function
  • See how to test improved code against existing code and decide whether the changes are good enough to be released to production
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
5/11/2019 17:58 CET

Thanks all for your participation, and hanging in there completing challenges until the end. We had a real fun time, and our infrastructure was able to manage the load, yeah!

If you’ve got comments, feedback, further questions, feel free to drop them here.

You’re also invited to rate this session on the conference site… and please leave some remarks next to your star rating on what could possibly be improved. Thanks!

Picture of Gero Vermaas
Gero Vermaas | IT Architect
5/11/2019 14:47 CET

During the tutorial you can refer to these slides:
https://bit.ly/serverless_scientist_tutorial_slides

Picture of Gero Vermaas
Gero Vermaas | IT Architect
4/11/2019 13:42 CET

@Carstem Jahn It’s enough if you bring a laptop with working internet connection and a (current) browser version.

Carsten Jahn | DevOps Engineer
4/11/2019 13:35 CET

Is there anything participates can do to prepare the hands-on session?

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