SlideShare ist ein Scribd-Unternehmen logo
1 von 31
Downloaden Sie, um offline zu lesen
@gerardthefox
There is something about serverless
2018-04-18
Gérard de Vos
gerard@deplica.com
@gerardthefox
Content
● What is serverless?
● So what?
● Serverless products / services
● Get a grip
● Approach
● Demo?
● So why not serverless?
@gerardthefox
What is serverless?
● Of course there are servers. It's just not your concern, like the solar farm and
national grid aren't for your wall socket.
"serverless" might be a stupid name but it's just a name. (get over it :-)
● Metered (like a utility) by bytes transferred, bytes stored, CPU seconds used.
Not by storage claimed, upper bandwidth, VMs/containers started.
○ S3 object storage, DynamoDB records vs block device / VHD
○ Egress traffic, CDN vs ethernet port, leased line
○ DB query vs installed database cluster size
● Last piece: Compute. AWS Lambda, Google Cloud Function,
Azure Functions, IBM OpenWhisk
○ Pay per GB-second your code runs
@gerardthefox
What is serverless? Or where is serverless?
SaaS
Serverless
PaaS
IaaS
On premise
Full stack;)
Power
Datacenter
Compute
Super-/Hypervisor
OS / container
SW stack / middleware / messaging
Business application
Business rules
Business process
@gerardthefox
So what?
Toil, muck, yak shaving, etc.
https://aws.amazon.com/security/security-bulletins/AWS-2018-013/
@gerardthefox
So what?
https://aws.amazon.com/compliance/
@gerardthefox
Evolution
@gerardthefox https://twitter.com/swardley/status/951783539334352896
@gerardthefox
So what?
● You can save a few € by updating older systems to sls
○ but the € 20k vs € 100 cloud bill won't matter that much on the total budget
Bigger, better reasons:
● Opportunity Cost. What you miss out on
https://en.wikipedia.org/wiki/Opportunity_cost
● Transaction Cost. The reason organizations exist
https://en.wikipedia.org/wiki/Transaction_cost
● Jevons Paradox. How higher order systems are created
https://www.cio.com/article/2384346/cloud-computing/what-economists-can-teach-us-about-cloud-computing.html
● FinDev / Why the fuss about serverless?
https://hackernoon.com/why-the-fuss-about-serverless-4370b1596da0
@gerardthefox
So what?
The short short version:
Don't do undifferentiated heavy lifting
http://archive.oreilly.com/network/2006/12/20/web-20-bezos.html
@gerardthefox
Serverless products & services
Providers:
● AWS: Lambda, S3, DynamoDB, SQS, SNS, Step functions, etc.
● GCP: Cloud functions, Cloud datastore, Cloud Pub/Sub, etc.
● MS Azure: Azure functions, Blob storage, etc.
On your own servers:
● Apache OpenWhisk
● Kubeless
● OpenFaaS
● Fission.io
@gerardthefox
Get a grip. The bad news
It's newish (if we ignore /cgi-bin/, cron, et al)
Can't hire "10 years of experience with Lambda in production"
Can't get industry certifications, trainings
No Best Practices™ to ctrl+c ctrl+v
You'll have to do the work yourselves (or ignore, always an option)
@gerardthefox
Get a grip. The good news
You're not alone!
While no Best, there are Emerging Practices and Good Practices to put to use
https://serverlessdays.io/
http://serverlessconf.io/
https://serverless.com/
https://github.com/anaibol/awesome-serverless
And people blog, present, open source, and otherwise share all over the web
@gerardthefox
Approach - invest
Different from the last 30 years. Invest time in learning.
It's an investment, you will get a return on it!
@gerardthefox
Approach - commit
Yes, you are locking yourself in. Maybe more so than otherwise, maybe less so.
Do the risk assessment. Accept it. Commit to it.
What is the risk of AWS pulling an *racle and raising prices 2000%?
What is the risk of AWS discontinuing a service on short notice?
What is the risk of not moving up? What if your competitors do move up?
Back to the economics of it.
@gerardthefox
Approach - commit
https://twitter.com/i/web/status/958050456101642241
@gerardthefox
Approach - standardization
@gerardthefox
Approach - standardization
You say: we standardized on Java EE! (or Docker, or Node.js, or ...)
You think people hear: we made a decision! we have things under control! We
benefit from specialization, efficiencies of scale! we're building an ecosystem!
People hear: we make you eat soup with a knife!
@gerardthefox
Approach - lifecycle
Built in lifecycle mgmt
● Your app could be killed after milliseconds.
It can be started from scratch at any time.
Initialize fast. Think light
● Your app could be running for hours.
Check if it already initialized. Clean up temp files. Memory mgmt (nullify
references)
● Your first deploy is not "done", it's the beginning.
Deploy, update, discontinue. Make functions / API versioned
@gerardthefox
Approach - lifecycle
Built in lifecycle mgmt
● Lifecycle policies for storage. S3 object storage, SQS queues, DB records.
● Phoenix data centers. Recycle your cloud account. Blue/green cloud
accounts. Also an excellent BCP exercise
@gerardthefox
Approach - organization
● Compartmentalize (or dare I say... containerize! )
○ Map your system, Wardley mapping
○ Systems, processes, etc. get only one team as
the owner
● You built it, you run it
○ No handoffs. Devops / product team model
○ Freedom + responsibility
● Right size
○ 5, 6 people to a team
https://hackernoon.com/my-basics-for-mapping-a-business-5b20f364b216
https://queue.acm.org/detail.cfm?id=1142065
@gerardthefox
Approach - organization
● Right size
○ Bundle related FE functions in 1 git repo, BE functions in another git repo
● Automate
○ Use CI/CD to track, create and deploy
○ CD is the only thing that changes production, try for the other environments too
@gerardthefox
Approach - hands off
There is no SSH/RDP'ing in, attaching debuggers/tracers/profilers
Not logging in on production servers was a good practice, now not even an option
Apply your 12-factor, devops, µ-service, etc. practices:
● Log shipping Usually built into the platform. Format your logs in JSON
● Metrics shipping Same.
● Correlation IDs Forward them to the next step. HTTP headers, tags
● Distributed tracing (X-Ray, OpenTracing)
https://12factor.net/
https://hackernoon.com/capture-and-forward-correlation-ids-through-different-lambda-event-sources-220c227c65f5
@gerardthefox
Approach - attitude with some platitudes
'If everything seems under control, you're not going fast enough.' - Mario Andretti
MTTR > MTBF
Continuous improvement is better than delayed perfection - Mark Twain
Responding to change over following a plan
"Testing" in production, aka monitoring, observability
https://www.kitchensoap.com/2010/11/07/mttr-mtbf-for-most-types-of-f/
https://en.wikipedia.org/wiki/Continual_improvement_process
http://agilemanifesto.org/
https://opensource.com/article/17/8/testing-production
@gerardthefox
Serverless framework
https://serverless.com/
https://github.com/serverless/serverless
@gerardthefox
Serverless framework
$ sls create -t public_template --name my_app
$ sls create -u https://my_template_repo/awesome_template -n my_other_app
$ $EDITOR serverless.yml
$ sls invoke local -f my_function
$ sls deploy --stage test
$ sls deploy -s test --function single_function
$ sls deploy -s prod
$ sls remove
@gerardthefox
Demo - static site with contact form
@gerardthefox
So why not serverless?
● Limited available features. Might not fit your use case (cold start latency,
runtime, memory, price, etc)
● Limited available features. Might not fit your organization's current way of
working "we make you eat soup with a knife"
● Metered. Might not fit your organization's budgeting and invoicing
● Few providers. Might not fit your organization's policies or regulatory
requirements e.g. no foreign providers. no providers under US control. running a full serverless stack in your own datacenter
likely not worth the effort vs VMs/containers
● ...
@gerardthefox
Serverless (or insert-better-name-here-please-kthxbye)
Do's Don'ts
Recognize as important part of compute-as-utility Ignore
Commit (after due diligence) Half arse it
Maintain a set of standards Set single standard, or set no standards
Lifecycle mgmt Feature factory
Product teams Waterfall, handoffs, and silos
Automate, CI/CD Ambachtelijke IT. Artisanal creative handicraft IT
Apply Agile Apply methods created for other contexts
@gerardthefox
?
@gerardthefox
Thank you!

