Serverless Apps
The Startup Founder's Secret Weapon
Ardee Aram
KlaudSol Philippines, Inc.
λ
Who wants to start
their own IT-based
business?
Is it possible to start a business
while in college? YES!
Hypermedia Christmas Party 2004
Me at 20
What are Serverless Apps?
What is Serverless Computing?
“Serverless computing is a
cloud computing execution
model in which the cloud
provider allocates machine
resources on demand,
taking care of the servers
on behalf of their
customers.” - Wikipedia
What is Serverless Computing?
Instead, let’s do this:
● Serverless = developers need not worry about
servers!
● Let’s define Serverless Computing (or simply
Serverless) by the problems that it solves.
● Let’s define Serverless Computing against
alternatives.
Good?
Ji Pyeong the Student Founder
Strengths
● Time
● Energy
● Brains
● Desire to
win
Weaknesses
● Lack of
money
● Lack of
connections
Lean Product Development
Ideation (₱0.00)
1 Programming (₱0.00)
3
2
Validation (₱0.00) Presentation
& Feedback
(₱₱₱)
4
Lean Product Development
For people to use
your app, you
need to deploy it
on a server.
Problem: you
need ₱₱₱
Review: What is a Server?
Clients ask Servers reply
Chicken and Egg Problem
Need to upload
to server to earn
money
Need to earn
money to upload
to server
????
Success vs. Failure
Failure
● Nobody visits
● Nobody buys
● ₱0 Income
● Expense > Income
Success
● Money coming in
● ₱+ Income
● Income >> Expense
● Party!!!
Ideal Scenario
On Failure
● Nobody visits
● Nobody buys
● ₱0 Income
● ₱0 on server
● Try again!
● Addition to
Portfolio
On Success
● Became viral
● Money coming in
● ₱+ Income
● ₱+ on server
● Party!!!
Evolution of Servers
Physical
1 Hosting
2 Cloud
3 Serverless
4
Physical Servers
Physical Servers
Development Server:
2nd hand PC AMD ATHLON
(Shopee) - ₱8,500
Production Grade Server:
Dell PowerEdge T30 Entry Level
Mini Tower Server Intel Xeon
E3-1225 (Asianic) - ₱45,900
PLDT Asenso Fibr Plan - ₱2,099
Physical Servers
On Failure
● Nobody visits
● Nobody buys
● ₱0 Income
● ₱45,900 on server
● ₱- on electricity &
internet
● Reuse server for next
project
● Cannot turn off for
portfolio
On Success
● Became viral
● ₱+ Income
● ₱45,900 on server
● ₱- on electricity &
internet
● Hard, takes time to
upgrade
● Headaches (!!!)
Physical Server Headaches
● Overheating (needs aircon)
● Must ensure constant electricity
● Regular backups
● Software Updates
● Must ensure that volumes have
enough space
● Must ensure that internet is
available
● Must diagnose and replace
failing components
● Etc...
Physical Server Headaches
But I just want to code!!!!!!!
(And make money)
Evolution of Servers
Physical
1 Hosting
2 Cloud
3 Serverless
4
Hosting = Somebody Else’s
Problem
You keep the server, I’ll just
pay you “rent”.
K fine.
Hosting
Hosting
On Failure
● Nobody visits
● Nobody buys
● ₱0 Income
● ₱430/month on server
● Cannot turn off for
portfolio
On Success
● Became viral
● ₱+ Income
● ₱430/month on server
● Hard, takes time to
upgrade
● Will go down if
traffic > capacity (!!!)
Hosting - On Success
Small Machine
Big
Machine
Files
Evolution of Servers
Physical
1 Hosting
2 Cloud
3 Serverless
4
Cloud
Cloud computing allows you to increase or
decrease computing power and storage by a
click of a button. (vertical scaling)
dual-core quad-core 8-core 16-core
Cloud
Cloud computing allows also allows you to
create and destroy clones of the same server
indefinite number of times (horizontal scaling)
Cloud
On Failure
● Nobody visits
● Nobody buys
● ₱0 Income
● ₱923.52/month on
server (t3.small AP)
● You need at least 1
server to keep it running
● Cannot turn off for
portfolio
On Success
● Became viral
● ₱+ Income
● ₱(923.52 x N)/month on
server
● Very easy to upgrade!
● Very easy to
downgrade!
Evolution of Servers
Physical
1 Hosting
2 Cloud
3 Serverless
4
Serverless
● It is a cloud computing service.
● The difference lies in billing.
● Burst vs. Running Instance.
Runtime vs. Uptime
“1 + 1?”
“2”
Runtime: 100ms
“1 + 1?”
“2”
Uptime: 72h
Serverless
On Failure
● Nobody visits
● Nobody buys
● ₱0 Income
● ₱0 on server
● Try again!
● Addition to
Portfolio
On Success
● Became viral
● Money coming in
● ₱+ Income
● ₱+ on server
● Party!!!
Serverless Magic: Cheap Failures!
❌
Cost: ₱0
Portfolio: 1
❌
Cost: ₱0
Portfolio: 2
❌
Cost: ₱0
Portfolio: 3
❌
Cost: ₱0
Portfolio: 4
✅
Serverless Components
CDN / Edge
Static Files (HTML/CSS/JavaScript)
(JS: React/Vue/Angular)
Lambda / Function
Logic (NodeJS / Go)
Serverless Database
Database
Content Delivery Network (CDN)
Content Delivery Network (CDN)
● AWS CloudFront
● Netlify Edge
● Microsoft Azure CDN
● Google Cloud CDN
● Vercel Edge Network
Lambda / Function
● AWS Lambda
● Netlify Functions
● Microsoft Azure Functions
● Google Cloud Functions
● Vercel Serverless Functions
Serverless Database
● Upstash (Redis, Mongo)
● Amazon DynamoDB
● Amazon Aurora (MySQL)
Serverless App Demo!
https://www.facebook.com/groups
/serverless.ph
Let’s Connect!
Part-time dev job?
Project-based?
Full-time?
Let’s talk!
Flexible hours, Remote work.
ardee@klaudsol.com
Serverless apps:  The startup founder's secret weapon

