This presentation was done at the ServerlessDays Bengaluru 2023.
Size: 1008.33 KB
Language: en
Added: Aug 02, 2024
Slides: 22 pages
Slide Content
Unleashing Potential: How
Early-Stage Startups Can Thrive
with the Serverless Ecosystem
Dhaval Nagar
AWS HERO, AWS SME
Introduction
●12x AWS Certified
●AWS Certification SME - Associate
●AWS Hero - 2020
●AWS User Group Lead - Surat
●Founder @ APPGAMBiT, AWS Consulting Partner
First Physical
Server Setup
2005
Started Using
Linode
2010
Started Using
AWS, DigitalOcean
2014
First Lambda Setup
2015
Early-Stage Startup Challenges
Small Team
●EC2 or Beanstalk often seems like a simple solution
●Manually managing servers can require dedicated
personnel, adding to costs.
●Expensive to scale, both in terms of infrastructure
and manpower.
High Cost Of Operational Resources
●While smaller teams are nimble, they have a
greater workload and fewer hands to distribute
tasks.
●Automation and smart tooling are essential for
smaller teams to scale without proportional
increase in team size.
Rapid Development
●Build From Scratch vs Utilising Pre-built Services
●Faster Time to Market
●Decision Paradox
Rapid Deployment
●Fast deployment isn’t just about the code; the
dependencies has to work as well
●Steep learning curve for mastering multiple
technologies like Database, Auth, APIs, etc
●Identifying efficient methods for the
deployment process is essential for staying
competitive.
●Cloud computing eliminated the need for physical infrastructure but led to a
new challenge:
○Managing an ever-growing number of virtual resources
●With hundreds of services in AWS alone -
○Operational complexity has increased substantially
●Not every application, especially in its early days, requires high level of
complexity.
○Snapchat was using Google App Engine
○Dropbox was using Amazon S3 for Storage
○iRobot’s Roomba Internet Connected Robot Vaccum was heavily using Lambda
and AWS IoT
Contextualizing Serverless Computing
●Cost Efficiency
○Only pay for what you use, no upfront costs.
●In-built Scalability
○Automated scaling without the hassle of managing underlying resources.
○Ideal for startups experiencing unpredictable growth.
●Speed of Development
○Quick deployment of code without worrying about resource provisioning.
●Streamlined Deployment
○Simplified process, reducing the need to manage complex resources like databases, authentication
services, message queues, etc.
●Focus on Core Business
○Allows smaller teams to focus on developing features and solving business problems instead of
managing infrastructure.
●Innovation
○Facilitates quick experimentation and pivoting, which is vital for startups looking to find their market fit.
Why Serverless!!
Not One-Size-Fits-All, But Still Invaluable
I want to acknowledge and highlight the point that Serverless may not be
suitable for certain use-cases, but it can still co-exist with other architectures,
offering a best-of-both-worlds approach.
For example, a startup specializing in Machine Learning use case can still
leverage serverless for non-ML tasks like User Auth, Database, Storage,
Communication, etc.
Use Cases
Use Cases
Online Training
Platform
Food Order
Processing
Developer
Security Tool
https://medium.com/a-cloud-guru/serverless-the-future-of-software-architecture-d4473ffed864 / Oct 2015
Traditional Application Architecture
https://medium.com/a-cloud-guru/serverless-the-future-of-software-architecture-d4473ffed864 / Oct 2015
Modern Application Architecture
https://medium.com/a-cloud-guru/serverless-the-future-of-software-architecture-d4473ffed864 / Oct 2015
A Cloud Guru - Application Architecture (2015)
FoodHub - Order Processing At Scale
●4th Largest Food
Ordering Company in
UK
●UI applications for Users
and Restaurant Owners
●Heavy Order Processing
in patterns of Day and
Time
●63 Million Orders
Processed in 2021
Front-end
Back-end
CloudFront S3
Amplify AppSync Lambda DynamoDB
Snyk - Vulnerability Scanning at Scale
●Developer Security
platform
●In Top 20 of Forbes Cloud
100 Companies 2023
●Native Integration with
AWS CodePipeline
CodePipeline
S3
API Gateway DynamoDB
Step Functions
EventBridge
Lambda
●Rapid Adoption
○AWS pioneered the Serverless Eco-system, but all major Cloud providers are now
having similar offerings.
●Serverless Containers
○Services like AWS Fargate, App Runner and Google Cloud Run, are quickly gaining
traction.
●Regional vs Edge
○While most compute is generally region-centric, companies like Cloudflare has
re-defined the way Serverless compute works with global edge distribution
●Open Source Eco-system
○Increasing number of open-source serverless frameworks like Serverless
Framework, Kubeless, and OpenFaaS which allow you to deploy serverless in a
cloud-agnostic way.
●Increasing Use Cases
○Serverless is increasingly being integrated with IoT, Big Data, and even
Blockchain, broadening its applicability.
Navigating Serverless Landscape
●The growth of Edge Computing is pushing serverless architectures closer to
the data source for reduced latency.
●Enhanced services and tools like AWS SAM, Serverless Framework, Ampt, and
SST.dev are making it easier than ever to rapidly develop serverless
applications.
●Serverless offerings are being tailored for specific industries
○AWS's MediaTailor for broadcasting
○Google's Healthcare API for medical data
Navigating Serverless Landscape
New Development Trends
●Frontend Cloud
○AWS S3, CloudFront
○Cloudflare Pages
○Netlify, Vercel
●API Driven Services
○API Gateway, AppSync
○Step Functions
○SQS, SNS, EventBridge
●Connectionless (API-Driven) Databases
○DynamoDB, Timestream
○Aurora Serverless
○RDS Proxy
●Serverless Compute at Edge, in Datacenter, and at Rest
○DynamoDB Streams
○MongoDB Atlas
○S3 Triggers
Best Practices & Pitfalls
●Choosing the Right Services
○Deciding between one cloud, multi-cloud vs usecase-specific services
○Functions vs Container
●Cost Monitoring
○It’s cost efficient but not cheap
○One bad message in a mis-configured SQS can run havoc
●Security Concerns
○Serverless or not, this should still be a valid concern for most startups
●State Management
○Everything is distributed and decentralised
○Some of the traditional development practices may not be suitable
●Testing and Debugging
○It’s still hard to emulate cloud resources for local development
●Monitoring and Observability
○Lot of tools, but still evolving space
●Event Driven Architecture
○Almost all use cases can employ the event-driven design and most large-scale
systems already does
●Serverless Containers
○Containers is the best form of software packaging
●AI and Serverless
○Data Pipelines - automate data preparation tasks for machine learning models
○Event-driven AI - to trigger AI tasks based on events like new data entries, user
actions, or sensor inputs
○Serverless Microservices - Spin up cost-effective experimentations
●Serverless at Edge
○Latency-sensitive services
○Online Gaming
○IoT
Future of Serverless
Summary
●Startup Challenges
○Startups are constrained by external limitations including cash, time and human
resources
●Cloud Challenge
○Cloud changed the way physical infrastructure was consumed, Serverless is
changing the way how the infrastructure can be abstracted into purpose-built
services
●Serverless Landscape
○Serverless is a broad practice now - not limited to one provider or one technology
○Serverless can become an effective mechanism to align business interests with
applications
●Reduced time-to-market, lower operational cost, and scalable architecture
makes it highly versatile