Weitere ähnliche Inhalte

Ähnlich wie There is something about serverless

«Что такое serverless-архитектура и как с ней жить?» Николай Марков, Aligned ...
«Что такое serverless-архитектура и как с ней жить?» Николай Марков, Aligned ...«Что такое serverless-архитектура и как с ней жить?» Николай Марков, Aligned ...
«Что такое serverless-архитектура и как с ней жить?» Николай Марков, Aligned ...
it-people
 
Rapidly Building and Deploying Scalable Web Architectures
Rapidly Building and Deploying Scalable Web ArchitecturesRapidly Building and Deploying Scalable Web Architectures
Rapidly Building and Deploying Scalable Web Architectures
Keith Fitzgerald
 

Ähnlich wie There is something about serverless (20)

PHP At 5000 Requests Per Second: Hootsuite’s Scaling Story
PHP At 5000 Requests Per Second: Hootsuite’s Scaling StoryPHP At 5000 Requests Per Second: Hootsuite’s Scaling Story
PHP At 5000 Requests Per Second: Hootsuite’s Scaling Story
 
Monitoring Big Data Systems Done "The Simple Way" - Codemotion Berlin 2017
Monitoring Big Data Systems Done "The Simple Way" - Codemotion Berlin 2017Monitoring Big Data Systems Done "The Simple Way" - Codemotion Berlin 2017
Monitoring Big Data Systems Done "The Simple Way" - Codemotion Berlin 2017
 
