SlideShare a Scribd company logo
@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!

More Related Content

Similar to 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
vanphp
 
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
Demi Ben-Ari
 
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...
Codemotion
 
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
 
FireWorks overview
FireWorks overviewFireWorks overview
FireWorks overview
Anubhav Jain
 
Serverless Go at BuzzBird
Serverless Go at BuzzBirdServerless Go at BuzzBird
Serverless Go at BuzzBird
Vladislav Supalov
 
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
NETWAYS
 
Promise of DevOps
Promise of DevOpsPromise of DevOps
Promise of DevOps
Juraj Hantak
 
Serverless for High Performance Computing
Serverless for High Performance ComputingServerless for High Performance Computing
Serverless for High Performance Computing
Luciano Mammino
 
«Что такое serverless-архитектура и как с ней жить?» Николай Марков, Aligned ...
«Что такое serverless-архитектура и как с ней жить?» Николай Марков, Aligned ...«Что такое serverless-архитектура и как с ней жить?» Николай Марков, Aligned ...
«Что такое serverless-архитектура и как с ней жить?» Николай Марков, Aligned ...
it-people
 
Prometheus (Microsoft, 2016)
Prometheus (Microsoft, 2016)Prometheus (Microsoft, 2016)
Prometheus (Microsoft, 2016)
Brian Brazil
 
Elastic Data Analytics Platform @Datadog
Elastic Data Analytics Platform @DatadogElastic Data Analytics Platform @Datadog
Elastic Data Analytics Platform @Datadog
C4Media
 
Serverless - DevOps Lessons Learned From Production
Serverless - DevOps Lessons Learned From ProductionServerless - DevOps Lessons Learned From Production
Serverless - DevOps Lessons Learned From Production
Steve Hogg
 
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
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
Chris Gates
 
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
Kriangkrai Chaonithi
 
Scaling symfony apps
Scaling symfony appsScaling symfony apps
Scaling symfony apps
Matteo Moretti
 
Introduction to Apache Airflow
Introduction to Apache AirflowIntroduction to Apache Airflow
Introduction to Apache Airflow
mutt_data
 
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
 
Cloud Native Applications on OpenShift
Cloud Native Applications on OpenShiftCloud Native Applications on OpenShift
Cloud Native Applications on OpenShift
Serhat Dirik
 
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
vanphp
 
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
Demi Ben-Ari
 
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...
Codemotion
 
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
 
FireWorks overview
FireWorks overviewFireWorks overview
FireWorks overview
Anubhav Jain
 
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
NETWAYS
 
Serverless for High Performance Computing
Serverless for High Performance ComputingServerless for High Performance Computing
Serverless for High Performance Computing
Luciano Mammino
 
«Что такое serverless-архитектура и как с ней жить?» Николай Марков, Aligned ...
«Что такое serverless-архитектура и как с ней жить?» Николай Марков, Aligned ...«Что такое serverless-архитектура и как с ней жить?» Николай Марков, Aligned ...
«Что такое serverless-архитектура и как с ней жить?» Николай Марков, Aligned ...
it-people
 
Prometheus (Microsoft, 2016)
Prometheus (Microsoft, 2016)Prometheus (Microsoft, 2016)
Prometheus (Microsoft, 2016)
Brian Brazil
 
Elastic Data Analytics Platform @Datadog
Elastic Data Analytics Platform @DatadogElastic Data Analytics Platform @Datadog
Elastic Data Analytics Platform @Datadog
C4Media
 
Serverless - DevOps Lessons Learned From Production
Serverless - DevOps Lessons Learned From ProductionServerless - DevOps Lessons Learned From Production
Serverless - DevOps Lessons Learned From Production
Steve Hogg
 
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
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
Chris Gates
 
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
Kriangkrai Chaonithi
 
Introduction to Apache Airflow
Introduction to Apache AirflowIntroduction to Apache Airflow
Introduction to Apache Airflow
mutt_data
 
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
 
