Serverless NodeJS With AWS Lambda

Download Serverless NodeJS With AWS Lambda

Post on 10-Feb-2017

401 views

Category:

Technology

3 download

Embed Size (px)

TRANSCRIPT

  • Going ServerlessWITH AWS LAMBDA + NODEJS

    JSJakartaJakarta JavaScript User Group

  • ABOUT ME

    HI, IM RIZA

    riza@hacktiv8.com

    facebook.com/rizafahmi

    github.com/rizafahmi

    medium.com/@rizafahmi22

    @rizafahmi22

    appscoast.id

  • Nov 13First Meetup

    1.459Members

    26Meetup Events

    Held

    100-ishAttendees per month

    meetup.com/JakartaJS

    JSJakartaJakarta JavaScript User Group

    http://meetup.com/JakartaJS

  • https://meetup.com/JakartaJS

    https://jakartajs-join.herokuapp.com

    JSJakartaJakarta JavaScript User Group

    https://meetup.com/JakartaJShttps://jakartajs-join.herokuapp.com

  • Serverless

  • A New Cloud Computing Trend That Changes The Way You Think About

    Writing And Maintaining Applications

    Tomasz JanczukChief Architect for Webtasks at Auth0

  • The Pieces

  • Lambda

  • EC2

    EC2 ContainerService

    ElasticBeanstalk

    Lambda

    What Lambda Really Is

  • Why You Should Use Lambda

    Auto Scaling

    Secure

  • Autoscale

  • Autoscale All The Way!

  • 2010

    2014 AWS Lambda

    2016 Google Cloud FunctionsMicrosoft Azure Functions

    2015 Webtask RadTonicDev

    Functions Service Timeline

  • API Gateway

  • Databases

  • Other Services

  • Serverless Infrastructure

  • Use Cases

  • Scalable API

  • Scheduled Tasks

  • Indexing and Sync

  • Automation and iOT

  • Audit and Notification

  • Pricing

  • Free Tier

    1M Request3M Seconds

    of compute time

  • Lambda FunctionOur very first

  • Getting Started

  • Choose Your Weapon

  • Triggers

  • Write Your Code

  • 1 'use strict'; 2 console.log('Loading function'); 3 4 exports.handler = (event, context, callback) => { 5 let min = 1 6 let max = 10 7 8 let random_number = Math.floor(Math.random() * 9 max) + min 10 let mark = "" 11 for (let i=min; i
  • Setting it up!

  • Test it

  • Connecting Lambda To API Gateway

  • Create New API

  • Connect To Lambda Function

  • Publish it

  • Test it

  • Slack BotServerless

  • Add Slack WebHook Config

  • The Code 1 const AWS = require('aws-sdk') 2 const db = new AWS.DynamoDB.DocumentClient({region: 'ap-southeast-1'}) 3 4 exports.handler = (event, context, callback) => { 5 console.log(event) 6 if (event.user_name) { 7 const params = { 8 Item: { 9 date: Date.now(), 10 user_name: event.user_name 11 }, 12 TableName: 'report_log' 13 } 14 db.put(params, (err, data) => { 15 context.succeed({ 16 "response_type": "in_channel", 17 "text": "Hi " + event.user_name +"! It's time for standup meeting." 18 }) 19 }) 20 } 21 };

  • Setting Up The Database

  • Setting Up The Database

  • Permission To Use The DB

  • The Trigger

  • Publish it

  • Hook it

  • Hook it

  • Run it

  • Our Autoscaling And Maintenance Free Bot Is Finished

    Now Lets Build Skynet!

  • JSJakartaJakarta JavaScript User Group

Recommended

View more >