Monitoring Big Data Systems Done "The Simple Way" - Codemotion Milan 2017 - D...
Monitoring Big Data Systems Done "The Simple Way" - Codemotion Milan 2017 - D...Monitoring Big Data Systems Done "The Simple Way" - Codemotion Milan 2017 - D...
Monitoring Big Data Systems Done "The Simple Way" - Codemotion Milan 2017 - D...
 
Demi Ben-Ari - Monitoring Big Data Systems Done "The Simple Way" - Codemotion...
Demi Ben-Ari - Monitoring Big Data Systems Done "The Simple Way" - Codemotion...Demi Ben-Ari - Monitoring Big Data Systems Done "The Simple Way" - Codemotion...
Demi Ben-Ari - Monitoring Big Data Systems Done "The Simple Way" - Codemotion...
 
FireWorks overview
FireWorks overviewFireWorks overview
FireWorks overview
 
Serverless Go at BuzzBird
Serverless Go at BuzzBirdServerless Go at BuzzBird
Serverless Go at BuzzBird
 
OSMC 2012 | Shinken by Jean Gabès
OSMC 2012 | Shinken by Jean GabèsOSMC 2012 | Shinken by Jean Gabès
OSMC 2012 | Shinken by Jean Gabès
 
Promise of DevOps
Promise of DevOpsPromise of DevOps
Promise of DevOps
 
Serverless for High Performance Computing
Serverless for High Performance ComputingServerless for High Performance Computing
Serverless for High Performance Computing
 
«Что такое serverless-архитектура и как с ней жить?» Николай Марков, Aligned ...
«Что такое serverless-архитектура и как с ней жить?» Николай Марков, Aligned ...«Что такое serverless-архитектура и как с ней жить?» Николай Марков, Aligned ...
«Что такое serverless-архитектура и как с ней жить?» Николай Марков, Aligned ...
 