Cloud Native Applications on OpenShift
Cloud Native Applications on OpenShiftCloud Native Applications on OpenShift
Cloud Native Applications on OpenShift
Serhat Dirik
 

More from gjdevos (7)

Shift Left Security
Shift Left SecurityShift Left Security
Shift Left Security
gjdevos
 
Shift Left Security
Shift Left SecurityShift Left Security
Shift Left Security
gjdevos
 
Introduction to devops - update 2017
Introduction to devops - update 2017Introduction to devops - update 2017
Introduction to devops - update 2017
gjdevos
 
Introduction to devops 2016
Introduction to devops 2016Introduction to devops 2016
Introduction to devops 2016
gjdevos
 
Introduction to devops 201604
Introduction to devops 201604Introduction to devops 201604
Introduction to devops 201604
gjdevos
 
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
gjdevos
 
DevOps - An introduction
DevOps - An introductionDevOps - An introduction
DevOps - An introduction
gjdevos
 
Shift Left Security
Shift Left SecurityShift Left Security
Shift Left Security
gjdevos
 
Shift Left Security
Shift Left SecurityShift Left Security
Shift Left Security
gjdevos
 
Introduction to devops - update 2017
Introduction to devops - update 2017Introduction to devops - update 2017
Introduction to devops - update 2017
gjdevos
 
Introduction to devops 2016
Introduction to devops 2016Introduction to devops 2016
Introduction to devops 2016
gjdevos
 
Introduction to devops 201604
Introduction to devops 201604Introduction to devops 201604
Introduction to devops 201604
gjdevos
 
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
gjdevos
 
DevOps - An introduction
DevOps - An introductionDevOps - An introduction
DevOps - An introduction
gjdevos
 

Recently uploaded (19)

Top Vancouver Green Business Ideas for 2025 Powered by 4GoodHosting
Top Vancouver Green Business Ideas for 2025 Powered by 4GoodHostingTop Vancouver Green Business Ideas for 2025 Powered by 4GoodHosting
Top Vancouver Green Business Ideas for 2025 Powered by 4GoodHosting
steve198109
 
APNIC Update, presented at NZNOG 2025 by Terry Sweetser
APNIC Update, presented at NZNOG 2025 by Terry SweetserAPNIC Update, presented at NZNOG 2025 by Terry Sweetser
APNIC Update, presented at NZNOG 2025 by Terry Sweetser
APNIC
 
Determining Glass is mechanical textile
Determining  Glass is mechanical textileDetermining  Glass is mechanical textile
Determining Glass is mechanical textile
Azizul Hakim
 
(Hosting PHising Sites) for Cryptography and network security
(Hosting PHising Sites) for Cryptography and network security(Hosting PHising Sites) for Cryptography and network security
(Hosting PHising Sites) for Cryptography and network security
aluacharya169
 
Reliable Vancouver Web Hosting with Local Servers & 24/7 Support
Reliable Vancouver Web Hosting with Local Servers & 24/7 SupportReliable Vancouver Web Hosting with Local Servers & 24/7 Support
Reliable Vancouver Web Hosting with Local Servers & 24/7 Support
steve198109
 
highend-srxseries-services-gateways-customer-presentation.pptx
highend-srxseries-services-gateways-customer-presentation.pptxhighend-srxseries-services-gateways-customer-presentation.pptx
highend-srxseries-services-gateways-customer-presentation.pptx
elhadjcheikhdiop
 
Perguntas dos animais - Slides ilustrados de múltipla escolha
Perguntas dos animais - Slides ilustrados de múltipla escolhaPerguntas dos animais - Slides ilustrados de múltipla escolha
Perguntas dos animais - Slides ilustrados de múltipla escolha
socaslev
 
5-Proses-proses Akuisisi Citra Digital.pptx
5-Proses-proses Akuisisi Citra Digital.pptx5-Proses-proses Akuisisi Citra Digital.pptx
5-Proses-proses Akuisisi Citra Digital.pptx
andani26
 