Serverless apps: The startup founder's secret weapon

  • 1.
    Serverless Apps The StartupFounder's Secret Weapon Ardee Aram KlaudSol Philippines, Inc. λ
  • 2.
    Who wants tostart their own IT-based business?
  • 3.
    Is it possibleto start a business while in college? YES!
  • 4.
  • 5.
  • 6.
    What is ServerlessComputing? “Serverless computing is a cloud computing execution model in which the cloud provider allocates machine resources on demand, taking care of the servers on behalf of their customers.” - Wikipedia
  • 7.
    What is ServerlessComputing? Instead, let’s do this: ● Serverless = developers need not worry about servers! ● Let’s define Serverless Computing (or simply Serverless) by the problems that it solves. ● Let’s define Serverless Computing against alternatives. Good?
  • 8.
    Ji Pyeong theStudent Founder Strengths ● Time ● Energy ● Brains ● Desire to win Weaknesses ● Lack of money ● Lack of connections
  • 9.
    Lean Product Development Ideation(₱0.00) 1 Programming (₱0.00) 3 2 Validation (₱0.00) Presentation & Feedback (₱₱₱) 4
  • 10.
    Lean Product Development Forpeople to use your app, you need to deploy it on a server. Problem: you need ₱₱₱
  • 11.
    Review: What isa Server? Clients ask Servers reply
  • 12.
    Chicken and EggProblem Need to upload to server to earn money Need to earn money to upload to server ????
  • 13.
    Success vs. Failure Failure ●Nobody visits ● Nobody buys ● ₱0 Income ● Expense > Income Success ● Money coming in ● ₱+ Income ● Income >> Expense ● Party!!!
  • 14.
    Ideal Scenario On Failure ●Nobody visits ● Nobody buys ● ₱0 Income ● ₱0 on server ● Try again! ● Addition to Portfolio On Success ● Became viral ● Money coming in ● ₱+ Income ● ₱+ on server ● Party!!!
  • 15.
    Evolution of Servers Physical 1Hosting 2 Cloud 3 Serverless 4
  • 16.
  • 17.
    Physical Servers Development Server: 2ndhand PC AMD ATHLON (Shopee) - ₱8,500 Production Grade Server: Dell PowerEdge T30 Entry Level Mini Tower Server Intel Xeon E3-1225 (Asianic) - ₱45,900 PLDT Asenso Fibr Plan - ₱2,099
  • 18.
    Physical Servers On Failure ●Nobody visits ● Nobody buys ● ₱0 Income ● ₱45,900 on server ● ₱- on electricity & internet ● Reuse server for next project ● Cannot turn off for portfolio On Success ● Became viral ● ₱+ Income ● ₱45,900 on server ● ₱- on electricity & internet ● Hard, takes time to upgrade ● Headaches (!!!)
  • 19.
    Physical Server Headaches ●Overheating (needs aircon) ● Must ensure constant electricity ● Regular backups ● Software Updates ● Must ensure that volumes have enough space ● Must ensure that internet is available ● Must diagnose and replace failing components ● Etc...
  • 20.
    Physical Server Headaches ButI just want to code!!!!!!! (And make money)
  • 21.
    Evolution of Servers Physical 1Hosting 2 Cloud 3 Serverless 4
  • 22.
    Hosting = SomebodyElse’s Problem You keep the server, I’ll just pay you “rent”. K fine.
  • 23.
  • 24.
    Hosting On Failure ● Nobodyvisits ● Nobody buys ● ₱0 Income ● ₱430/month on server ● Cannot turn off for portfolio On Success ● Became viral ● ₱+ Income ● ₱430/month on server ● Hard, takes time to upgrade ● Will go down if traffic > capacity (!!!)
  • 25.
    Hosting - OnSuccess Small Machine Big Machine Files
  • 26.
    Evolution of Servers Physical 1Hosting 2 Cloud 3 Serverless 4
  • 27.
    Cloud Cloud computing allowsyou to increase or decrease computing power and storage by a click of a button. (vertical scaling) dual-core quad-core 8-core 16-core
  • 28.
    Cloud Cloud computing allowsalso allows you to create and destroy clones of the same server indefinite number of times (horizontal scaling)
  • 29.
    Cloud On Failure ● Nobodyvisits ● Nobody buys ● ₱0 Income ● ₱923.52/month on server (t3.small AP) ● You need at least 1 server to keep it running ● Cannot turn off for portfolio On Success ● Became viral ● ₱+ Income ● ₱(923.52 x N)/month on server ● Very easy to upgrade! ● Very easy to downgrade!
  • 30.
    Evolution of Servers Physical 1Hosting 2 Cloud 3 Serverless 4
  • 31.
    Serverless ● It isa cloud computing service. ● The difference lies in billing. ● Burst vs. Running Instance.
  • 32.
    Runtime vs. Uptime “1+ 1?” “2” Runtime: 100ms “1 + 1?” “2” Uptime: 72h
  • 33.
    Serverless On Failure ● Nobodyvisits ● Nobody buys ● ₱0 Income ● ₱0 on server ● Try again! ● Addition to Portfolio On Success ● Became viral ● Money coming in ● ₱+ Income ● ₱+ on server ● Party!!!
  • 34.
    Serverless Magic: CheapFailures! ❌ Cost: ₱0 Portfolio: 1 ❌ Cost: ₱0 Portfolio: 2 ❌ Cost: ₱0 Portfolio: 3 ❌ Cost: ₱0 Portfolio: 4 ✅
  • 35.
    Serverless Components CDN /Edge Static Files (HTML/CSS/JavaScript) (JS: React/Vue/Angular) Lambda / Function Logic (NodeJS / Go) Serverless Database Database
  • 36.
  • 37.
    Content Delivery Network(CDN) ● AWS CloudFront ● Netlify Edge ● Microsoft Azure CDN ● Google Cloud CDN ● Vercel Edge Network
  • 38.
    Lambda / Function ●AWS Lambda ● Netlify Functions ● Microsoft Azure Functions ● Google Cloud Functions ● Vercel Serverless Functions
  • 39.
    Serverless Database ● Upstash(Redis, Mongo) ● Amazon DynamoDB ● Amazon Aurora (MySQL)
  • 40.
  • 41.
  • 42.
    Part-time dev job? Project-based? Full-time? Let’stalk! Flexible hours, Remote work. ardee@klaudsol.com