Prometheus (Microsoft, 2016)
Prometheus (Microsoft, 2016)Prometheus (Microsoft, 2016)
Prometheus (Microsoft, 2016)
 
Elastic Data Analytics Platform @Datadog
Elastic Data Analytics Platform @DatadogElastic Data Analytics Platform @Datadog
Elastic Data Analytics Platform @Datadog
 
Serverless - DevOps Lessons Learned From Production
Serverless - DevOps Lessons Learned From ProductionServerless - DevOps Lessons Learned From Production
Serverless - DevOps Lessons Learned From Production
 
Thinking DevOps in the era of the Cloud - Demi Ben-Ari
Thinking DevOps in the era of the Cloud - Demi Ben-AriThinking DevOps in the era of the Cloud - Demi Ben-Ari
Thinking DevOps in the era of the Cloud - Demi Ben-Ari
 
DevOops & How I hacked you DevopsDays DC June 2015
DevOops & How I hacked you DevopsDays DC June 2015DevOops & How I hacked you DevopsDays DC June 2015
DevOops & How I hacked you DevopsDays DC June 2015
 
Introduction to DevOps and the Practical Use Cases at Credit OK
Introduction to DevOps and the Practical Use Cases at Credit OKIntroduction to DevOps and the Practical Use Cases at Credit OK
Introduction to DevOps and the Practical Use Cases at Credit OK
 
Scaling symfony apps
Scaling symfony appsScaling symfony apps
Scaling symfony apps
 
Introduction to Apache Airflow
Introduction to Apache AirflowIntroduction to Apache Airflow
Introduction to Apache Airflow
 
Rapidly Building and Deploying Scalable Web Architectures
Rapidly Building and Deploying Scalable Web ArchitecturesRapidly Building and Deploying Scalable Web Architectures
Rapidly Building and Deploying Scalable Web Architectures
 
Cloud Native Applications on OpenShift
Cloud Native Applications on OpenShiftCloud Native Applications on OpenShift
Cloud Native Applications on OpenShift
 

Mehr von gjdevos

Mehr von gjdevos (7)

Shift Left Security
Shift Left SecurityShift Left Security
Shift Left Security
 
Shift Left Security
Shift Left SecurityShift Left Security
Shift Left Security
 
Introduction to devops - update 2017
Introduction to devops - update 2017Introduction to devops - update 2017
Introduction to devops - update 2017
 
Introduction to devops 2016
Introduction to devops 2016Introduction to devops 2016
Introduction to devops 2016
 
Introduction to devops 201604
Introduction to devops 201604Introduction to devops 201604
Introduction to devops 201604
 
How to run a bank on Apache CloudStack
How to run a bank on Apache CloudStackHow to run a bank on Apache CloudStack
How to run a bank on Apache CloudStack
 
DevOps - An introduction
DevOps - An introductionDevOps - An introduction
DevOps - An introduction
 

Kürzlich hochgeladen

Thalassery Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call G...
Thalassery Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call G...Thalassery Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call G...
Thalassery Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call G...
Call Girls In Delhi Whatsup 9873940964 Enjoy Unlimited Pleasure
 
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
Chandigarh Call girls 9053900678 Call girls in Chandigarh
 
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
Call Girls In Delhi Whatsup 9873940964 Enjoy Unlimited Pleasure
 
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
ydyuyu
 

Kürzlich hochgeladen (20)

Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
 
