Well Actually Serverless, - DrupalCon Well Actually... The Serverless Framework with Node.js & AWS -

  • View
    0

  • Download
    0

Embed Size (px)

Text of Well Actually Serverless, - DrupalCon Well Actually... The Serverless Framework with Node.js & AWS -

  • Serverless, Well Actually... Bob Kepford

  • | 2

    Bob is a Lead Architect at Mediacurrent who has been

    slinging Drupal code since 2008. An active member of

    the Drupal community, Bob manages the Fresno,

    California Drupal User's Group, co-organizes the

    Decoupled Days Conference, belongs to the Drupal

    Association, and is the editor of TheWeeklyDrop, a

    popular Drupal newsletter.

    When he's not in front of a computer, Bob enjoys a

    good cup of coffee, playing bass, watching Dodgers

    baseball, and hanging out with his wife and two sons in

    sunny California.

    Bob Kepford Lead Architect

    /in/kepford

    @kepford

  • | 3

    About Mediacurrent

  • | 4

    Who We Are

    Mediacurrent is a full-service digital agency that

    implements world class open source software

    development, strategy, and design to achieve

    defined goals for enterprise organizations

    seeking a better return on investment.

  • | 5

    Serverless, what is it?

    ...cloud-computing execution model in which the cloud provider acts as the server, dynamically managing the allocation of machine resources.

    Pricing is based on the actual amount of resources consumed by an application, rather than on pre-purchased units of capacity.”

    “ ~ Wikipedia

  • | 6

    Mediacurrent is a full-service digital agency that

    implements world class open source software

    development, strategy and design to achieve defined

    goals for enterprise organizations seeking a better

    return on investment.

    Who We Are

  • | 7https://readwrite.com/2012/10/15/why-the-future-of-software-and-apps-is-serverless/

    “The phrase “serverless” doesn’t mean servers are no longer involved. It simply means that developers

    no longer have to think that much about them.” ~ Ken Fromm

  • | 8

    So there IS a Server!

  • | 9

    Yeah. The Name. Whatever.

  • | 10

  • | 11

    4 Pillars of Serverless

    1. Service based

    2. Cloud runtime

    3. Usage based pricing

    4. Managed infrastructure

    ~ Bob Kepford - noted tech luminary

  • | 12

    S.C.U.M.

  • | 13

    So What’s the Big Deal?

    Low start up cost Predictable Pricing Web Scale Write your front-end &

    back-end Javascript

    Built for microservices

    approaches

  • | 14

    Components of Serverless

    ● FaaS (Functions as a Service) ● HTTP Endpoints ● Events / Scheduling ● File Services ● Data stores (SQL/NoSQL) ● Messaging Services (Email, SMS) ● Queuing Services ● Authentication Services ● Logging Services

  • | 15

    How'd We Get Here?

    ● Microservices ● AWS ● PaaS / Containerization ● Kubernetes ● Serverless

  • | 16

    Service Providers

    ● Amazon (AWS) ● Google (Cloud & Firebase) ● Microsoft (Azure) ● IBM (Uses Apache OpenWhisk which is OSS) ● Some that build on top of AWS like Webtask

  • | 17

    Serverless Languages

  • | 18

    Languages Used for Serverless Development

  • | 19

    Common Uses

    ● Static websites - contact forms

    ● Image processing

    ● Ops / Infrastructure

    ● IoT

    ● Data normalization - GraphQL Server

    ● Offloading expensive tasks from your web server

    ● Serverless at the edge

    ● Bots - A Slackbot

    ● Avoid high upfront costs for infrastructure

  • | 20

    ● Discrete API functionality

    ● Scale is a concern

    ● Cost is a concern

    ● Maintenance is a concern

    ● Tight timeline & inexperienced team

    ● Execution time is critical

    ● Need co-located resources

    ● Pricing: Some high traffic situations. Mileage varies

    When should I use it? When should I avoid it?

  • | 21

    How much does it cost?

    ● It depends...

    ● Do your homework and use Calculators

    ● It can be cost effective

    ● Set billing limits and notifications

  • | 22

    Concerns ● Vendor Lock-In

    ● Identity & Access Management

    ● Cold starts

  • | 23

    ● Serverless framework - serverless.com

    ● Serverless Plugins - github.com/serverless/plugins ● SAM (AWS Serverless Application Model) -

    github.com/awslabs/serverless-application-model

    Frameworks and Tools

  • | 24

    ● CLI tool for deployment

    ● Standardizes project structure

    ● Rich plugin ecosystem

    ● Eases migration between providers

    Serverless Framework

  • | 25

    Getting Started npm install serverless -g

    serverless create --template aws-nodejs --path my-service

    cd my-service

  • | 26

    Real World Use Case

  • | 27

  • | 28

  • | 29

    github.com/kepford/serverless-feedbin-to-pinboard

    Feedbin to Pinboard

  • | 30

  • | 31

    Project Directory

  • | 32

    serverless.yml

  • | 33

    serverless.yml

  • | 34

    serverless.yml

  • | 35

    package.json

  • | 36

    handler.js getIds()

  • | 37●●●●●●

    handler.js getItems()

  • | 38

    Deployment

    sls deploy

    sls deploy -s prod

    sls deploy -f functionName -s dev

  • | 39

    Serverless Deploy

  • | 40

    Project Teardown

    sls remove

    sls remove -s prod

  • | 41

    Removal

  • | 42

    Logging? Yep!

    sls logs -f hello -s dev -t

    Tail the logs on dev for function named hello.

  • | 43

    Local Development? Yep

    sls offline start

    sls invoke -f functionName -l

  • | 44

    Serverless Offline

  • | 45

    The Serverless Revolution is Coming

  • | 46

    Resources

    ● Think FAAS with TREK10 - Podcast

    ● The Serverless Framework with Node.js & AWS - Udemy Course

    ● Serverless Status - Newsletter

    ● Serverless Chronicle - Newsletter

    ● The Power of Serverless - Site for Frontend Developers

    ● Visualizing Cloud Starts - by Mikhail Shilkov

    ● Debunking Serverless Tropes 🔥 - Ryan Marsh

    https://www.trek10.com/blog/category/think-faas/ https://www.udemy.com/the-serverless-framework-with-nodejs-aws/ https://serverless.email/ https://serverless.curated.co/ https://thepowerofserverless.info/ https://mikhail.io/2019/03/visualizing-cold-starts/ https://hackernoon.com/debunking-serverless-tropes-1667973e92d

  • Call for papers The Decoupled Days 2019 call for papers is extended until May 3, 2019 at 11:59pm EST.

    Sponsorships For sponsorship information, reach out to our team at decoupleddays@gmail.com.

    @decoupleddays Follow us on Twitter to stay updated on important announcements.

    #decoupleddays • decoupleddays.com • @decoupleddays

  • Friday, April 12, 2019

    #DrupalContributions

    Contribution Opportunities

    9:00-18:00 Room: 602

    Mentored Contribution

    First Time Contributor Workshop

    9:00-12:00 Room: 606

    General Contributions

    9:00-18:00 Room: 6A

    Join Us!

  • Thank you!

    @mediacurrent

    What did you think? Locate this session at the DrupalCon Seattle website:

    http://seattle2019.drupal.org/schedule

    Take the Survey! https://www.surveymonkey.com/r/DrupalConSeattle

  • | 50

    Title

    Text

  • | 51

    Today’s Team

    Josh Linard VP, Sales

    Executive Sponsor

    Dave Terry Partner, Client Services

    Bill Shaouy Senior Business Analyst

    Matt Davis Lead Architect

    Emerging Technology

    ●●●●●●