Understanding the Tor Network and Exploring the Deep Web
Understanding the Tor Network and Exploring the Deep WebUnderstanding the Tor Network and Exploring the Deep Web
Understanding the Tor Network and Exploring the Deep Web
nabilajabin35
 
DNS Resolvers and Nameservers (in New Zealand)
DNS Resolvers and Nameservers (in New Zealand)DNS Resolvers and Nameservers (in New Zealand)
DNS Resolvers and Nameservers (in New Zealand)
APNIC
 
Mobile database for your company telemarketing or sms marketing campaigns. Fr...
Mobile database for your company telemarketing or sms marketing campaigns. Fr...Mobile database for your company telemarketing or sms marketing campaigns. Fr...
Mobile database for your company telemarketing or sms marketing campaigns. Fr...
DataProvider1
 
project_based_laaaaaaaaaaearning,kelompok 10.pptx
project_based_laaaaaaaaaaearning,kelompok 10.pptxproject_based_laaaaaaaaaaearning,kelompok 10.pptx
project_based_laaaaaaaaaaearning,kelompok 10.pptx
redzuriel13
 
IT Services Workflow From Request to Resolution
IT Services Workflow From Request to ResolutionIT Services Workflow From Request to Resolution
IT Services Workflow From Request to Resolution
mzmziiskd
 
OSI TCP IP Protocol Layers description f
OSI TCP IP Protocol Layers description fOSI TCP IP Protocol Layers description f
OSI TCP IP Protocol Layers description f
cbr49917
 
Computers Networks Computers Networks Computers Networks
Computers Networks Computers Networks Computers NetworksComputers Networks Computers Networks Computers Networks
Computers Networks Computers Networks Computers Networks
Tito208863
 
Best web hosting Vancouver 2025 for you business
Best web hosting Vancouver 2025 for you businessBest web hosting Vancouver 2025 for you business
Best web hosting Vancouver 2025 for you business
steve198109
 
White and Red Clean Car Business Pitch Presentation.pptx
White and Red Clean Car Business Pitch Presentation.pptxWhite and Red Clean Car Business Pitch Presentation.pptx
White and Red Clean Car Business Pitch Presentation.pptx
canumatown
 
APNIC -Policy Development Process, presented at Local APIGA Taiwan 2025
APNIC -Policy Development Process, presented at Local APIGA Taiwan 2025APNIC -Policy Development Process, presented at Local APIGA Taiwan 2025
APNIC -Policy Development Process, presented at Local APIGA Taiwan 2025
APNIC
 
Smart Mobile App Pitch Deck丨AI Travel App Presentation Template
Smart Mobile App Pitch Deck丨AI Travel App Presentation TemplateSmart Mobile App Pitch Deck丨AI Travel App Presentation Template
Smart Mobile App Pitch Deck丨AI Travel App Presentation Template
yojeari421237
 
Top Vancouver Green Business Ideas for 2025 Powered by 4GoodHosting
Top Vancouver Green Business Ideas for 2025 Powered by 4GoodHostingTop Vancouver Green Business Ideas for 2025 Powered by 4GoodHosting
Top Vancouver Green Business Ideas for 2025 Powered by 4GoodHosting
steve198109
 
APNIC Update, presented at NZNOG 2025 by Terry Sweetser
APNIC Update, presented at NZNOG 2025 by Terry SweetserAPNIC Update, presented at NZNOG 2025 by Terry Sweetser
APNIC Update, presented at NZNOG 2025 by Terry Sweetser
APNIC
 
Determining Glass is mechanical textile
Determining  Glass is mechanical textileDetermining  Glass is mechanical textile
Determining Glass is mechanical textile
Azizul Hakim
 
(Hosting PHising Sites) for Cryptography and network security
(Hosting PHising Sites) for Cryptography and network security(Hosting PHising Sites) for Cryptography and network security
(Hosting PHising Sites) for Cryptography and network security
aluacharya169
 
