Serverless
Computing
AWS Way
By: Manpreet Singh, CTO
WHO WE ARE
We are a team of over 150 technologists
helping companies increase revenues
and decrease expenses through
technology and product development.
We are Experienced
◎SourceFuse has been delivering innovative
custom applications since 2005.
◎We apply that expertise to your project, giving you
the benefit of our experience every step of the way.
◎Products we built have won startup challenges,
been featured in major channels, received funding
and awards!
40+Mobile
Products Built
1,000+Web Apps
Deployed
Serverless Computing
Build and run applications without thinking about
servers
No Server Management
Flexible Scaling
High Availability
No idle capacity
It's Evolution
Data Centre
Virtualization
Cloud
Computing
Containers
Serverless
AWS Serverless Platform
Compute - Lambda
API Proxy - API Gateway
Object Storage - S3
Database - DynamoDB
IPC - SNS, SQS
State Machine - Step Functions
Analytics - Kinesis
AWS Serverless Platform
The Magic Happens at the Intersection
of Functions, Events and Data.
(Pretty much everything else is glue or UI)
-Werner Vogels
AWS Lambda
AWS Compute Offerings
Service EC2 ECS Lambda
Unit of Scale Virtual Machine Application Function
Abstraction at Hardware
Operating
System
Runtime
AWS Lambda
Run code without thinking about servers.
Pay for only the compute time you
consume - subsecond metering
Built-in scaling, monitoring and fault-
tolerance
Choice of runtime - node.js, java, c#,
python
In node.js
event???
Lambda - Hello World
Lambda - Event Sources
Over a dozen event sources
Lambda - Event Sources
… and others like DynamoDB, SNS, SES, API
gateway, CodeCommit, Cloudwatch events,
Cloudformation, etc
Lambda - Configuration
◎Runtime (node.js, java, c# and python)
◎Environment variables
◎Memory allocated (128MB to 1536 MB)
◎Timeout (upto 5 minutes)
◎Handler function name
◎Role assigned
Lambda - Deployment
◎Setup using Cloudformation - SAM
◎CI (can be AWS codebuild, jenkins, etc)
i. Package code with dependencies as a zip file
ii. Put on S3
iii. And create a new version of function
Lambda - Versioning
◎Version no. for each deployment
◎Alias for dev, stage, prod, etc (soft link)
Lambda - ImPoints
◎Concurrent executions
◎Synchronous vs asynchronous calls
◎Cloudwatch monitoring
◎Retries on error
◎Container reuse
◎Can be made part of VPC
AWS API Gateway
API Gateway - Why?
Exposing REST API had been challenging:
◎Will have to manage and scale web servers
◎Authorization is tricky over longer run
◎Tough to manage multiple versions of APIs
◎Tedious to monitor access by third party
API Gateway - How?
Solves all these problems by -
◎Having multiple versions and stages of API
◎Inbuilt support for security, monitoring and throttling
◎Integration with swagger for maintainable and
documented APIs
◎Request/Response transformation
◎Easily connects to backend like Lambda/EC2
◎API Mocking
API Gateway - Flow
API Gateway - Versions
AWS Serverless
Reference
Architectures
AWS Web Reference Architecture
AWS Mobile Reference Architecture
SourceFuse Using
AWS Serverless
UC1 - adpoint.video
◎Engine to generate video ads
◎Video template is configurable
◎Video made using multiple Lambda functions
using ffmpeg for video manipulation
◎Speech to text to sync text with audio
UC1 - adpoint.video
Configuration
Sample Output - Dollar Tree
UC2 - RelayTransport
Lambda function which generates route image
using google maps and latitude-longitude array
UC3 - RelayTransport
Accepting transport requests over email
Incoming
email
Send SNS Triggers Lambda
AWS SES AWS SNS Parses Email
Creates job for
app to process
AWS SQS
LET’S CONNECT
Would you like to innovate faster,
increase profits, launch a new
product, or disrupt your market
using AWS?
connect@sourcefuse.com

Serverless Computing, AWS Way: SourceFuse Technologies