Kickoff Meeting
May 24, 2018
Meetup - Thursday May 24, 2018
Meetup Agenda
1. Intro & Announcements
2. Stand Up Introductions
3. Presentation: Let’s go Serverless!
4. Speaker: Daniel ZivKovic
5. Feedback, Discussions & Networking
2
Usergroup Organizers & Sponsors
● Daniel ZivKovic, Solutions Architect, TriNimbus
● Serverless.com, Leading Serverless Application Framework
● MyPlanet, Leading software studio in Toronto
○ Drupal & Web Content Management experts
○ Makers of smarter User Interfaces
○ Offices in Toronto, Chicago & Ukraine
● TriNimbus, Recommended AWS Canada Partner
○ AWS Meetups in Vancouver, Toronto, Montreal, Ottawa,
Victoria, Calgary, Edmonton, Waterloo & Quebec City
○ Offices in Vancouver, Calgary, Toronto, Montreal &
Macedonia
3
5 Second
Introduction
4
1. What do you mean Serverless?
2. FaaS vs. Serverless vs. BaaS
3. How did we get here? Serverless past, present & future
4. Popular Use Cases
5. Serverless forecast: How big will serverless be?
6. Get going with The Serverless Framework – walkthrough
7. Products landscape – your Serverless options
8. Learning Serverless
9. Adopting it in your organization
Let’s go Serverless – Presentation Agenda
5
Even when people believe in the same idea (or “fight for the
same thing”), we may see / interpret things differently based
on our position (experiences or biases) to the prism (of life).
Disclaimer – Serverless is charged term
So, my position is
AWS coloured –
Orange ;)
Where is yours?
6
Servers exists, but developers do not have to
worry about them
● Technology is serverless “the same way WiFi is wireless”
○ Gojko Adzic – http://bit.ly/2yQgwwb
● "Serverless is just a name. We could have called it Jeff"
○ said Paul Johnston, and started www.JeffConf.com
● "A Serverless solution is one that costs you nothing to run if
nobody is using it (excluding data storage)"
○ Paul Johnston – http://bit.ly/2yRlhFO
What do you mean Serverless?
7
… for building
Serverless apps
FaaS – a new programming model…
8
… unit of
deployment and
scaling is
Function
(as opposed to
Application,
Container, Virtual
Server).
FaaS is unique, because…
9
Not all FaaS is
Serverless:
● Kubeless is not
serverless.
Serverless contains a subset of FaaS, plus
… other Backend
Services that cost
you nothing when
not used (BaaS).
10
Why I’m so excited about
Serverless?
• Information Technology Past
• Present Opportunities
• Promising Future
11
● Growing up, I liked to make models of ships, planes,
trains… which translated into the love for creating software.
● Wanted to make useful programs, to help people around
● But, ended up spending more time administrating the
computers behind, and making our products Highly
Available, Scalability and Secure.
● Especially after Internet came!
● Software became complicated to make… and keep running.
IT Past – Personal journey
12
you gather the
requirements,
architect the
solution, your
design it, you
build it… with
pride!
Building software products felt like when
you want to build a locomotive…
13
… it starts feeling
as if you’re *stuck*
feeding the steam
locomotive with
coal!
(it’s just it was much
colder in the data
centers :)
But then, when you put it to production…
14
● That was “my tainted” Developer’s View
● Now, the Operations View
○ In the beginning, IT had “You Build It, You Run It” –
DevOps like culture, then
○ we invented the “Toss It Over the Fence” principle, and
had Ops people deal with our (cr)app, maintain our
computers, databases, networks…
○ which made developers happier/sloppier, but
○ was additional cost for the business/clients.
Building vs. Maintaining Software
15
“Toss It Over the
Fence”
SDLC principle ;)
Building vs. Maintaining Software
16
● Business View
As a business owner – you could either under-provision, or
over-provision capacity:
○ You’d end up losing business – because your computers
are overloaded, apps unreachable…
○ or losing money – if you over-provisioned capacity.
So, Capacity Planning discipline/expense was born...
Building vs. Maintaining Software
17
… and I had my
fair share of
contributions to
it – while at Sun
Microsystems
and in Dot-com
days.
Solving Capacity Planning & Performance
Tuning problems became a science!
18
● We need software more than ever, but
● it became too complicated to make.
Serverless wave came unexpectedly when Amazon launched
AWS Lambda at re:Invent 2014 https://youtu.be/9eHoyUVo-yg
● Serverless isn't a new thing
● It came on the shoulders of giants (containers)
● It's just the next chapter in the same old journey towards
simplicity – the evolution of Cloud Computing
The Presence – The software is essential
to solving humanity's problems
19
Serverless: Evolution of Compute
20
… trying to get
rid of some of
this complicated
stuff…
… looking for
higher-level
abstractions…
We were always striving for simplicity…
21
… with some new qualities that we really like, for
managed functions & serverless services in general.
● Dr. Tim Wagner – General Manager of AWS
Lambda, Amazon API Gateway, and AWS
Serverless App Repository captured this in
“The Serverless Manifesto”
So, we identified Serverless as the new
level of abstraction…
22
The Serverless Manifesto
1. Functions are the unit of deployment and scaling.
2. No machines, VMs, or containers visible in the programming
model.
3. Permanent storage lives elsewhere.
4. Scales per request. Users cannot over- or under-provision
capacity.
5. Never pay for idle (no cold servers/containers or their costs).
6. Implicitly fault tolerant because functions can run anywhere.
7. BYOC – Bring your own code.
8. Metrics and logging are a universal right.
Serverless Compute Qualities
23
● Developers – makes their work more enjoyable cause they
can focus on coding & solving the business problem at
hand, rather than looking after the infrastructure.
● Business Owners – less building blocks to worry about &
battles to fight, lower TCO.
● End Users – software becomes cheaper, because it is less
expensive to build, deliver & maintain.
● In general – Serverless Architectures will enable scalable
and cost-effective apps to be built quicker.
OK, But what are the Serverless benefits?
24
Serverless
Use Cases
25
Functions
are the glue
AWS Lambda = a serverless, event-driven
compute service
Events
are the
state
changes
26
Invocation Types – Event source mapping
27
Nicely
continue
microservices
evolution of
“breaking up
the monolith”
Serverless Microservices… Nanoservices
28
1. Customers
2. Amazon API Gateway
3. AWS Lambda
4. Amazon DynamoDB
AWS Reference architecture for RESTful
Microservices
29
● Web Applications
● Mobile Backends
● IoT
● Data Processing
○ Batch
○ ETL / ELT / Big Data
○ Real-time / streaming
● IT Automation – DevOps
○ DIY: Load/Security Testing, Log Monitoring, Auditing, CI/CD
● Chatbots & Amazon Alexa
Other popular Use Cases
30
Serverless Future – Long-term Forecast
31
What’s missing?
● Tooling
○ Better debugging and monitoring of serverless compute
● We need to tear down the walls between cloud-vendors
○ Monitor https://CloudEvents.io initiative by @CNCF
● Orchestration – some initial workflow engines already exist
○ AWS Step Functions, Azure Logic Apps, Oracle Fn
Flow, Fission Workflows
Serverless Future – Short-term Forecast
32
Visualization of Microservices flow at Netflix…
Serverless – Orchestration Forecast
33
… using Vizceral
open-source tool
That could become more intelligent, AI-based orchestration :)
Serverless – Orchestration Forecast
Doesn’t it remind you of the miracle of breathing?
34
Getting Started with
The Serverless Framework
• AWS Lambda, using
• Node.JS example
35
The easiest way to serverless:
● Open-source CLI, written in NodeJS
● Provider-agnostic abstraction layer
● Function language-agnostic
● Plugin system to extend and hook into life-cycle events
● Easy workflow:
○ write Functions code,
○ package and…
○ deploy via CLI…
○ to your cloud provider of choice.
What is The Serverless Framework?
36
The Serverless Framework supports:
Supported Infrastructure
Providers
37
AWS Lambda Supported Languages
● Node.js
● Python
● Java – slowest cold starts
● C#
● GO – shortest cold starts
Amazon as Serverless Infrastructure
38
Pre-requisites
● Cloud CLI tools installed & configured
C:Servelress>aws configure
AWS Access Key ID [****************TO2x]:
AWS Secret Access Key [****************dj12]:
Default region name [us-east-1]:
Default output format [None]:
● NodeJS 6.10 or later Installed
● Node Package Manager (NPM)
AWS Cloud Walkthrough
39
$ npm install -g serverless
$ serverless version
$ sls create --template aws-nodejs -p toronto
$ cd toronto
$ code serverless.yml
$ code handler.js
Commands Executed
40
serverless.yml
41
handler.js
42
$ sls deploy
$ sls deploy list
$ sls deploy list functions
$ sls info
$ sls invoke -f hello
{
"statusCode": 200,
"body": "{"message":"Go Serverless v1.0! Your function executed successfully!","input":{}}"
}
Package, deploy, invoke
43
it’s the URL ending with /dev/daniel
Open the endpoint URL in a browser
44
$ sls logs -f hello
$ sls metrics
$ sls remove
Next, read up & play with:
● https://serverless.com/learn/quick-start/
● https://serverless.com/framework/docs/providers/
More commands & resources
45
From the AWS angle
1. Get any cloud certification to learn about the cloud in general & the
services Lambdas can invoke / be invoked from: www.udemy.com/aws-
certified-developer-associate/ (google Udemy coupons first!)
2. Watch Serverless talks from the last AWS re:Invent 2017
https://serverless.com/blog/serverless-guide-aws-reinvent-2017/
3. Take “Production-Ready Serverless – Operational Best Practices”
course by Yan Cui @theburningmonk
https://www.manning.com/livevideo/production-ready-serverless
4. Connect with me – as I’m deep in the topic (just little AWS-biased)
@DanielBookmarks or https://www.linkedin.com/in/magmainc/ or
https://www.meetup.com/Serverless-Toronto/
Learning Serverless
46
Migrate Jobs – not Apps
● Look for Batch jobs,
● Disconnected sub-systems exchanging files, that need to
share state changes – e.g. update Dynamics CRMs
subscription preferences, upon Mass-mailing campaign
executions.
● File loaders – that can benefit from parallelization and
streaming
Ideas for adopting Serverless at work
47
Even when you’re not in the cloud try to apply
Twelve-Factor App Methodology to build /
refactor your apps:
● In general – https://12factor.net
● Serverless specific – by Chris Munns @chrismunns
○ slides https://www.slideshare.net/AmazonWebServices/twelve-
factor-serverless-applications
○ video https://youtu.be/19SCqWGqtto
Ideas for adopting Cloud-native at work
48
Planning Serverless Toronto
next steps…
Discussion
49
For details & to RSVP visit our Meetup page
Upcoming Events
Our Next Meetup:
June 28, 2018
Venue: MyPlanet
6pm – 8:30pm
Topic: Alexa & AWS Lex Chatbots
50
@goServerless
Meetup venue provided by:
@myplanetHQ
@3nimbus 51
Contact me when ready to apply:
daniel@TriNimbus.com
Guess What?
@3Nimbus is hiring
Cloud Solutions Architects, DevOps Engineers, Sales Executives
Go to www.TriNimbus.com and click “Careers”
52