Reliable Vancouver Web Hosting with Local Servers & 24/7 Support
Reliable Vancouver Web Hosting with Local Servers & 24/7 SupportReliable Vancouver Web Hosting with Local Servers & 24/7 Support
Reliable Vancouver Web Hosting with Local Servers & 24/7 Support
steve198109
 
highend-srxseries-services-gateways-customer-presentation.pptx
highend-srxseries-services-gateways-customer-presentation.pptxhighend-srxseries-services-gateways-customer-presentation.pptx
highend-srxseries-services-gateways-customer-presentation.pptx
elhadjcheikhdiop
 
Perguntas dos animais - Slides ilustrados de múltipla escolha
Perguntas dos animais - Slides ilustrados de múltipla escolhaPerguntas dos animais - Slides ilustrados de múltipla escolha
Perguntas dos animais - Slides ilustrados de múltipla escolha
socaslev
 
5-Proses-proses Akuisisi Citra Digital.pptx
5-Proses-proses Akuisisi Citra Digital.pptx5-Proses-proses Akuisisi Citra Digital.pptx
5-Proses-proses Akuisisi Citra Digital.pptx
andani26
 
Understanding the Tor Network and Exploring the Deep Web
Understanding the Tor Network and Exploring the Deep WebUnderstanding the Tor Network and Exploring the Deep Web
Understanding the Tor Network and Exploring the Deep Web
nabilajabin35
 
DNS Resolvers and Nameservers (in New Zealand)
DNS Resolvers and Nameservers (in New Zealand)DNS Resolvers and Nameservers (in New Zealand)
DNS Resolvers and Nameservers (in New Zealand)
APNIC
 
Mobile database for your company telemarketing or sms marketing campaigns. Fr...
Mobile database for your company telemarketing or sms marketing campaigns. Fr...Mobile database for your company telemarketing or sms marketing campaigns. Fr...
Mobile database for your company telemarketing or sms marketing campaigns. Fr...
DataProvider1
 
project_based_laaaaaaaaaaearning,kelompok 10.pptx
project_based_laaaaaaaaaaearning,kelompok 10.pptxproject_based_laaaaaaaaaaearning,kelompok 10.pptx
project_based_laaaaaaaaaaearning,kelompok 10.pptx
redzuriel13
 
IT Services Workflow From Request to Resolution
IT Services Workflow From Request to ResolutionIT Services Workflow From Request to Resolution
IT Services Workflow From Request to Resolution
mzmziiskd
 
OSI TCP IP Protocol Layers description f
OSI TCP IP Protocol Layers description fOSI TCP IP Protocol Layers description f
OSI TCP IP Protocol Layers description f
cbr49917
 
Computers Networks Computers Networks Computers Networks
Computers Networks Computers Networks Computers NetworksComputers Networks Computers Networks Computers Networks
Computers Networks Computers Networks Computers Networks
Tito208863
 
Best web hosting Vancouver 2025 for you business
Best web hosting Vancouver 2025 for you businessBest web hosting Vancouver 2025 for you business
Best web hosting Vancouver 2025 for you business
steve198109
 
White and Red Clean Car Business Pitch Presentation.pptx
White and Red Clean Car Business Pitch Presentation.pptxWhite and Red Clean Car Business Pitch Presentation.pptx
White and Red Clean Car Business Pitch Presentation.pptx
canumatown
 
APNIC -Policy Development Process, presented at Local APIGA Taiwan 2025
APNIC -Policy Development Process, presented at Local APIGA Taiwan 2025APNIC -Policy Development Process, presented at Local APIGA Taiwan 2025
APNIC -Policy Development Process, presented at Local APIGA Taiwan 2025
APNIC
 
Smart Mobile App Pitch Deck丨AI Travel App Presentation Template
Smart Mobile App Pitch Deck丨AI Travel App Presentation TemplateSmart Mobile App Pitch Deck丨AI Travel App Presentation Template
Smart Mobile App Pitch Deck丨AI Travel App Presentation Template
yojeari421237
 

There is something about serverless

  • 1. @gerardthefox There is something about serverless 2018-04-18 Gérard de Vos [email protected]
  • 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