Slide 1

Slide 1 text

The Northwestern Mutual Life Insurance Company – Milwaukee, WI The Future Is Serverless Vinny Carpenter Saturday, October 13, 2018

Slide 2

Slide 2 text

2

Slide 3

Slide 3 text

Agenda The Future is Serverless • Introduction • What is Serverless • Serverless Memes • Serverless Ecosystem • The Serverless Framework • Demo • Conclusion • Q&A 3

Slide 4

Slide 4 text

About Me Vinny Carpenter Principal Engineer – Northwestern Mutual Email [email protected] Twitter @vscarpenter Website https://vinny.io/ GitHub https://github.com/vscarpenter LinkedIn https://www.linkedin.com/in/vinnycarpenter We’re Hiring! 4

Slide 5

Slide 5 text

5 What is Serverless? Serverless is a software architecture pattern where you don't manage the servers running your applications. You focus on building your applications and services without having to worry about provisioning servers, containers or thinking about scaling, cost management or availability. Source - https://aws.amazon.com/serverless/ No server management There is no need to provision or maintain any servers. There is no software or runtime to install, maintain, or administer. Flexible scaling Your application can be scaled automatically or by adjusting its capacity through toggling the units of consumption (e.g. throughput, memory) rather than units of individual servers. High availability Serverless applications have built- in availability and fault tolerance. You do not need to architect for these capabilities since the services running the application provide them by default. No idle capacity You do not have to pay for idle capacity. There is no need to pre- or over-provision capacity for things like compute and storage. For example, there is no charge when your code is not running.

Slide 6

Slide 6 text

A 'meme' is a virally-transmitted cultural symbol or social idea. The majority of modern memes are captioned photos that are intended to be funny, often as a way to publicly ridicule human behavior. Serverless is no exception – Google ‘serverless memes’ for a good laugh – maybe after the session. ! 6 Serverless Memes

Slide 7

Slide 7 text

7 OK… So Functions? • So Serverless is just Function As A Service? • What else is Serverless beyond functions? • Event Driven Architecture - how does that fit in?

Slide 8

Slide 8 text

8 How Did We Get Here? AWS Launched Lambda at their annual developer conference in 2014 – at launch, AWS Lambda let you execute code without provisioning or managing servers by uploading a zip file that had your code and some simple configuration. As AWS Lambda gained more traction, the other major Cloud providers joined the fray to offer Serverless Functions on their platform. A year later Google, Microsoft, and IBM had included beta-versions of Serverless Functions on their Cloud platform. Oct 2015 Serverless framework (JAWS) released Feb 2016 Google release Cloud Functions Feb 2016 IBM release OpenWhisk Mar 2016 Microsoft release Azure Functions May 2017 CNCF creates Serverless Working Group Oct 2017 Oracle release Fn Serverless framework Nov 2014 AWS releases Lambda

Slide 9

Slide 9 text

9 Serverless Ecosystem The Cloud Native Computing Foundation (CNCF) is an open source software foundation dedicated to making cloud-native computing universal and sustainable. They published an infographic on the Serverless platform that captures the landscape – more details @ http://s.cncf.io

Slide 10

Slide 10 text

Benefits & Challenges of Serverless Applications 10 TL;DR version Pros Cons Auto Scaling High Availability Pay as you use Increased velocity + + + + Zero Administration + Immature Monitoring Startup Penalty Local testability immature Cloud feature parity not there Complex Debugging - - - - -

Slide 11

Slide 11 text

Enter Serverless Framework 11

Slide 12

Slide 12 text

12 Infrastructure as Code With the Serverless Framework you can define your entire Serverless application, utilizing popular Serverless technologies like AWS Lambda, with a simple yaml configuration file. Simple Development The Serverless Framework provides a simple, intuitive CLI experience that makes it easy to develop & deploy applications to platforms like AWS, Microsoft Azure, Google Cloud Platform, IBM OpenWhisk, and more. Provider Agnostic The Serverless Framework is open source and provider agnostic, meaning you only need one tool to tap in to the power of all the cloud providers. Serverless Framework The easy, open way to build Serverless applications. Available at https://serverless.com/framework/

Slide 13

Slide 13 text

The Serverless Framework Platforms supported Amazon Web Services (AWS) Microsoft Azure Google Cloud Platform (GCP) IBM OpenWhisk Kubeless Spotinst Languages/frameworks Java/Kotlin/Scala/Groovy JavaScript/TypeScript/ECMAScript/Node Python C#/F# Go Swift Ruby PHP 13

Slide 14

Slide 14 text

The Serverless Framework 14 Getting started

Slide 15

Slide 15 text

Demo 15

Slide 16

Slide 16 text

The Future is Serverless - Yochay Kiriaty of Microsoft Azure provided a great "don't do this" bucket list for anyone who's getting started with serverless: • Functions logic should be stateless • Functions should be idempotent • One task per function ("do one thing") • Functions should finish as quickly as possible • Avoid recursions • Concurrency limitations and rate limits 16 Conclusion Source: ServerlessConf 2018 San Francisco

Slide 17

Slide 17 text

Q & A 17