Serverless Toronto User Group - Let's go Serverless!

  • 1.
  • 2.
    Meetup - ThursdayMay 24, 2018 Meetup Agenda 1. Intro & Announcements 2. Stand Up Introductions 3. Presentation: Let’s go Serverless! 4. Speaker: Daniel ZivKovic 5. Feedback, Discussions & Networking 2
  • 3.
    Usergroup Organizers &Sponsors ● Daniel ZivKovic, Solutions Architect, TriNimbus ● Serverless.com, Leading Serverless Application Framework ● MyPlanet, Leading software studio in Toronto ○ Drupal & Web Content Management experts ○ Makers of smarter User Interfaces ○ Offices in Toronto, Chicago & Ukraine ● TriNimbus, Recommended AWS Canada Partner ○ AWS Meetups in Vancouver, Toronto, Montreal, Ottawa, Victoria, Calgary, Edmonton, Waterloo & Quebec City ○ Offices in Vancouver, Calgary, Toronto, Montreal & Macedonia 3
  • 4.
  • 5.
    1. What doyou mean Serverless? 2. FaaS vs. Serverless vs. BaaS 3. How did we get here? Serverless past, present & future 4. Popular Use Cases 5. Serverless forecast: How big will serverless be? 6. Get going with The Serverless Framework – walkthrough 7. Products landscape – your Serverless options 8. Learning Serverless 9. Adopting it in your organization Let’s go Serverless – Presentation Agenda 5
  • 6.
    Even when peoplebelieve in the same idea (or “fight for the same thing”), we may see / interpret things differently based on our position (experiences or biases) to the prism (of life). Disclaimer – Serverless is charged term So, my position is AWS coloured – Orange ;) Where is yours? 6
  • 7.
    Servers exists, butdevelopers do not have to worry about them ● Technology is serverless “the same way WiFi is wireless” ○ Gojko Adzic – http://bit.ly/2yQgwwb ● "Serverless is just a name. We could have called it Jeff" ○ said Paul Johnston, and started www.JeffConf.com ● "A Serverless solution is one that costs you nothing to run if nobody is using it (excluding data storage)" ○ Paul Johnston – http://bit.ly/2yRlhFO What do you mean Serverless? 7
  • 8.
    … for building Serverlessapps FaaS – a new programming model… 8
  • 9.
    … unit of deploymentand scaling is Function (as opposed to Application, Container, Virtual Server). FaaS is unique, because… 9
  • 10.
    Not all FaaSis Serverless: ● Kubeless is not serverless. Serverless contains a subset of FaaS, plus … other Backend Services that cost you nothing when not used (BaaS). 10
  • 11.
    Why I’m soexcited about Serverless? • Information Technology Past • Present Opportunities • Promising Future 11
  • 12.
    ● Growing up,I liked to make models of ships, planes, trains… which translated into the love for creating software. ● Wanted to make useful programs, to help people around ● But, ended up spending more time administrating the computers behind, and making our products Highly Available, Scalability and Secure. ● Especially after Internet came! ● Software became complicated to make… and keep running. IT Past – Personal journey 12
  • 13.
    you gather the requirements, architectthe solution, your design it, you build it… with pride! Building software products felt like when you want to build a locomotive… 13
  • 14.
    … it startsfeeling as if you’re *stuck* feeding the steam locomotive with coal! (it’s just it was much colder in the data centers :) But then, when you put it to production… 14
  • 15.
    ● That was“my tainted” Developer’s View ● Now, the Operations View ○ In the beginning, IT had “You Build It, You Run It” – DevOps like culture, then ○ we invented the “Toss It Over the Fence” principle, and had Ops people deal with our (cr)app, maintain our computers, databases, networks… ○ which made developers happier/sloppier, but ○ was additional cost for the business/clients. Building vs. Maintaining Software 15
  • 16.
    “Toss It Overthe Fence” SDLC principle ;) Building vs. Maintaining Software 16
  • 17.
    ● Business View Asa business owner – you could either under-provision, or over-provision capacity: ○ You’d end up losing business – because your computers are overloaded, apps unreachable… ○ or losing money – if you over-provisioned capacity. So, Capacity Planning discipline/expense was born... Building vs. Maintaining Software 17
  • 18.
    … and Ihad my fair share of contributions to it – while at Sun Microsystems and in Dot-com days. Solving Capacity Planning & Performance Tuning problems became a science! 18
  • 19.
    ● We needsoftware more than ever, but ● it became too complicated to make. Serverless wave came unexpectedly when Amazon launched AWS Lambda at re:Invent 2014 https://youtu.be/9eHoyUVo-yg ● Serverless isn't a new thing ● It came on the shoulders of giants (containers) ● It's just the next chapter in the same old journey towards simplicity – the evolution of Cloud Computing The Presence – The software is essential to solving humanity's problems 19
  • 20.
  • 21.
    … trying toget rid of some of this complicated stuff… … looking for higher-level abstractions… We were always striving for simplicity… 21
  • 22.
    … with somenew qualities that we really like, for managed functions & serverless services in general. ● Dr. Tim Wagner – General Manager of AWS Lambda, Amazon API Gateway, and AWS Serverless App Repository captured this in “The Serverless Manifesto” So, we identified Serverless as the new level of abstraction… 22
  • 23.
    The Serverless Manifesto 1.Functions are the unit of deployment and scaling. 2. No machines, VMs, or containers visible in the programming model. 3. Permanent storage lives elsewhere. 4. Scales per request. Users cannot over- or under-provision capacity. 5. Never pay for idle (no cold servers/containers or their costs). 6. Implicitly fault tolerant because functions can run anywhere. 7. BYOC – Bring your own code. 8. Metrics and logging are a universal right. Serverless Compute Qualities 23
  • 24.
    ● Developers –makes their work more enjoyable cause they can focus on coding & solving the business problem at hand, rather than looking after the infrastructure. ● Business Owners – less building blocks to worry about & battles to fight, lower TCO. ● End Users – software becomes cheaper, because it is less expensive to build, deliver & maintain. ● In general – Serverless Architectures will enable scalable and cost-effective apps to be built quicker. OK, But what are the Serverless benefits? 24
  • 25.
  • 26.
    Functions are the glue AWSLambda = a serverless, event-driven compute service Events are the state changes 26
  • 27.
    Invocation Types –Event source mapping 27
  • 28.
    Nicely continue microservices evolution of “breaking up themonolith” Serverless Microservices… Nanoservices 28
  • 29.
    1. Customers 2. AmazonAPI Gateway 3. AWS Lambda 4. Amazon DynamoDB AWS Reference architecture for RESTful Microservices 29
  • 30.
    ● Web Applications ●Mobile Backends ● IoT ● Data Processing ○ Batch ○ ETL / ELT / Big Data ○ Real-time / streaming ● IT Automation – DevOps ○ DIY: Load/Security Testing, Log Monitoring, Auditing, CI/CD ● Chatbots & Amazon Alexa Other popular Use Cases 30
  • 31.
    Serverless Future –Long-term Forecast 31
  • 32.
    What’s missing? ● Tooling ○Better debugging and monitoring of serverless compute ● We need to tear down the walls between cloud-vendors ○ Monitor https://CloudEvents.io initiative by @CNCF ● Orchestration – some initial workflow engines already exist ○ AWS Step Functions, Azure Logic Apps, Oracle Fn Flow, Fission Workflows Serverless Future – Short-term Forecast 32
  • 33.
    Visualization of Microservicesflow at Netflix… Serverless – Orchestration Forecast 33 … using Vizceral open-source tool
  • 34.
    That could becomemore intelligent, AI-based orchestration :) Serverless – Orchestration Forecast Doesn’t it remind you of the miracle of breathing? 34
  • 35.
    Getting Started with TheServerless Framework • AWS Lambda, using • Node.JS example 35
  • 36.
    The easiest wayto serverless: ● Open-source CLI, written in NodeJS ● Provider-agnostic abstraction layer ● Function language-agnostic ● Plugin system to extend and hook into life-cycle events ● Easy workflow: ○ write Functions code, ○ package and… ○ deploy via CLI… ○ to your cloud provider of choice. What is The Serverless Framework? 36
  • 37.
    The Serverless Frameworksupports: Supported Infrastructure Providers 37
  • 38.
    AWS Lambda SupportedLanguages ● Node.js ● Python ● Java – slowest cold starts ● C# ● GO – shortest cold starts Amazon as Serverless Infrastructure 38
  • 39.
    Pre-requisites ● Cloud CLItools installed & configured C:Servelress>aws configure AWS Access Key ID [****************TO2x]: AWS Secret Access Key [****************dj12]: Default region name [us-east-1]: Default output format [None]: ● NodeJS 6.10 or later Installed ● Node Package Manager (NPM) AWS Cloud Walkthrough 39
  • 40.
    $ npm install-g serverless $ serverless version $ sls create --template aws-nodejs -p toronto $ cd toronto $ code serverless.yml $ code handler.js Commands Executed 40
  • 41.
  • 42.
  • 43.
    $ sls deploy $sls deploy list $ sls deploy list functions $ sls info $ sls invoke -f hello { "statusCode": 200, "body": "{"message":"Go Serverless v1.0! Your function executed successfully!","input":{}}" } Package, deploy, invoke 43
  • 44.
    it’s the URLending with /dev/daniel Open the endpoint URL in a browser 44
  • 45.
    $ sls logs-f hello $ sls metrics $ sls remove Next, read up & play with: ● https://serverless.com/learn/quick-start/ ● https://serverless.com/framework/docs/providers/ More commands & resources 45
  • 46.
    From the AWSangle 1. Get any cloud certification to learn about the cloud in general & the services Lambdas can invoke / be invoked from: www.udemy.com/aws- certified-developer-associate/ (google Udemy coupons first!) 2. Watch Serverless talks from the last AWS re:Invent 2017 https://serverless.com/blog/serverless-guide-aws-reinvent-2017/ 3. Take “Production-Ready Serverless – Operational Best Practices” course by Yan Cui @theburningmonk https://www.manning.com/livevideo/production-ready-serverless 4. Connect with me – as I’m deep in the topic (just little AWS-biased) @DanielBookmarks or https://www.linkedin.com/in/magmainc/ or https://www.meetup.com/Serverless-Toronto/ Learning Serverless 46
  • 47.
    Migrate Jobs –not Apps ● Look for Batch jobs, ● Disconnected sub-systems exchanging files, that need to share state changes – e.g. update Dynamics CRMs subscription preferences, upon Mass-mailing campaign executions. ● File loaders – that can benefit from parallelization and streaming Ideas for adopting Serverless at work 47
  • 48.
    Even when you’renot in the cloud try to apply Twelve-Factor App Methodology to build / refactor your apps: ● In general – https://12factor.net ● Serverless specific – by Chris Munns @chrismunns ○ slides https://www.slideshare.net/AmazonWebServices/twelve- factor-serverless-applications ○ video https://youtu.be/19SCqWGqtto Ideas for adopting Cloud-native at work 48
  • 49.
    Planning Serverless Toronto nextsteps… Discussion 49
  • 50.
    For details &to RSVP visit our Meetup page Upcoming Events Our Next Meetup: June 28, 2018 Venue: MyPlanet 6pm – 8:30pm Topic: Alexa & AWS Lex Chatbots 50
  • 51.
    @goServerless Meetup venue providedby: @myplanetHQ @3nimbus 51
  • 52.
    Contact me whenready to apply: daniel@TriNimbus.com Guess What? @3Nimbus is hiring Cloud Solutions Architects, DevOps Engineers, Sales Executives Go to www.TriNimbus.com and click “Careers” 52