The presentation was made at the first Serverless Pune meetup on 4th Feb 2017 https://www.meetup.com/Serverless-Pune
In the first Meetup, we covered most of the basics & a simple demos. Upcoming meetups will dive deeper into technical implementation and various real world use cases
2. VISHAL BIYANI
CTO & Founder at
infraCloud technologies (www.infracloud.io )
2004
Java, PLM, JSP,
Servlets, Java
Swing,
2004-2009
eMatrix, PLM, J2EE,
Database, architecture,
Shell, Windchill, jUnit,
Oracle,
2010 - 2013: Spring,
Maven, Jenkins,
ElasticSearch, CloudFoundry,
Google App Engine, APIs, CI
2013: Puppet, Chef, Ansible,
CD/CI, DevOps Coach, Docker,
API Mgmt, Microservices, Infra
as code, Artifactory, Nexuus,
Integration as a Service
Now:
Containers,
Kubernetes, Mesos,
Salt, Scale,
Distributed, Serverless
https://twitter.com/vishal_biyani
https://www.vishalbiyani.com
3. ANNOUNCEMENT TIME
This is first Serverless Pune meetup & we will host a
meetup every month and cover more advanced topics
We also conduct a Kubernetes meetup every month - Join on
https://www.meetup.com/Kubernetes-Pune
Feb 26 - Kubernetes Meetup we have Ian Lewis -
Developer advocate Google Japan conducting a session
4. PLEASE RAISE HANDS
• If you have worked with either of AWS
Lambda/Azure Functions/Google Cloud
Functions?
• Heard of OpenWhisk/Fission/Funktion?
• Work on Go language?
8. What is Serverless?
Backend as a Service
Use third party systems
as much as possible and
build systems. Algolia,
oAuth are prime
examples
Reference & highly reccomended read:
https://martinfowler.com/articles/serverl
ess.html
9. What is Serverless?
Backend as a Service
Completely managed
backend - and you
write rich logic in
front end
Reference & highly reccomended read:
https://martinfowler.com/articles/serverl
ess.html
10. What is Serverless?
Function as a Service
(FaaS)
You only write
backend functions
Deploying, scaling and
managing functions is
done by platform
Client is stil rich - may
be not as rich as in
case of BaaS
You only write a function; a function can be in any language as long as it can be called from
Linux CLI
You provide function to the FaaS provider and everything else - deploying, scaling on demand
and running function is taken care by the provider
Front end is relatively aware of various functions but the implementation is hidden from front
end.
11. AWS Lambda Google Cloud Functions Azure Functions
Commercial frameworks
OpenSource or
OpenSource+Managed
frameworks
Enabling Frameworks/
Toolkits
Apache OpenWhisk Fission - Platform9 Fabric8- Funktion IronIO - Function
Enables Easy deploy to
AWS & openwhisk
Apex - deploy to AWS
Lambda
Python Apps on
AWS Lambda
12. SERVERLESS - 100K VIEW
Event/Trigger Functions ServicesClient/Apps
API Gateway
Object Storage
Monitoring
System
Voice
Nodejs Function Microservice
Java Function
Python Function
Database
Analytics
Object Storage
External API
Another function
13. SERVERLESS: KEY ARCHITECTURAL CONSIDERATIONS
State
• There is no state you
maintain beyond
execution of a function
Execution
• They are intended to be
short lived (AWS puts a 5
minute timeout on a
function)
Startup - fast?
• There might be some
latency in startup - as the
execution instance is
created on the fly
API Management
• Managing the API gateway
is an important aspect -
weather it is a HTTP or
voice or FTP gateway
How to CI/CD,
development?
• At the moment tooling is
still evolving and is an
important aspect
14. Typical servers in business and
enterprise data centers deliver between
5 and 15 percent of their maximum
computing output on average over the
course of the year.
http://www.forbes.com/sites/benkepes/2015/06/03/30-of-servers-are-sitting-comatose-according-to-
research/#6861ea9f2c2e
15. SERVERLESS: BENEFITS & CHALLENGES
Benefits
Saves $$ - you pay per execution
Easy to bootstrap new ideas
You literally pay as you scale
Lesser operation overhead
Challenges
Same login in multiple functions
Where to store configs?
Not easy to test
How to manage 100s of functions, deploy &
version?
Discovery, monitoring and debugging is not yet
easy
18. HOW TO DEPLOY SERVERLESS ON PREMISE/HYBRID?
• Apache OpenWhisk, Iron Functions, Fission, Fabric.io Funktion can be deployed on
premise/any machine cluster
• The projects are incubating and maturing fast. Many of them are targetting
Kubernetes as their target (Ease of creating routes & spining up containers etc.)
• You might need additional framework/infra such as messaging queue etc. based on
where you deploy!
19. DEMO -3
• Deploy Fission on Google
Container Engine (Kubernetes)
• Deploy a simple “Hello World”
app
20. WHAT NEXT > NEXT MEETUPS
• Deeper dive and hands on demos on some frameworks
• Hands on sessions on AWS Lambda, Google Functions
& Azure functions
• Hackathons - where we will hack together some use
cases and develop some frameworks together