Editor's Notes

  • #2 Why? Who wants to start their own IT-based business Show of hands via chat This presentation is especially for you For non-entrepreneurs, learning Serverless Computing is still valuable in your IT career How old are you? 20 - 21? Is it possible to start a business while in college? YES! What does Serverless Computing have to do with starting a tech business? Everything. Problem: Jessie the Student Founder Has Laptop, Internet Connection Lives with Mom 20 pesos in pocket BRAINS + TIME Ideas Founder with limited resources Guerilla Tactics App Development Route Jessie thinks of an idea Jessie programs the web app / mobile app Jessie needs to show the world What? How? Basic components of a Serverless App Frontend - CDN Logic - Lambda Functions Persistence - Redis / Upstash
  • #3 Photo by Bermix Studio on Unsplash
  • #7 Sumakit ang ulo ko actually
  • #10 Lean Product Development = Experiment How can you make the experiments as cheap as possible? We have to make failure as cheap as possible Failure = Learning Success = Double-down 3 MVP - Minimum viable product Make the product with minimum features with minimum time spent to test a hypothesis 4. Presentation People Lie Will anyone buy your app?
  • #12 Before we define what Serverless is, we must first define what a server is. In a Client-Server architecture, we have a client who asks for something, and the server provides it Web servers - website - HTML, CSS, JavaScript Database servers - contain data File servers - return files The server’s primary role is to WAIT for incoming request from clients, and to respond appropriately.
  • #15 On Failure Failure = Learning Fail as cheap as possible Try again = starting over, or just modifying the app a little bit (Lean Terminology = Pivot) On Success Okay lang magbayad lalo na kung may pera Who is playing DOTA here? Super bano ko sa dota. One lesson I learned - do not die. Run, hide if you can, but do not die.
  • #16 Serverless is, ironically, a type of server Again, a server is where you put your application for the world to see. Evolution of server from the point of view of app developers. Each “generation” of server tries to solve a problem that is plaguing the previous generation. Will also evaluate the cost needed for our Student Founder We will also explore the cost on what will happen if the app flops, and what will happen if the app goes viral
  • #17 Tell story about Towa Intercon presentation Natanggal yung CPU habang nag-on Nagbus yung co-founder ko dala dala ang computer Laptops are super expensive back then!
  • #18 Tell story about Friendster Philippines Napatid yung isang employee sa isang power cable, nag-down ang site! Tell story about UP Diliman computerized registration system
  • #19 One of the main problems of a physical server is the difficulty in adding or subtracting resources as the need arises.
  • #20 Tell story of horror stories of maintaining computers in an internet cafe
  • #21 Ayoko ng servers, I just want to make an app
  • #23 There are companies that realized that server maintenance is too troublesome. So they setup their server farms, and just charge for hosting fee.
  • #24 Shared Hosting - you are renting the machine with other tenants. Dedicated Hosting - the whole machine is exclusively yours.
  • #25 The biggest issue with hosting is that when your site becomes popular, it is very hard to “upgrade” your plan.
  • #26 You may have to transfer manually all of your files to another server if you reached the machines capacity
  • #28 Tell story of Jeff Bezos and Amazon Retail Cloud computing allows you to increase or decrease computing power and storage by a click of a button. For software developers like us, cloud computing is heaven! How does AWS do this? I have no freaking idea. Vertical scaling is the easiest, but not the most cost-effective way to scale. The more powerful the
  • #29 Cloud computing allows you to increase or decrease computing power and storage by a click of a button. For software developers like us, cloud computing is heaven!
  • #30 Billed per hour, but you need at least 1 server to keep it running The reversed is true for the cloud: It can handle the success well, but it’s rather costly to maintain a failure for portfolio
  • #35 Do you know angry birds? Rovio created Angry Birds Do you know how many failed apps did they make before becoming successful? 51 This is why I think Serverless Computing and Serverless apps are perfect for Guerilla strategy
  • #37 Static files - by definition they do not change. I get rerouted to the closest CDN note to me. CDN charges you for two things: * bandwidth - how often your site gets visited * storage - how big your files are
  • #38 Static files - by definition they do not change. I get rerouted to the closest CDN note to me. CDN charges you for two things: * bandwidth - how often your site gets visited * storage - how big your files are
  • #40 Charged per connection and per storage
  • #41 Charged per connection and per storage
  • #44 Bonus, paki-type sa chat kung saang game galing ito?