Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Serverless – Not Your Father’s App Architecture

Serverless – Not Your Father’s App Architecture

The Serverless framework is the fantastic toolkit for deploying and operating serverless architectures. Serverless lets you focus on your application, not your infrastructure. You can test and deploy in a single environment to any cloud provider. Serverless allows automatic scaling, is Cloud provider agnostic and enables rapid deployment.

Vinny Carpenter

August 07, 2018
Tweet

More Decks by Vinny Carpenter

Other Decks in Technology

Transcript

  1. The Northwestern Mutual Life Insurance Company – Milwaukee, WI Serverless

    – Not Your Father’s App Architecture Vinny Carpenter Tuesday, August 7, 2018 The Future is Serverless
  2. Agenda The Future is Serverless • Introduction • What is

    Serverless • Serverless Memes • Serverless Ecosystem • The Serverless Framework • Demo • Conclusion • Q&A 2
  3. 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! 3
  4. 4 What is Serverless? Serverless is a software architecture pattern

    where you don't manage the servers running your applications. You focus on building their 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.
  5. 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. ! 5 Serverless Memes
  6. 6 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?
  7. 7 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
  8. 8 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
  9. Benefits & Challenges of Serverless Applications 9 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 - - - - -
  10. 11 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/
  11. 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 12
  12. 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 15 Conclusion Source: ServerlessConf 2018 San Francisco