SlideShare a Scribd company logo
1 of 110
Download to read offline
Medium/Twitter: @PaulDJohnston
Serverless Best Practices
Paul Johnston
Opinionated Serverless Person
“Serverless all the things”
Medium/Twitter: @PaulDJohnston
Serverless Computing London November 2018
Medium/Twitter: @PaulDJohnston
Paul Johnston
Experienced Interim CTO and Serverless
Consultant - linkedin.com/in/padajo
C-Level Consultant
Environmentalist #ClimateChange bit.ly/2024wp
Twitter/Medium @PaulDJohnston
Co-founder ServerlessDays (formerly JeffConf)
Medium/Twitter: @PaulDJohnston
Cloud, Data Centres and Energy
Medium/Twitter: @PaulDJohnston
Future of Cloud and Climate
Data Centres at least 2% of Global Carbon Emissions (bigger than aviation)
Growth of Cloud/Data Centres likely to grow by at least 5x in next 7 years
Efficiency is irrelevant due to Jevons Paradox - increased efficiency leads to
increased demand
Not just climate, but energy security - energy price rises
Whitepaper written by Anne Currie and myself bit.ly/2024wp
And Bitcoin energy consumption? About the same as Austria
https://digiconomist.net/bitcoin-energy-consumption
Medium/Twitter: @PaulDJohnston
Ethics Whitepaper - The State of Data Centre
Energy Use in 2018
Medium/Twitter: @PaulDJohnston
Background - Movivo
CTO of Movivo in 2015
One of the first Serverless startups
Android App + AWS Lambda
By early 2017 was in 20+ countries with over
500,000 MAU
AWS bill was ~$300/month (half data backup)
Team of 2 serverless and 2 android developers in
total
Medium/Twitter: @PaulDJohnston
Background - AWS
Senior Developer Advocate for Serverless
2017-18
Part of Lambda Product Team
Responsible for speaking about Lambda, API
Gateway, Step Functions, Serverless Application
Repository, Lambda@Edge and other services
Met and did workshops with many serverless
customers
Medium/Twitter: @PaulDJohnston
bit.ly/serverlessbestpractices
Medium/Twitter: @PaulDJohnston
bit.ly/serverlessbestpractices*
*not the only practices and you can break the rules if you want
Medium/Twitter: @PaulDJohnston
What is Serverless?
Medium/Twitter: @PaulDJohnston
Serverless is Inherently
Event Driven
And
Asynchronous*
*Consequence of FaaS and Queues
Medium/Twitter: @PaulDJohnston
Definition of Serverless
“A Serverless solution is one that
costs you nothing to run if nobody is
using it, excluding data storage.”
Me - September 2017
Medium/Twitter: @PaulDJohnston
Serverless is
Economic
not Technological
Medium/Twitter: @PaulDJohnston
So Serverless is about
Business
not
Technology*
*Consequence of CTO thinking
Medium/Twitter: @PaulDJohnston
Serverless Best Practices
Medium/Twitter: @PaulDJohnston
Serverless Best Practices
Serverless Best Practices blog:
bit.ly/serverlessbestpractices
August 2018
Medium/Twitter: @PaulDJohnston
Each function should do only one
thing
Functions don’t call other functions
Use as few libraries in your functions
as possible (preferably zero)
Avoid using connection based
services e.g. RDBMS
Serverless Best Practices
One function per route (if using
HTTP)
Learn to use messages and queues
(async FTW)
Data flows not data lakes
Just coding for scale is a mistake,
you have to consider how it scales
Medium/Twitter: @PaulDJohnston
Practice 1:
Each Function should do
only one thing
Medium/Twitter: @PaulDJohnston
Scaling And Error Isolation
(If you have a switch statement, you’re doing it wrong)
Medium/Twitter: @PaulDJohnston
Practice 1: Scaling
Lots of tutorials/frameworks put monoliths into functions (miniliths) - Microservices
If you have multiple logic elements, then you have to scale memory and compute
to the most hungry element
Medium/Twitter: @PaulDJohnston
Practice 1: Scaling
Function
Function Function
Function Function
Function Function
Scaling up of function
= Logic within function code
Medium/Twitter: @PaulDJohnston
Practice 1: Scaling
Function
Function Function
Function Function
Function Function
Assumption: All logic is
equal within function
Scaling up of function
Medium/Twitter: @PaulDJohnston
Practice 1: Scaling
Function
Function Function
Function Function
Function Function
Assumption: All logic is
equal within function
Scaling up of function
Medium/Twitter: @PaulDJohnston
Practice 1: Scaling
Function
Scaling up of function
= Logic within function code
Function Function
Function Function
Function Function
Memory and compute
allocated for most
memory/compute intensive
compute e.g.
e.g. 1 GB + 15 second timeout
Medium/Twitter: @PaulDJohnston
Practice 1: Scaling
Scaling up of function logic
as needed
= Logic within function code
Memory and compute
allocated as required
Function
Function
Function
1 GB + 3 second timeout
256MB + 500 ms timeout
128MB + 15 second timeout
Medium/Twitter: @PaulDJohnston
Practice 1: Debugging
= Logic within function code
Function
Function
Function
1 GB + 3 second timeout
256MB + 500 ms timeout
128MB + 15 second timeout
Errors are easier to debug
and can replace functions
with minimal disruption
!!!
Medium/Twitter: @PaulDJohnston
Practice 1:
Each Function should do
only one thing
FunctionFunctionFunction
Medium/Twitter: @PaulDJohnston
Practice 2:
Functions don’t call other functions
Medium/Twitter: @PaulDJohnston
Practice 2: Functions and Microservices
Functions != Microservices
Logically you might think it’s ok to call other functions
Removes isolation
Doubles cost
Makes debugging more complex
Medium/Twitter: @PaulDJohnston
Practice 2: Function calling
FunctionFunction
Direct invoke
Doubling up invoke cost
Removes isolation
If errors occur, it’s more
difficult to identify in logs
which function is
responsible
Medium/Twitter: @PaulDJohnston
Practice 2: Use queues
FunctionFunction
Queue Trigger
⚡
Replace with a queue
Automatic trigger
Medium/Twitter: @PaulDJohnston
Practice 2: Use data stores
FunctionFunction
Data Store Trigger
⚡
Or a data store
Automatic trigger
Medium/Twitter: @PaulDJohnston
Practice 2: Unidirectional
FunctionFunction
Data Store Trigger
⚡
Unidirectional
Medium/Twitter: @PaulDJohnston
Practice 2:
Functions don’t call other functions
FunctionFunction
⚡
Medium/Twitter: @PaulDJohnston
Practice 3:
Use as few libraries in your functions as
possible (preferably zero)
Medium/Twitter: @PaulDJohnston
Practice 3: Show me the code… vulnerabilities
Libraries make things easier...
…but always introduce technical debt
It’s a trade off
If you know it (really know it) and trust it then use it
But then you manage that on top of your logic
Medium/Twitter: @PaulDJohnston
Practice 3: AWS Lambda Function Lifecycle
Full Cold Start
Start new
container
Bootstrap the
runtime
Start your
code
Time
AWS Optimisation Your Optimisation
Partial Cold Start Warm Start
Download your
code
Source: AWS Online Tech Talks - Become a Serverless Black Belt - Optimizing Your Serverless Applications
Medium/Twitter: @PaulDJohnston
Practice 3: Small packages
Download your
code
Small packages are faster to download
Not a major optimisation for speed
But fewer lines of code are easier to debug
Medium/Twitter: @PaulDJohnston
Practice 3: Global variables and connections
Bootstrap the
runtime
Global variables loaded before
execution
Lazy loading is a good idea
Libraries loaded here can be a real
problem. What is being loaded?
Using Practice 1 - Each function
should only do one thing - then this
should limit your libraries
Medium/Twitter: @PaulDJohnston
Practice 3: Code optimisation
Start your
code
Most optimisation is found here - your code
If you have zero libraries, then this is where most of
your optimisation is
Reliance on libraries here may seem like you have
fewer lines of code in functions, but actually many
more lines of actual code
Medium/Twitter: @PaulDJohnston
Practice 3: LOC
Lines of Code matters
Not just your code, but libraries too - 1 library can have many dependencies
So no libraries unless you absolutely have to
It’s amazing what you don’t need
And Cold Starts are often very fast when you have very few libraries
Medium/Twitter: @PaulDJohnston
Practice 3: e.g. AWS SDK
npm init -y
npm install --save aws-sdk
echo "var AWS = require('aws-sdk');" > index.js
sloc ./
---------- Result ------------
Physical : 503378
Source : 295886
Comment : 197692
Single-line comment : 5458
Block comment : 192281
Mixed : 1794
Empty : 16109
To Do : 33
Number of files read : 620
------------------------------
295,886 Lines of Source Code
Medium/Twitter: @PaulDJohnston
Practice 3: No express or django
Functions were not built for running server based solutions
So don’t use them
It adds in huge amounts of unnecessary code written for servers
It doesn’t save time in the long run
Medium/Twitter: @PaulDJohnston
Practice 3:
Use as few libraries in your functions as
possible (preferably zero)
Start new
container
Bootstrap the
runtime
Start your
code
Download your
code
Medium/Twitter: @PaulDJohnston
Practice 4:
Avoid using connection based services
e.g. RDBMS
Medium/Twitter: @PaulDJohnston
WARNING
WARNING
WARNING
Medium/Twitter: @PaulDJohnston
Practice 4:
Avoid using connection based services
e.g. RDBMS
Medium/Twitter: @PaulDJohnston
Practice 4: Bottlenecks
Concurrent Functions
RDBMS
n = 20
100 connections
limit
Medium/Twitter: @PaulDJohnston
Practice 4: Bottlenecks
Concurrent Functions
RDBMS
n = 20 ALL GOOD
100 connections
limit
Medium/Twitter: @PaulDJohnston
Practice 4: Bottlenecks
Scale x4
Medium/Twitter: @PaulDJohnston
Practice 4: Bottlenecks
Concurrent Functions
RDBMS
n = 80
100 connections
limit
Medium/Twitter: @PaulDJohnston
Practice 4: Bottlenecks
Concurrent Functions
RDBMS
n = 80 ALL GOOD
100 connections
limit
Medium/Twitter: @PaulDJohnston
Practice 4: Bottlenecks
Scale x4
Medium/Twitter: @PaulDJohnston
Practice 4: Bottlenecks
100 connections
limit
RDBMS
Concurrent Functions
n = 320
Medium/Twitter: @PaulDJohnston
Practice 4: Bottlenecks
Concurrent Functions
RDBMS
n = 320 NO CONNECTIONS
100 connections
limit
Medium/Twitter: @PaulDJohnston
Practice 4: Solution?
Concurrent Functions
RDBMS
n = 320
Connection
pooling proxy?
throttle as
needed
100
connections
Medium/Twitter: @PaulDJohnston
Practice 4: Service interfaces
Concurrent Functions
n = 320
e.g. DynamoDB
Managed Service
Interface
Medium/Twitter: @PaulDJohnston
Practice 4: Service interfaces
Concurrent Functions
n = 1000s?
e.g. DynamoDB
Need to be aware
of provisioning
Managed Service
Interface
More likely to be
able to scale up
Medium/Twitter: @PaulDJohnston
Practice 4: Upstream scale
Serverless
Functions
Connections
Data Layer
Other Services
Concurrency of
functions
defined by
upstream scale
Medium/Twitter: @PaulDJohnston
Practice 4: Beware of I/O
Serverless
Functions
Connections
Data Stores
Other Services
Concurrency of
functions
defined by
upstream scale
Be aware of I/O (cold start)
Medium/Twitter: @PaulDJohnston
Practice 4: Rethink your data layer
Small spikes in functions can max out connections in a database
Concurrency can limit your scale
Your data layer constraints affect how you build your functions and applications
Managed data services are likely to be able to scale better than trying to scale
yourself
Medium/Twitter: @PaulDJohnston
Practice 4:
Avoid using connection based services
e.g. RDBMS
Managed Service Interface
Medium/Twitter: @PaulDJohnston
Practice 5:
One function per route (if using HTTP)
Medium/Twitter: @PaulDJohnston
Practice 5: HTTP routes - API Gateways
Relatively common use case
A lot of tutorials are “miniliths” - a single function to handle all routes
Others are “run django, express etc in a function” (middleware?)
Easy to start (Hello World!), more difficult to isolate errors (Practice 1)
Can make it difficult to decouple data layer from functions
Medium/Twitter: @PaulDJohnston
Practice 5: API Gateways - easy start, doesn’t scale
Single proxy
function
or django/express
style function
APIGateway
Internet
GET /
POST /posts
GET /posts/{id}
POST /authors
GET /authors/{id}
Medium/Twitter: @PaulDJohnston
Practice 5: API Gateways
APIGateway
Internet
GET /
POST /posts
GET /posts/{id}
POST /authors
GET /authors/{id}
Fn 1
Fn 2
Fn 3
Fn 4
Fn 5
Medium/Twitter: @PaulDJohnston
Practice 5: Lots of functions - manage it!
This does increase the number of resources
Each function will need security rules and may need secrets etc
So, use infrastructure as code
E.g. Terraform, SAM, CloudFormation, Serverless Framework, Architect, Stackery
Medium/Twitter: @PaulDJohnston
Practice 5:
One function per route (if using HTTP)
GET /
POST /posts
Fn 1
Fn 2
Medium/Twitter: @PaulDJohnston
Practice 6:
Learn to use messages and queues
(async FTW)
Medium/Twitter: @PaulDJohnston
Practice 6: So queues (from Practice 2)
FunctionFunction
Queue Trigger
⚡
Automatic trigger
Medium/Twitter: @PaulDJohnston
Practice 6: And data stores (from Practice 2)
FunctionFunction
Trigger
⚡
Automatic trigger
Data Store
Medium/Twitter: @PaulDJohnston
Practice 6: Event pattern
Trigger
⚡
Automatic trigger
Thing
? Function
Medium/Twitter: @PaulDJohnston
Practice 6: Event pattern
Trigger
⚡
Automatic trigger
Thing
? Function
RUN STUFF WHEN STUFF
HAPPENS
Medium/Twitter: @PaulDJohnston
Practice 6: Event pattern - queues
Trigger
⚡
Automatic trigger
Queue Function
Push messages in
Asynchronous
is not request
response
Circuit breaker
{
“Data”:
{
“a”: [
...
Medium/Twitter: @PaulDJohnston
Practice 6: Event pattern - queues
Trigger
⚡
Automatic trigger
Queue Function
Happy path
Errors...
DLQ?
Blocking?
Non-Blocking?
Medium/Twitter: @PaulDJohnston
Practice 6: Async queues and messages
Decouples logic through queues
Primarily stops you building request-response
Learn to use circuit breakers
Understand which queues to use and when
Medium/Twitter: @PaulDJohnston
Basically, learn how distributed systems work
Medium/Twitter: @PaulDJohnston
Practice 6: CQRS
Command Query Responsibility Segregation
Basically Reads and Writes go through different logic
Trigger on data writes
Build caches to read from
Asynchronous
Medium/Twitter: @PaulDJohnston
Practice 6:
Learn to use messages and queues
(async FTW)
⚡
{
“Data”:
{
“a”: [
...
Medium/Twitter: @PaulDJohnston
Practice 7:
Data flows not data lakes
Medium/Twitter: @PaulDJohnston
Your data in your application is always in motion
Medium/Twitter: @PaulDJohnston
Applications are not code
Medium/Twitter: @PaulDJohnston
Applications are like landscapes and water
Medium/Twitter: @PaulDJohnston
Medium/Twitter: @PaulDJohnston
Medium/Twitter: @PaulDJohnston
Practice 7: Data flows and Data lakes
Data Lake
Data Flows
Medium/Twitter: @PaulDJohnston
Practice 7: Data flows into Data lakes
Medium/Twitter: @PaulDJohnston
Practice 7: Data flows into Data lakes
Medium/Twitter: @PaulDJohnston
Practice 7: Data flows
Data flows through your application
Queues - Functions - Events
Fast Data Stores - Caches, Fast Reads/Writes
Performant data throughput
Scale considerations are higher
e.g Document DBs, K/V stores, blob stores
Medium/Twitter: @PaulDJohnston
Practice 7: Data lakes
Data ends up in a lake
Lots of different types of data
Usually the end of a data flow
Less need for performance
Scale considerations are lower
e.g. RDBMS, Logging, Analytics
Medium/Twitter: @PaulDJohnston
Practice 7: Changing data flows
Easier to reroute a data flow
Than to dam a lake
Events allow for flexible data structures
Rigidity makes rerouting harder
Applications always change, and this allows
for it
Medium/Twitter: @PaulDJohnston
Practice 7: Data flows
Your application
Is more about the
flows
than it
is about the
lakes
Application
Medium/Twitter: @PaulDJohnston
Practice 7:
Data flows not data lakes
Application
Medium/Twitter: @PaulDJohnston
Practice 8:
Just coding for scale is a mistake, you
have to consider how it scales
Medium/Twitter: @PaulDJohnston
Just because the
Function
scales does not mean the
Application
will scale
Medium/Twitter: @PaulDJohnston
What are upstream and downstream effects?
Medium/Twitter: @PaulDJohnston
Practice 8: Scale all the things
Your application is more than just functions
What are your application dependencies?
Data stores?
Third Party Services?
+ ? + Scale = ?
Medium/Twitter: @PaulDJohnston
Practice 8:
Just coding for scale is a mistake, you
have to consider how it scales
+ ? + Scale = ?
Medium/Twitter: @PaulDJohnston
Quick Point:
These are “Best Practices”
not “Only Practices”*
*know the practices so that you can understand when to break them
Medium/Twitter: @PaulDJohnston
Practice 1:
Each Function should do
only one thing
FunctionFunctionFunction
Medium/Twitter: @PaulDJohnston
Practice 2:
Functions don’t call other functions
FunctionFunction
⚡
Medium/Twitter: @PaulDJohnston
Practice 3:
Use as few libraries in your functions as
possible (preferably zero)
Start new
container
Bootstrap the
runtime
Start your
code
Download your
code
Medium/Twitter: @PaulDJohnston
Practice 4:
Avoid using connection based services
e.g. RDBMS
Managed Service Interface
Medium/Twitter: @PaulDJohnston
Practice 5:
One function per route (if using HTTP)
GET /
POST /posts
Fn 1
Fn 2
Medium/Twitter: @PaulDJohnston
Practice 6:
Learn to use messages and queues
(async FTW)
⚡
{
“Data”:
{
“a”: [
...
Medium/Twitter: @PaulDJohnston
Practice 7:
Data flows not data lakes
Application
Medium/Twitter: @PaulDJohnston
Practice 8:
Just coding for scale is a mistake, you
have to consider how it scales
+ ? + Scale = ?
Medium/Twitter: @PaulDJohnston
bit.ly/serverlessbestpractices
Medium/Twitter: @PaulDJohnston
Paul Johnston
Experienced Interim CTO and Serverless
Consultant - linkedin.com/in/padajo
C-Level Consulting
Introducing and Moving to Serverless
Building Teams
Cloud Agnostic
Contact: paul@roundaboutlabs.com or
Twitter/Medium @PaulDJohnston
Medium/Twitter: @PaulDJohnston
Serverless Best Practices
Paul Johnston
Opinionated Serverless Person
“Serverless all the things”
Medium/Twitter: @PaulDJohnston
Serverless Computing London November 2018

More Related Content

Similar to Serverless Best Practices - Serverless Computing London

Designing a Scalable Twitter - Patterns for Designing Scalable Real-Time Web ...
Designing a Scalable Twitter - Patterns for Designing Scalable Real-Time Web ...Designing a Scalable Twitter - Patterns for Designing Scalable Real-Time Web ...
Designing a Scalable Twitter - Patterns for Designing Scalable Real-Time Web ...Nati Shalom
 
RSS feeds using Millennium data
RSS feeds using Millennium dataRSS feeds using Millennium data
RSS feeds using Millennium dataAndrew Preater
 
Personium mydata2016 0902
Personium mydata2016 0902Personium mydata2016 0902
Personium mydata2016 0902暁生 下野
 
Jubatus talk at HadoopSummit 2013
Jubatus talk at HadoopSummit 2013Jubatus talk at HadoopSummit 2013
Jubatus talk at HadoopSummit 2013Preferred Networks
 
Large Scale Processing with Django
Large Scale Processing with DjangoLarge Scale Processing with Django
Large Scale Processing with DjangoUdi Bauman
 
Making awesome apps
Making awesome appsMaking awesome apps
Making awesome appsDroidConTLV
 
香港六合彩
香港六合彩香港六合彩
香港六合彩uliuqd
 
Oop2018 tutorial-stal-mo2-io t-arduino-en
Oop2018 tutorial-stal-mo2-io t-arduino-enOop2018 tutorial-stal-mo2-io t-arduino-en
Oop2018 tutorial-stal-mo2-io t-arduino-enMichael Stal
 
LatJUG. Google App Engine
LatJUG. Google App EngineLatJUG. Google App Engine
LatJUG. Google App Enginedenis Udod
 
Scaling Streaming - Concepts, Research, Goals
Scaling Streaming - Concepts, Research, GoalsScaling Streaming - Concepts, Research, Goals
Scaling Streaming - Concepts, Research, Goalskamaelian
 
Dc ch02 : protocol architecture
Dc ch02 : protocol architectureDc ch02 : protocol architecture
Dc ch02 : protocol architectureSyaiful Ahdan
 
Efficient data transfer in Android
Efficient data transfer in AndroidEfficient data transfer in Android
Efficient data transfer in AndroidCotap Engineering
 
Better Functional Design through TDD
Better Functional Design through TDDBetter Functional Design through TDD
Better Functional Design through TDDPhil Calçado
 
Micro Processors Present Technology and Up gradations Required
Micro Processors Present Technology and Up gradations RequiredMicro Processors Present Technology and Up gradations Required
Micro Processors Present Technology and Up gradations Requiredijtsrd
 
IRJET - Automation in Python using Speech Recognition
IRJET -  	  Automation in Python using Speech RecognitionIRJET -  	  Automation in Python using Speech Recognition
IRJET - Automation in Python using Speech RecognitionIRJET Journal
 
Streaming 4 billion Messages per day. Lessons Learned.
Streaming 4 billion Messages per day. Lessons Learned.Streaming 4 billion Messages per day. Lessons Learned.
Streaming 4 billion Messages per day. Lessons Learned.Angelos Petheriotis
 

Similar to Serverless Best Practices - Serverless Computing London (20)

Designing a Scalable Twitter - Patterns for Designing Scalable Real-Time Web ...
Designing a Scalable Twitter - Patterns for Designing Scalable Real-Time Web ...Designing a Scalable Twitter - Patterns for Designing Scalable Real-Time Web ...
Designing a Scalable Twitter - Patterns for Designing Scalable Real-Time Web ...
 
RSS feeds using Millennium data
RSS feeds using Millennium dataRSS feeds using Millennium data
RSS feeds using Millennium data
 
Personium mydata2016 0902
Personium mydata2016 0902Personium mydata2016 0902
Personium mydata2016 0902
 
amaha internet course
amaha internet courseamaha internet course
amaha internet course
 
Jubatus talk at HadoopSummit 2013
Jubatus talk at HadoopSummit 2013Jubatus talk at HadoopSummit 2013
Jubatus talk at HadoopSummit 2013
 
Large Scale Processing with Django
Large Scale Processing with DjangoLarge Scale Processing with Django
Large Scale Processing with Django
 
Making awesome apps
Making awesome appsMaking awesome apps
Making awesome apps
 
香港六合彩
香港六合彩香港六合彩
香港六合彩
 
Oop2018 tutorial-stal-mo2-io t-arduino-en
Oop2018 tutorial-stal-mo2-io t-arduino-enOop2018 tutorial-stal-mo2-io t-arduino-en
Oop2018 tutorial-stal-mo2-io t-arduino-en
 
LatJUG. Google App Engine
LatJUG. Google App EngineLatJUG. Google App Engine
LatJUG. Google App Engine
 
Scaling Streaming - Concepts, Research, Goals
Scaling Streaming - Concepts, Research, GoalsScaling Streaming - Concepts, Research, Goals
Scaling Streaming - Concepts, Research, Goals
 
Dc ch02 : protocol architecture
Dc ch02 : protocol architectureDc ch02 : protocol architecture
Dc ch02 : protocol architecture
 
Introduction to SDshare
Introduction to SDshareIntroduction to SDshare
Introduction to SDshare
 
HHS_TOC_Glossary EMERSON EDUARDO RODRIGUES
HHS_TOC_Glossary EMERSON EDUARDO RODRIGUESHHS_TOC_Glossary EMERSON EDUARDO RODRIGUES
HHS_TOC_Glossary EMERSON EDUARDO RODRIGUES
 
Efficient data transfer in Android
Efficient data transfer in AndroidEfficient data transfer in Android
Efficient data transfer in Android
 
Better Functional Design through TDD
Better Functional Design through TDDBetter Functional Design through TDD
Better Functional Design through TDD
 
Monitoring in 2017 - TIAD Camp Docker
Monitoring in 2017 - TIAD Camp DockerMonitoring in 2017 - TIAD Camp Docker
Monitoring in 2017 - TIAD Camp Docker
 
Micro Processors Present Technology and Up gradations Required
Micro Processors Present Technology and Up gradations RequiredMicro Processors Present Technology and Up gradations Required
Micro Processors Present Technology and Up gradations Required
 
IRJET - Automation in Python using Speech Recognition
IRJET -  	  Automation in Python using Speech RecognitionIRJET -  	  Automation in Python using Speech Recognition
IRJET - Automation in Python using Speech Recognition
 
Streaming 4 billion Messages per day. Lessons Learned.
Streaming 4 billion Messages per day. Lessons Learned.Streaming 4 billion Messages per day. Lessons Learned.
Streaming 4 billion Messages per day. Lessons Learned.
 

Recently uploaded

Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024SkyPlanner
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemAsko Soukka
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8DianaGray10
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-pyJamie (Taka) Wang
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...Aggregage
 
IEEE Computer Society’s Strategic Activities and Products including SWEBOK Guide
IEEE Computer Society’s Strategic Activities and Products including SWEBOK GuideIEEE Computer Society’s Strategic Activities and Products including SWEBOK Guide
IEEE Computer Society’s Strategic Activities and Products including SWEBOK GuideHironori Washizaki
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPathCommunity
 
100+ ChatGPT Prompts for SEO Optimization
100+ ChatGPT Prompts for SEO Optimization100+ ChatGPT Prompts for SEO Optimization
100+ ChatGPT Prompts for SEO Optimizationarrow10202532yuvraj
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsSafe Software
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Commit University
 
UiPath Clipboard AI: "A TIME Magazine Best Invention of 2023 Unveiled"
UiPath Clipboard AI: "A TIME Magazine Best Invention of 2023 Unveiled"UiPath Clipboard AI: "A TIME Magazine Best Invention of 2023 Unveiled"
UiPath Clipboard AI: "A TIME Magazine Best Invention of 2023 Unveiled"DianaGray10
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfAijun Zhang
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationIES VE
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1DianaGray10
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfDianaGray10
 
Governance in SharePoint Premium:What's in the box?
Governance in SharePoint Premium:What's in the box?Governance in SharePoint Premium:What's in the box?
Governance in SharePoint Premium:What's in the box?Juan Carlos Gonzalez
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Brian Pichman
 
Valere | Digital Solutions & AI Transformation Portfolio | 2024
Valere | Digital Solutions & AI Transformation Portfolio | 2024Valere | Digital Solutions & AI Transformation Portfolio | 2024
Valere | Digital Solutions & AI Transformation Portfolio | 2024Alexander Turgeon
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostMatt Ray
 

Recently uploaded (20)

Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystem
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-py
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
 
IEEE Computer Society’s Strategic Activities and Products including SWEBOK Guide
IEEE Computer Society’s Strategic Activities and Products including SWEBOK GuideIEEE Computer Society’s Strategic Activities and Products including SWEBOK Guide
IEEE Computer Society’s Strategic Activities and Products including SWEBOK Guide
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation Developers
 
100+ ChatGPT Prompts for SEO Optimization
100+ ChatGPT Prompts for SEO Optimization100+ ChatGPT Prompts for SEO Optimization
100+ ChatGPT Prompts for SEO Optimization
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
 
UiPath Clipboard AI: "A TIME Magazine Best Invention of 2023 Unveiled"
UiPath Clipboard AI: "A TIME Magazine Best Invention of 2023 Unveiled"UiPath Clipboard AI: "A TIME Magazine Best Invention of 2023 Unveiled"
UiPath Clipboard AI: "A TIME Magazine Best Invention of 2023 Unveiled"
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdf
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
 
Governance in SharePoint Premium:What's in the box?
Governance in SharePoint Premium:What's in the box?Governance in SharePoint Premium:What's in the box?
Governance in SharePoint Premium:What's in the box?
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )
 
201610817 - edge part1
201610817 - edge part1201610817 - edge part1
201610817 - edge part1
 
Valere | Digital Solutions & AI Transformation Portfolio | 2024
Valere | Digital Solutions & AI Transformation Portfolio | 2024Valere | Digital Solutions & AI Transformation Portfolio | 2024
Valere | Digital Solutions & AI Transformation Portfolio | 2024
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
 

Serverless Best Practices - Serverless Computing London