Russian Call Girls Pune (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
Russian Call Girls Pune  (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...Russian Call Girls Pune  (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
Russian Call Girls Pune (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
 
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
 
Thalassery Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call G...
Thalassery Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call G...Thalassery Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call G...
Thalassery Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call G...
 
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls DubaiDubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
 
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
 
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
 
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
 
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
 
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
 
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
 
Nanded City ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready ...
Nanded City ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready ...Nanded City ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready ...
Nanded City ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready ...
 
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
 
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
 
20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf
 
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
 
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
 
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
 
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrStory Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
 

There is something about serverless

  • 1. @gerardthefox There is something about serverless 2018-04-18 Gérard de Vos gerard@deplica.com
  • 2. @gerardthefox Content ● What is serverless? ● So what? ● Serverless products / services ● Get a grip ● Approach ● Demo? ● So why not serverless?
  • 3. @gerardthefox What is serverless? ● Of course there are servers. It's just not your concern, like the solar farm and national grid aren't for your wall socket. "serverless" might be a stupid name but it's just a name. (get over it :-) ● Metered (like a utility) by bytes transferred, bytes stored, CPU seconds used. Not by storage claimed, upper bandwidth, VMs/containers started. ○ S3 object storage, DynamoDB records vs block device / VHD ○ Egress traffic, CDN vs ethernet port, leased line ○ DB query vs installed database cluster size ● Last piece: Compute. AWS Lambda, Google Cloud Function, Azure Functions, IBM OpenWhisk ○ Pay per GB-second your code runs
  • 4. @gerardthefox What is serverless? Or where is serverless? SaaS Serverless PaaS IaaS On premise Full stack;) Power Datacenter Compute Super-/Hypervisor OS / container SW stack / middleware / messaging Business application Business rules Business process
  • 5. @gerardthefox So what? Toil, muck, yak shaving, etc. https://aws.amazon.com/security/security-bulletins/AWS-2018-013/
  • 9. @gerardthefox So what? ● You can save a few € by updating older systems to sls ○ but the € 20k vs € 100 cloud bill won't matter that much on the total budget Bigger, better reasons: ● Opportunity Cost. What you miss out on https://en.wikipedia.org/wiki/Opportunity_cost ● Transaction Cost. The reason organizations exist https://en.wikipedia.org/wiki/Transaction_cost ● Jevons Paradox. How higher order systems are created https://www.cio.com/article/2384346/cloud-computing/what-economists-can-teach-us-about-cloud-computing.html ● FinDev / Why the fuss about serverless? https://hackernoon.com/why-the-fuss-about-serverless-4370b1596da0
  • 10. @gerardthefox So what? The short short version: Don't do undifferentiated heavy lifting http://archive.oreilly.com/network/2006/12/20/web-20-bezos.html
  • 11. @gerardthefox Serverless products & services Providers: ● AWS: Lambda, S3, DynamoDB, SQS, SNS, Step functions, etc. ● GCP: Cloud functions, Cloud datastore, Cloud Pub/Sub, etc. ● MS Azure: Azure functions, Blob storage, etc. On your own servers: ● Apache OpenWhisk ● Kubeless ● OpenFaaS ● Fission.io
  • 12. @gerardthefox Get a grip. The bad news It's newish (if we ignore /cgi-bin/, cron, et al) Can't hire "10 years of experience with Lambda in production" Can't get industry certifications, trainings No Best Practices™ to ctrl+c ctrl+v You'll have to do the work yourselves (or ignore, always an option)
  • 13. @gerardthefox Get a grip. The good news You're not alone! While no Best, there are Emerging Practices and Good Practices to put to use https://serverlessdays.io/ http://serverlessconf.io/ https://serverless.com/ https://github.com/anaibol/awesome-serverless And people blog, present, open source, and otherwise share all over the web
  • 14. @gerardthefox Approach - invest Different from the last 30 years. Invest time in learning. It's an investment, you will get a return on it!
  • 15. @gerardthefox Approach - commit Yes, you are locking yourself in. Maybe more so than otherwise, maybe less so. Do the risk assessment. Accept it. Commit to it. What is the risk of AWS pulling an *racle and raising prices 2000%? What is the risk of AWS discontinuing a service on short notice? What is the risk of not moving up? What if your competitors do move up? Back to the economics of it.
  • 18. @gerardthefox Approach - standardization You say: we standardized on Java EE! (or Docker, or Node.js, or ...) You think people hear: we made a decision! we have things under control! We benefit from specialization, efficiencies of scale! we're building an ecosystem! People hear: we make you eat soup with a knife!
  • 19. @gerardthefox Approach - lifecycle Built in lifecycle mgmt ● Your app could be killed after milliseconds. It can be started from scratch at any time. Initialize fast. Think light ● Your app could be running for hours. Check if it already initialized. Clean up temp files. Memory mgmt (nullify references) ● Your first deploy is not "done", it's the beginning. Deploy, update, discontinue. Make functions / API versioned
  • 20. @gerardthefox Approach - lifecycle Built in lifecycle mgmt ● Lifecycle policies for storage. S3 object storage, SQS queues, DB records. ● Phoenix data centers. Recycle your cloud account. Blue/green cloud accounts. Also an excellent BCP exercise
  • 21. @gerardthefox Approach - organization ● Compartmentalize (or dare I say... containerize! ) ○ Map your system, Wardley mapping ○ Systems, processes, etc. get only one team as the owner ● You built it, you run it ○ No handoffs. Devops / product team model ○ Freedom + responsibility ● Right size ○ 5, 6 people to a team https://hackernoon.com/my-basics-for-mapping-a-business-5b20f364b216 https://queue.acm.org/detail.cfm?id=1142065
  • 22. @gerardthefox Approach - organization ● Right size ○ Bundle related FE functions in 1 git repo, BE functions in another git repo ● Automate ○ Use CI/CD to track, create and deploy ○ CD is the only thing that changes production, try for the other environments too
  • 23. @gerardthefox Approach - hands off There is no SSH/RDP'ing in, attaching debuggers/tracers/profilers Not logging in on production servers was a good practice, now not even an option Apply your 12-factor, devops, µ-service, etc. practices: ● Log shipping Usually built into the platform. Format your logs in JSON ● Metrics shipping Same. ● Correlation IDs Forward them to the next step. HTTP headers, tags ● Distributed tracing (X-Ray, OpenTracing) https://12factor.net/ https://hackernoon.com/capture-and-forward-correlation-ids-through-different-lambda-event-sources-220c227c65f5
  • 24. @gerardthefox Approach - attitude with some platitudes 'If everything seems under control, you're not going fast enough.' - Mario Andretti MTTR > MTBF Continuous improvement is better than delayed perfection - Mark Twain Responding to change over following a plan "Testing" in production, aka monitoring, observability https://www.kitchensoap.com/2010/11/07/mttr-mtbf-for-most-types-of-f/ https://en.wikipedia.org/wiki/Continual_improvement_process http://agilemanifesto.org/ https://opensource.com/article/17/8/testing-production
  • 26. @gerardthefox Serverless framework $ sls create -t public_template --name my_app $ sls create -u https://my_template_repo/awesome_template -n my_other_app $ $EDITOR serverless.yml $ sls invoke local -f my_function $ sls deploy --stage test $ sls deploy -s test --function single_function $ sls deploy -s prod $ sls remove
  • 27. @gerardthefox Demo - static site with contact form
  • 28. @gerardthefox So why not serverless? ● Limited available features. Might not fit your use case (cold start latency, runtime, memory, price, etc) ● Limited available features. Might not fit your organization's current way of working "we make you eat soup with a knife" ● Metered. Might not fit your organization's budgeting and invoicing ● Few providers. Might not fit your organization's policies or regulatory requirements e.g. no foreign providers. no providers under US control. running a full serverless stack in your own datacenter likely not worth the effort vs VMs/containers ● ...
  • 29. @gerardthefox Serverless (or insert-better-name-here-please-kthxbye) Do's Don'ts Recognize as important part of compute-as-utility Ignore Commit (after due diligence) Half arse it Maintain a set of standards Set single standard, or set no standards Lifecycle mgmt Feature factory Product teams Waterfall, handoffs, and silos Automate, CI/CD Ambachtelijke IT. Artisanal creative handicraft IT Apply Agile Apply methods created for other contexts