serverless presentation from devoxx 2017 casablanca (aws lambda / faas / fn project)
Post on 24-Jan-2018
67 Views
Preview:
TRANSCRIPT
• Founded munz & more in 2007
• > 15 years Middleware, Cloud, and Distributed Computing
• Consulting and High-End Training
• Wrote two WebLogic and a Cloud book
Dr. Frank Munz
@frankmunz
Content1. Clouds2. FaaS (AWS Lambda)3. Serverless4. Frameworks (Fn Project)5. Conclusion
#serverless @frankmunz
Pay Per Use
• 1 US cent/h (micro), geo-distribution included
• You own a massively parallel, distributed and highly
available supercomputer with linear costs:
1 instance for 100 hours $= 100 instances for 1h
@frankmunz
PaaS
IaaS Amazon EC2Oracle CI
AWS BeanstalkOracle ACCS
FaaS AWS LambdaOracle TBD
Automated elasticity.True pay per use.
Container Service AWS ECSOCCS
API?
Elasticity?
Pay per use?
AWS Lambda
AWS SAM Local: test and locally run Lambda (Public Beta)
event: event passed to function
context: runtime context
callback: optional return
(or null)
@frankmunz
Example: Image Recognition
Flow
munz & more #19
Extract meta data
AI basedrecognition
Createthumbnail
How to model
flow?
Pricing
Every started request is charged:
• First 1 million req/month are free, forever
+ 400,000 GB seconds of compute time
• Measured in increments of 100 msec
• $0.20 per 1 million req
+ $0.00001667 per GB second
Tip: Use AWS
Cloud Watch
alarms for billing!@frankmunz
Cost Savings
Expedia(2016):
– 2.3 billions calls
– 200k hours / month
– $ 550 a month
Postlight
– API GW, Lambda, Serverless
– Costs dropped 2 orders of magnitude down to $ 370https://www.youtube.com/watch?v=gT9x9LnU_rE
https://trackchanges.postlight.com/serving-39-million-requests-for-370-month-or-how-we-reduced-our-hosting-costs-by-two-orders-of-edc30a9a88cd
http://serverlesscalc.com/
@frankmunz
Function as a Service
• Automated elasticity
• True pay per invocation
• Ephemeral compute
Definition
Characteristics• Event based
• Reduced control plane (mem+ CPU + I/O)
• Uses container tech
AMIGO: Public Cloud ServicesAmazon Microsoft IBM Google Oracle
Name Lambda Azure Functions Open Whisk Cloud Functions tbd
Year 2014 2016 2016 2016 2016
Status prod prod prod beta announced
LanguageSupport
NodeJS 4.3.2, Java8,Python 2.7, .Net C#, native Linux
JS, PHP, C#, F#, Python, bash, PowerShell
NodeJS, Java,Phython,(Docker)
NodeJS(not Java)
Docker based ?
Remarks Bundle functions, OneDrive and Bot integration
Apache Incubator
Deploy from github or BitBucket, CLI
Based onopen source Fn Project?
Link https://aws.amazon.com/lambda/
https://azure.microsoft.com/en-us/services/functions/
https://openwhisk.apache.org/
https://azure.microsoft.com/en-us/services/functions/
https://cloud.oracle.com/home
Youtube: Gone in 60ms
https://www.youtube.com/watch?v=YZ058hmLuv0@frankmunz
Microservices
Developing a single application as
• a suite of small services
• each running in its own process / owns it‘s data
• communicating with lightweight mechanisms
(M. Fowler / J. Lewis)
https://martinfowler.com/articles/microservices.html@frankmunz
FaaS = Microservice?
• FaaS fulfills M. Fowler’s microservices definition
• A real micro service consists of multiple functions
• FaaS vs. Docker / Kubernetes?
✅
Benefits of FaaS- Serverless - Zero config auto scaling - True pay per use
-> higher abstraction
Limits of FaaS- Language choice- Resource limits- Vendor lock-in-> reduced flexibility
@frankmunz
Serverless
Mark Cavage, Java One 2017: “Reduce notion of all infrastructure”
Serverless
Example: AWS
SQS
1 Mio Req $0.40@frankmunz
Wasn’t that PaaS ?
Yes it‘s PaaS, but serverless requires…
• Never pay for idle
• Automated elasticity
• Reduced config settings
FaaS OS Frameworks
Overlap in functionality
-> expect consolidation
Survival is about:
• Integration: K8s, Traefik, Zipkin,
Prometheus, Kafka etc.
• Adoption, adoption, adoption
• FaaS as PaaS implementation?https://github.com/faas-lane/FaaS-Lane/tree/master/candidates@frankmunz
Fn Project
• Apache 2, Open Source Java One 2017
• Fn Server (micro API GW), LB, Flow
• Function / Container duality
• Docker is only dependency -> polyglot
@frankmunz
Fn Project
• Jackson for JSON marshalling in Java
• JAX-RS demo
• Hot functions (30 seconds)
• Fn PaaS service likely?
@frankmunz
Outlook
• Oracle’s Cloud Native Container strategy
– Kubernetes
– Wercker
– Pay per invocation (?)
• Fn Project as PaaS and on premises
• Azure Container Instance: pay per invoke (today!)
@frankmunz
TL;DR #serverless & #FaaS
in all major clouds / could compose
μ out of 𝛌 / PaaS ⊇ Serverless ⊇ FaaS / FaaS
= stateless / true pay per use / automated
scalability / event driven / integrates with
other CS / architect against vendor lock in /
cloud agnostic FaaS frameworks emerge / FaaS
frameworks consolidation ahead /
𝛌 only technically the new μ (AWS).
@frankmunz
3 Membership Tiers• Oracle ACE Director• Oracle ACE• Oracle ACE Associate
bit.ly/OracleACEProgram
500+ Technical Experts Helping Peers Globally
Connect:
Nominate yourself or someone you know: acenomination.oracle.com
@oracleace
Facebook.com/oracleaces
oracle-ace_ww@oracle.com
top related