BCS SPA2017

Serverless Computing for the Enquiring Mind

A workshop where we explore the complexities and opportunities of serverless computing

150 minute workshop

Abstract

Serverless computing is the new microservices (which in turn were the new SOA) with conference schedules filling up with sessions on how serverless computing will solve all of the problems of previous models and bring o problems of its own. Of course as this is SPA, this session is a little different.

During this workshop we'll explore the ideas behind serverless computing (architectural, economic and technical) and try to develop a some ideas from first principles on when to use this new approach and when it leave it well alone.

The session will start with an overview of the model and its four primary implementations (from Amazon, IBM, Google and Microsoft), consider its architectural implications and have some practical hands-on time with a representative implementation.

In the second half of the session we will use the vast knowledge gained in the first half to step back and work in groups to redesign a "traditional" system using this new architectural style and assess the impact that this will have on its qualities. This will allow us to sketch some guidelines on when serverless computing is likely to be beneficial.

Audience background

Basic knowledge of cloud computing
Background knowledge of common architectural styles (client/server, event driven system, blackboard, microservices, ...)
Some programming knowledge (e.g. Python)

Benefits of participating

- Gain a basic knowledge of the "serverless" computing style
- An opportunity to explore one of the main implementations
- An opportunity to consider the characteristics of the architectural style
- The chance to work in groups to consider the implications of this approach

Materials provided

Presentation slides
Exercises
Example system description
Scripts and instructions (via Github)

Process

The session is in two halves - the first half builds basic knowledge of what serverless computing really is, the second half gets the participants to explore what the implications of it are.

The first half of the session starts with an overview of the style and how it is implemented by the four main cloud providers, culimating with a practical exercise to create a couple of functions before the break (so allowing overspill into the break if needed).

The second half of the session has the participants working in groups to consider what the strengths and weaknesses of the style are and then redesigning a standard service-based system to use the serverless style and considering how this changes its architectural qualities.

Detailed timetable

00:00 - 00:15 - Introduction to serverless computing
00:15 - 00:30 - Brief overview of Amazon, Azure, GCP and Bluemix variants
00:30 - 01:00 - Practical exercise to create a couple of functions
01:00 - 01:15 - Architectural implications of serverless (presentation)
01:15 - 01:30 - Break
01:30 - 01:45 - In groups, consider implications of use for real systems
01:45 - 02:15 - In groups, redesign an example system using serverless and assess the impact
02:15 - 02:30 - Summarise learning and gather output

Outputs

The materials for the session are here: https://github.com/andylongshaw/serverless

History

This would be a new session for SPA.

Presenters

  1. Eoin Woods
    Endava
  2. Andy Longshaw
    Coop Digital