Luciano Mammino PRO
Cloud developer, entrepreneur, fighter, butterfly maker! #nodejs #javascript - Author of https://www.nodejsdesignpatterns.com , Founder of https://fullstackbulletin.com
Munich, 9 Dec 2017
Luciano Mammino (@loige)
1989-1991 — Sir Tim Berners-Lee invented the World Wide Web
1991-1995 — The bare metal age
1995 — The invention of web hosting
1999 — Salesforce introduces the concept of Software as a Service (SaaS)
Marc Benioff
2001 — VMWare releases ESXi, "server virtualization" becomes a thing
2002-2006 — AWS is born (IaaS), people talk about "Cloud computing"
2009 — Heroku and the invention of the "Platform as a Service" (PaaS)
James Lindenbaum
Adam Wiggins
Orion Henry
2011 — Envolve/Firebase, real time database as a service (RTDaaS???)
James Tamplin and Andrew Lee
2012 — Parse.com and the first Backend as a Service (BaaS)
Tikhon Bernstam
Ilya Sukhar
James Yu
Kevin Lacker
2013 — Docker, "containers are better than virtual machines"
Solomon Hykes
2013-2015 — Kubernetes / Swarm / Nomad / CoreOs (containers at scale)
2014 — Launch of AWS Lambda (FaaS)
*What's The Fun
"Serverless most often refers to serverless applications. Serverless applications are ones that don't require you to provision or manage any servers. You can focus on your core product and business logic instead of responsibilities like operating system (OS) access control, OS patching, provisioning, right-sizing, scaling, and availability. By building your application on a serverless platform, the platform manages these responsibilities for you."
— Amazon Web Services
loige.link/serverless-apps-lambda
The essence of the serverless trend is the absence of the server concept during software development.
— Auth0
No server management
You don't know how many and how they are configured
Flexible scaling
If you need more resources, they will be allocated for you
High availability
Redundancy and fault tolerance are built in
Never pay for idle
Unused resources cost $0
📱 Mobile Backends
🔌 APIs & Microservices
📦 Data Processing pipelines
⚡️ Webhooks
🤖 Bots and integrations
⚙️ IoT Backends
💻 Single page web applications
Event → 𝑓
IF ________________________________ THEN ________________________________
A new CSV file is saved in the object storage
Process it and save it in the DB
HTTP request: GET /products
Retrieve products from DB and return a JSON
It's 2 AM
Scrape weather forecast for next days
Frontend
🌏 Serverless Web hosting is static, but you can build SPAs
(React, Angular, Vue, etc.)
Backend
👌 Node.js is supported by every provider
⚡️ Fast startup (as opposed to Java)
📦 Use all the modules on NPM
🤓 Support other languages/dialects
(TypeScript, ClojureScript, ESNext...)
exports.myLambda = function (
event,
context,
callback
) {
// get input from event and context
// use callback to return output or errors
}
In order to consume DuoS data for invoicing As an engineer I Want to have a process that keeps data from the source FTP in sync And exposes it as a REST API
DuoS Data
3rd-party
FTP Storage
DuoS API
(API Gateway)
DuoS service
Invoice service
Sync
Lambda
Parse/Load
Lambda
API
Lambda
DuoS S3
Bucket
DuoS
DynamoDB Table
scheduled event
new object
API
Request
What kind of virtual machine do I need?
What operative system?
How to keep OS/System updated?
How much disk space do I need?
How do I handle/retry failures?
How do I collect and rotate logs?
What about metrics?
What machine do I need to run the database?
How do I backup the database?
How do I scale the database?
Which web server should I use and how to configure it?
Throttling? Managing API Keys? API caching?
(don't pay for idle!)
IBM
Cloud Functions
AWS
Lambda
Azure
Functions
Cloud Functions
Auth0
Webtask
Iron.io
FaaS
Spotinst
Functions
Apache OpenWhisk
Fission
stdlib
service
Functions
Fn
Kubeless
effe
LeverOS
Now or later to @loige :)
If your company wants to get started with serverless on AWS, be sure to check out serverlesslab.com
Cover photo by Tobias Zils on Unsplash
High Res Emojis by emojiisland.com
By Luciano Mammino
Software development is on the verge of a new revolution that will change the rules of the Cloud Computing game... again! The new wind of change is called "Serverless" and you should definitely get ready for it! In this talk I will illustrate why I believe Serverless will be a game changer in the industry, how did we get to have Serverless and how to get started with it to build real products.
Cloud developer, entrepreneur, fighter, butterfly maker! #nodejs #javascript - Author of https://www.nodejsdesignpatterns.com , Founder of https://fullstackbulletin.com