SlideShare una empresa de Scribd logo
1 de 265
Descargar para leer sin conexión
REAL WORLD SERVERLESS
Going Lambda without being burned too much
@Koenighotze
DAVID SCHMITZ
SENACOR TECHNOLOGIES
@KOENIGHOTZE
@Koenighotze
4 QUESTIONS
@Koenighotze
MICROSERVICES
CONTAINERS
CLOUD
SERVERLESS
@Koenighotze
VENDOR?
CLOUD GURU?
@Koenighotze
@Koenighotze
THINGS ARE MOVING
FAST
@Koenighotze
EXPECTATION
MANAGEMENT
@Koenighotze
–Me
“Some of the things we learned,
while moving an application
(partially) to AWS Lambda.”
@Koenighotze
ASP.NET
MSSQL
EMPLOYEE
ADMINISTRATION
PLATFORM
@Koenighotze
TARGET ARCHITECTURE
@Koenighotze
Users Projects Budget
ASP.NET
MSSQL
@Koenighotze
WORK IN PROGRESS!
@Koenighotze
Some basics
Tools and stuff
Architecture
Security
Housekeeping
Operations
@Koenighotze
@Koenighotze
AWS LAMBDA 1-0-1
@Koenighotze
Ye olde days
@Koenighotze
@Koenighotze
INFRASTRUCTURE AS A
SERVICE
@Koenighotze
@Koenighotze
PLATFORM AS A SERVICE
@Koenighotze
@Koenighotze
CONTAINERS
@Koenighotze
@Koenighotze
Provisioning
Scaling
Monitoring
State
Security
Deploying
…
@Koenighotze
DESIGNING DISTRIBUTED
SYSTEMS IS DIFFICULT
@Koenighotze
HOW TO DRAW AN OWL?
@Koenighotze
1. Draw some circles 2. Draw the rest of the damn owl
@Koenighotze
@Koenighotze
@Koenighotze
@Koenighotze
@Koenighotze
ENTER SERVERLESS
@Koenighotze
SO WHAT IS
SERVERLESS?
@Koenighotze
Serverless computing allows you to build and
run applications and services without thinking
about servers. Serverless applications don't
require you to provision, scale, and manage any
servers…
Building serverless applications means that
your developers can focus on their core product
instead of worrying about managing and
operating servers or runtimes…
@Koenighotze
Serverless computing allows you to build and
run applications and services without thinking
about servers. Serverless applications don't
require you to provision, scale, and manage any
servers…
Building serverless applications means that
your developers can focus on their core product
instead of worrying about managing and
operating servers or runtimes…
@Koenighotze
FOCUS ON WHAT MATTERS
@Koenighotze
@Koenighotze
@Koenighotze
BASIC VOCABULARY
@Koenighotze
LAMBDA
-
SERVERLESS COMPUTE
@Koenighotze
S3
-
DROPBOX
@Koenighotze
IAM
-
SECURITY
@Koenighotze
CLOUDFORMATION
-
PROVISIONING
@Koenighotze
WHAT IS A
“LAMBDA FUNCTION”?
@Koenighotze
Event driven
Stateless
Asynchronous
Single purpose
@Koenighotze
@Koenighotze
@Koenighotze
EXECUTION MODEL
@Koenighotze
@Koenighotze
@Koenighotze
S3
@Koenighotze
@Koenighotze
@Koenighotze
@Koenighotze
@Koenighotze
Some time later…
@Koenighotze
@Koenighotze
SCALE BY REQUEST
@Koenighotze
@Koenighotze
@Koenighotze
NO OVERPROVISION
NO UNDERPROVISION
@Koenighotze
CHARGE BY
EXECUTION
@Koenighotze
FRAMEWORKS, RUNTIMES
AND TOOLS
@Koenighotze
@Koenighotze
AWS LAMBDA MAY NEED
NO SPECIAL FRAMEWORK
@Koenighotze
VENDOR LOCK-IN
@Koenighotze
LOG4J
VS.
COMMONS-LOGGING
@Koenighotze
SEPARATE HANDLER
AND BUSINESS CODE
@Koenighotze
Handler
create Order
forward Order
cancel Order
@Koenighotze
Handler
create Order
forward Order
cancel Order
Vendor
agnostic
Vendor
specific
Anticorruptionlayer
Pure domain logic
@Koenighotze
YOU ABSOLUTELY NEED
TOOLING FOR
DEPLOYMENT
@Koenighotze
AVOID UI DEPLOYMENTS
@Koenighotze
@Koenighotze
@Koenighotze
AUTOMATION IS KEY
@Koenighotze
$ zip index.zip index.js node_modules
$ aws lambda create-function 
--function-name HelloWorld 
--runtime nodejs6.10 
--role arn:aws:iam::…:… 
--handler index.handler 
--zip-file fileb://index.zip
@Koenighotze
TAGGING, UPDATE,
RESOURCES, ROLES…
@Koenighotze
$ claudia create 
--region eu-west-1 
--deploy-proxy-api 
--handler index.handler 
--name HelloWorld
@Koenighotze
STATE, ROLLBACK,
ERROR HANDLING…
@Koenighotze
DECLARATIVE
DEPLOYMENTS
@Koenighotze
@Koenighotze
AWS SERVERLESS
APPLICATION
MODEL
@Koenighotze
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: Hello World
Resources:
HelloWorld:
Type: AWS::Serverless::Function
Properties:
Timeout: 5
Runtime: nodejs6.10
Handler: index.handler
CodeUri: .
@Koenighotze
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: Hello World
Resources:
HelloWorld:
Type: AWS::Serverless::Function
Properties:
Timeout: 5
Runtime: nodejs6.10
Handler: index.handler
CodeUri: .
@Koenighotze
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: Hello World
Resources:
HelloWorld:
Type: AWS::Serverless::Function
Properties:
Timeout: 5
Runtime: nodejs6.10
Handler: index.handler
CodeUri: .
@Koenighotze
$ aws cloudformation package 
--template-file sam.yaml 
--s3-bucket somebucket 
> build/packaged.yaml
$ aws cloudformation deploy 
--template-file build/packaged.yaml 
--stack-name voxxed-demo 
--capabilities CAPABILITY_NAMED_IAM
@Koenighotze
$ aws cloudformation package 
--template-file sam.yaml 
--s3-bucket somebucket 
> build/packaged.yaml
$ aws cloudformation deploy 
--template-file build/packaged.yaml 
--stack-name voxxed-demo 
--capabilities CAPABILITY_NAMED_IAM
@Koenighotze
$ aws cloudformation package 
--template-file sam.yaml 
--s3-bucket somebucket 
> build/packaged.yaml
$ aws cloudformation deploy 
--template-file build/packaged.yaml 
--stack-name voxxed-demo 
--capabilities CAPABILITY_NAMED_IAM
@Koenighotze
$ aws cloudformation package 
--template-file sam.yaml 
--s3-bucket somebucket 
> build/packaged.yaml
$ aws cloudformation deploy 
--template-file build/packaged.yaml 
--stack-name voxxed-demo 
--capabilities CAPABILITY_NAMED_IAM
@Koenighotze
$ aws cloudformation package 
--template-file sam.yaml 
--s3-bucket somebucket 
> build/packaged.yaml
$ aws cloudformation deploy 
--template-file build/packaged.yaml 
--stack-name voxxed-demo 
--capabilities CAPABILITY_NAMED_IAM
@Koenighotze
ALL TOOLS HAVE
DIFFERENT DRAWBACKS
@Koenighotze
DEBUGGING
ROLLBACK
STATE
FEATURE COMPLETENESS
@Koenighotze
CLEANLINESS IS NEXT
TO GODLINESS
@Koenighotze
@Koenighotze
TEST, TEST, TEST
@Koenighotze
INTEGRATION TEST
RIGHT FROM THE START
@Koenighotze
SAM LOCAL
@Koenighotze
@Koenighotze
@Koenighotze
YOUR TESTING TOOLS
SHOULD BE AS
MATURE AS YOUR
PRODUCTION TOOLS
@Koenighotze
TESTING LAMBDA FOR
REAL IS JUST TOO EASY
@Koenighotze
aws lambda invoke 
--function-name ReceiptUpload 
--region eu-central-1 
--payload file://expensive_receipt.json 
out.json
@Koenighotze
aws lambda invoke 
--function-name ReceiptUpload 
--region eu-central-1 
--payload file://expensive_receipt.json 
out.json
@Koenighotze
PROTECT PRODUCTION
@Koenighotze
STAGING IS A THING
@Koenighotze
@Koenighotze
Parameters:
…
Stage:
Type: String
Default: DEV
ForwardBilling:
Type: AWS::Serverless::Function
Properties:
FunctionName: !Sub ForwardBilling-${Stage}
@Koenighotze
Parameters:
…
Stage:
Type: String
Default: DEV
ForwardBilling:
Type: AWS::Serverless::Function
Properties:
FunctionName: !Sub ForwardBilling-${Stage}
@Koenighotze
aws cloudformation deploy
--template-file …
--stack-name …
--parameter-overrides Stage=PROD
@Koenighotze
aws cloudformation deploy
--template-file …
--stack-name …
--parameter-overrides Stage=PROD
@Koenighotze
PROTECT STAGES
WITH ACCOUNTS
@Koenighotze
@Koenighotze
@Koenighotze
aws cloudformation deploy
…
--parameter-overrides Stage=PROD
--profile ACCOUNT_A
@Koenighotze
aws cloudformation deploy
…
--parameter-overrides Stage=PROD
--profile ACCOUNT_A
@Koenighotze
CLEANUP UNUSED
LAMBDAS
@Koenighotze
@Koenighotze
HOW DO YOU
REASON ABOUT
CLOUD
ARCHITECTURES?
@Koenighotze
HOW TO KNOW WHAT
TO CLEANUP?
@Koenighotze
PYTHON LIST_LAMBDAS.PY 
—INACTIVE-DAYS-FILTER 10
https:!//github.com/epsagon/list-lambdas
@Koenighotze
@Koenighotze
@Koenighotze
@Koenighotze
REDUCE ATTACK SURFACE
REDUCE COGNITIVE
CLUTTER
STAY IN CONTROL
@Koenighotze
HOT AND COLD
@Koenighotze
COLD START HAPPENS
ONCE, RIGHT?
@Koenighotze
Users
@Koenighotze
UsersCold
COLD
START
@Koenighotze
UsersCold
@Koenighotze
UsersCold
HOT
START
@Koenighotze
SCALE BY REQUEST
@Koenighotze
UsersCold
@Koenighotze
@Koenighotze
COLD START WILL HAPPEN
ONCE FOR EACH
CONCURRENT EXECUTION
OF YOUR FUNCTION
@Koenighotze
WHAT CAN YOU DO?
@Koenighotze
@Koenighotze
NO SLA
@Koenighotze
NO HARD DETAILS
JUST GUIDELINES
@Koenighotze
PACKAGE SIZE?
@Koenighotze
@Koenighotze
NO OBVIOUS
CORRELATION!?
@Koenighotze
MEMORY SETTINGS?
@Koenighotze
@Koenighotze
/AWS/LAMBDA/…REPORT
REQUESTID:
DURATION: 3208.99 MS
BILLED DURATION: 3300 MS
MEMORY SIZE: 128 MB
MAX MEMORY USED: 59 MB
@Koenighotze
/AWS/LAMBDA/…REPORT
REQUESTID:
DURATION: 3208.99 MS
BILLED DURATION: 3300 MS
MEMORY SIZE: 128 MB
MAX MEMORY USED: 59 MB
@Koenighotze
SOME CORRELATION
@Koenighotze
WARMUP-PING?
@Koenighotze
@Koenighotze
AWS WILL KILL EVEN
WARM LAMBDAS AFTER A
CERTAIN TIME FRAME
@Koenighotze
MEASURE
CHANGE
MEASURE
@Koenighotze
MEASURE PERCEIVED
EXTERNAL PERFORMANCE
@Koenighotze
MEASURE USER
EXPERIENCE
@Koenighotze
DESIGN WITH
LATENCY IN MIND
@Koenighotze
TIGHT SECURITY
@Koenighotze
SERVERLESS IS GOOD
FOR SECURITY
@Koenighotze
NO LONG LIVED SERVERS
OR MANUAL PATCH
SCHEDULES
@Koenighotze
…THAT YOU NEED TO
HANDLE
@Koenighotze
…BUT AMAZON DOES
@Koenighotze
HOW DO YOU DEPLOY A WEB
APPLICATION FIREWALL…
…WITHOUT A WEB
…WITHOUT AN APPLICATION
…WITHOUT A SERVER
@Koenighotze
NEW OR ADAPTED
SECURE CODING
PATTERNS NEEDED
@Koenighotze
INCREASED ATTACK
SURFACE
@Koenighotze
@Koenighotze
IMAGINE EVERYBODY
WANTS TO HARM YOU
@Koenighotze
@Koenighotze
EVENT INJECTION
@Koenighotze
@Koenighotze
Validation
Magic
@Koenighotze
CLASSIC LAYERED CAKE
ARCHITECTURE DOES NOT
APPLY TO SERVERLESS
@Koenighotze
NEVER TRUST YOUR
CALLER
@Koenighotze
const Joi = require('joi')
const eventSchema = {
'lambdaName': Joi.string().required(),
'invokationCount': Joi.number().required(),
'dryRun': Joi.boolean().default(true)
}
exports.handler = (event, context, callback) => {
const { error, value } = Joi.validate(event, eventSchema)
if (error) {
return callback(new Error('Cannot parse event'))
}
...doSomethingWithValue()
}
@Koenighotze
const Joi = require('joi')
const eventSchema = {
'lambdaName': Joi.string().required(),
'invokationCount': Joi.number().required(),
'dryRun': Joi.boolean().default(true)
}
exports.handler = (event, context, callback) => {
const { error, value } = Joi.validate(event, eventSchema)
if (error) {
return callback(new Error('Cannot parse event'))
}
...doSomethingWithValue()
}
@Koenighotze
const Joi = require('joi')
const eventSchema = {
'lambdaName': Joi.string().required(),
'invokationCount': Joi.number().required(),
'dryRun': Joi.boolean().default(true)
}
exports.handler = (event, context, callback) => {
const { error, value } = Joi.validate(event, eventSchema)
if (error) {
return callback(new Error('Cannot parse event'))
}
...doSomethingWithValue()
}
@Koenighotze
BILLING ATTACK
@Koenighotze
@Koenighotze
SECURITY IS LIKE CSS
NO ONE DELETES RULES
YOU ONLY ADD RULES
@Koenighotze
PRINCIPLE OF
LEAST PRIVILEGES
@Koenighotze
BEWARE CRAPPY
CODE EXAMPLES
@Koenighotze
"Statement": [{
"Effect": "Allow",
"Action": [
“s3:*",
],
"Resource": [
“arn:aws:s3:::*”
]
}, …
@Koenighotze
"Statement": [{
"Effect": "Allow",
"Action": [
"s3:*",
],
"Resource": [
"arn:aws:s3:::*"
]
}, …
@Koenighotze
"Statement": [{
"Effect": "Allow",
"Action": [
“s3:*",
],
"Resource": [
“arn:aws:s3:::senacor/fis/orders/*”
]
}, …
@Koenighotze
"Statement": [{
"Effect": "Allow",
"Action": [
"s3:GetObject"
],
"Resource": [
“arn:aws:s3:::senacor/fis/orders/*”
]
}, …
@Koenighotze
"Statement": [{
"Effect": "Allow",
"Action": [
"s3:GetObject"
],
"Resource": [
“arn:aws:s3:::senacor/fis/orders/*”
]
}, …
@Koenighotze
@Koenighotze
DO NOT SHARE
POLICIES
@Koenighotze
@Koenighotze
NO EXCUSES WITH
PROPER TOOLING
@Koenighotze
Resources:
ForwardBillingRole:
Type: "AWS::IAM::Role"
Properties:
RoleName: !Sub "ForwardBillingRole-${Stage}"
AssumeRolePolicyDocument: ...
ManagedPolicyArns: ...
Policies:
-
PolicyName: !Sub "StoreBillingInS3Policy-${Stage}"
PolicyDocument: ...
ForwardBilling:
Type: AWS::Serverless::Function
Properties:
Role: !GetAtt ForwardBillingRole.Arn
@Koenighotze
Resources:
ForwardBillingRole:
Type: "AWS::IAM::Role"
Properties:
RoleName: !Sub "ForwardBillingRole-${Stage}"
AssumeRolePolicyDocument: ...
ManagedPolicyArns: ...
Policies:
-
PolicyName: !Sub "StoreBillingInS3Policy-${Stage}"
PolicyDocument: ...
ForwardBilling:
Type: AWS::Serverless::Function
Properties:
Role: !GetAtt ForwardBillingRole.Arn
@Koenighotze
Resources:
ForwardBillingRole:
Type: "AWS::IAM::Role"
Properties:
RoleName: !Sub "ForwardBillingRole-${Stage}"
AssumeRolePolicyDocument: ...
ManagedPolicyArns: ...
Policies:
-
PolicyName: !Sub "StoreBillingInS3Policy-${Stage}"
PolicyDocument: ...
ForwardBilling:
Type: AWS::Serverless::Function
Properties:
Role: !GetAtt ForwardBillingRole.Arn
@Koenighotze
Resources:
ForwardBillingRole:
Type: "AWS::IAM::Role"
Properties:
RoleName: !Sub "ForwardBillingRole-${Stage}"
AssumeRolePolicyDocument: ...
ManagedPolicyArns: ...
Policies:
-
PolicyName: !Sub "StoreBillingInS3Policy-${Stage}"
PolicyDocument: ...
ForwardBilling:
Type: AWS::Serverless::Function
Properties:
Role: !GetAtt ForwardBillingRole.Arn
@Koenighotze
USE A SECURITY
WATCHDOG
@Koenighotze
YOUR FUNCTION MAY BE
SMALL, BUT YOUR
DEPENDENCIES MAY NOT
@Koenighotze
$ du -s src/
8.0K src/
$ ls -lh lambda.zip
7.6M Mar 1 07:13 lambda.zip
@Koenighotze
$ du -s src/
8.0K src/
$ ls -lh lambda.zip
7.6M Mar 1 07:13 lambda.zip
@Koenighotze
@Koenighotze
@Koenighotze
@Koenighotze
@Koenighotze
SECURITY MUST BE PART
OF DEVELOPMENT RIGHT
FROM THE START
@Koenighotze
YOU BUILD IT
YOU RUN IT
@Koenighotze
YOU BUILD IT
YOU SECURE IT
AND THEN RUN IT
@Koenighotze
NEW ARCHITECTURES
NEW TRAPS
@Koenighotze
PROTECT YOUR LEGACY
@Koenighotze
BEWARE OF KILLING
YOUR VINTAGE BACKENDS
@Koenighotze
LAMBDA SCALES BY
REQUEST
@Koenighotze
…YOUR BACKEND
PROBABLY DOES NOT
@Koenighotze
“Billings are
submitted using
our legacy API”
@Koenighotze
@Koenighotze
…AND AT THE END OF A
MONTH…
@Koenighotze
@KoenighotzeGrigoriy Myasoyedov.1897
Please stop
this lambda
non-sense
But the HYPE!
@Koenighotze
ALWAYS USE
CONCURRENCY LIMITS
@Koenighotze
aws lambda put-function-concurrency
--function-name <NAME>
--reserved-concurrent-executions <N>
@Koenighotze
aws lambda put-function-concurrency
--function-name <NAME>
--reserved-concurrent-executions <N>
@Koenighotze
KEEP AN EYE ON METRIC
FOR CONCURRENCY FAILURES
@Koenighotze
BE AWARE BOTTLENECKS
TEND TO MOVE UPWARDS
@Koenighotze
PREFER ASYNCHRONOUS
INTEGRATION
@Koenighotze
ATTACK OF SELF DENIAL
@Koenighotze
CONCURRENCY IS
LIMITED
@Koenighotze
BE AWARE OF
PER ACCOUNT LIMITS
@Koenighotze
@Koenighotze
@Koenighotze
@Koenighotze
Projects BudgetUsers
@Koenighotze
Projects BudgetUsers
@Koenighotze
Projects BudgetUsers
@Koenighotze
Projects BudgetUsers
@Koenighotze
USE MULTIPLE ACCOUNTS
@Koenighotze
SPLIT PER BOUNDED
CONTEXT
@Koenighotze
Projects BudgetUsers
@Koenighotze
Projects
Project Account
Users
Users Account
Budget
Budget Account
@Koenighotze
PATTERNS, SHARING,
DEPENDENCIES
@Koenighotze
ONE LAMBDA WITH DISPATCH
MULTI LAMBDA - SHARED ZIP
MULTI LAMBDA - SHARED NOTHING
@Koenighotze
ONE LAMBDA WITH
DISPATCH
@Koenighotze
create Order
forward Order
cancel Order
Order ZIP
@Koenighotze
create Order
forward Order
cancel Order
Order ZIP
@Koenighotze
EASE OF TRANSITION
FLEXIBILITY
SECURITY
SIZING
DEPLOYMENT
COMPLEXITY
@Koenighotze
MULTI LAMBDA
-
SHARED ZIP
@Koenighotze
create Order
forward Order
cancel Order
Order ZIP
@Koenighotze
@Koenighotze
EASE OF TRANSITION
FLEXIBILITY
SECURITY
SIZING
DEPLOYMENT
COMPLEXITY
@Koenighotze
MULTI LAMBDA
-
SHARED NOTHING
@Koenighotze
create Order
forward Order
cancel Order
Order ZIP
@Koenighotze
Create
Order ZIP
Forward
Order ZIP
Cancel
Order ZIP
cancel Orderforward Ordercreate Order
@Koenighotze
cancel Orderforward Ordercreate Order
@Koenighotze
EASE OF TRANSITION
FLEXIBILITY
SECURITY
SIZING
DEPLOYMENT
COMPLEXITY
@Koenighotze
@Koenighotze
@Koenighotze
@Koenighotze
SUMMARY
@Koenighotze
SERVERLESS HYPE TRAIN
@Koenighotze
DESIGNING DISTRIBUTED
SYSTEMS IS STILL HARD
@Koenighotze
MOSTLY DIFFERENT
CHALLENGES
@Koenighotze
YOU NEED A CLOUD-SAVVY
OPERATIONS TEAM MEMBER
@Koenighotze
DEVOPSSEC DONE RIGHT
@Koenighotze
@Koenighotze
@Koenighotze
@Koenighotze
TOOLING IS STILL
EVOLVING
@Koenighotze
NOT A SILVER BULLET
@Koenighotze
SOMETIMES A SIMPLE
VM IS ENOUGH
@Koenighotze
SERVERLESS
@Koenighotze
LESS SERVERS THAT WE
NEED TO TAKE CARE OF
THANK YOU!
FEEDBACK? COMMENTS?
QUESTIONS?
@KOENIGHOTZE

Más contenido relacionado

La actualidad más candente

Spring Boot Omakase: A Fast-Paced “Chef’s Choice” Dive into Fun and Useful To...
Spring Boot Omakase: A Fast-Paced “Chef’s Choice” Dive into Fun and Useful To...Spring Boot Omakase: A Fast-Paced “Chef’s Choice” Dive into Fun and Useful To...
Spring Boot Omakase: A Fast-Paced “Chef’s Choice” Dive into Fun and Useful To...VMware Tanzu
 
Everything-as-code. A polyglot adventure. #DevoxxPL
Everything-as-code. A polyglot adventure. #DevoxxPLEverything-as-code. A polyglot adventure. #DevoxxPL
Everything-as-code. A polyglot adventure. #DevoxxPLMario-Leander Reimer
 
Everything-as-code. Ein polyglottes Abenteuer
Everything-as-code. Ein polyglottes AbenteuerEverything-as-code. Ein polyglottes Abenteuer
Everything-as-code. Ein polyglottes AbenteuerQAware GmbH
 
You've Made Kubernetes Available to Your Developers, Now What?
You've Made Kubernetes Available to Your Developers, Now What?You've Made Kubernetes Available to Your Developers, Now What?
You've Made Kubernetes Available to Your Developers, Now What?cornelia davis
 
Scaling Gilt: from Monolithic Ruby Application to Distributed Scala Micro-Ser...
Scaling Gilt: from Monolithic Ruby Application to Distributed Scala Micro-Ser...Scaling Gilt: from Monolithic Ruby Application to Distributed Scala Micro-Ser...
Scaling Gilt: from Monolithic Ruby Application to Distributed Scala Micro-Ser...C4Media
 
What makes me to migrate entire VPC JAWS PANKRATION 2021
What makes me to migrate entire VPC JAWS PANKRATION 2021What makes me to migrate entire VPC JAWS PANKRATION 2021
What makes me to migrate entire VPC JAWS PANKRATION 2021Naomi Yamasaki
 
Reactive Microservices with Quarkus
Reactive Microservices with QuarkusReactive Microservices with Quarkus
Reactive Microservices with QuarkusNiklas Heidloff
 
How to improve lambda cold starts
How to improve lambda cold startsHow to improve lambda cold starts
How to improve lambda cold startsYan Cui
 
A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17
A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17
A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17Mario-Leander Reimer
 
Secure Architecture and Programming 101
Secure Architecture and Programming 101Secure Architecture and Programming 101
Secure Architecture and Programming 101Mario-Leander Reimer
 
DevOps and AWS - Code PaLOUsa 2017
DevOps and AWS  - Code PaLOUsa 2017DevOps and AWS  - Code PaLOUsa 2017
DevOps and AWS - Code PaLOUsa 2017James Strong
 
Jakarta Tech Talk: How to develop your first cloud-native Application with Java
Jakarta Tech Talk: How to develop your first cloud-native Application with JavaJakarta Tech Talk: How to develop your first cloud-native Application with Java
Jakarta Tech Talk: How to develop your first cloud-native Application with JavaNiklas Heidloff
 
When to use Serverless? When to use Kubernetes?
When to use Serverless? When to use Kubernetes?When to use Serverless? When to use Kubernetes?
When to use Serverless? When to use Kubernetes?Niklas Heidloff
 
Running Kubernetes in Kubernetes
Running Kubernetes in KubernetesRunning Kubernetes in Kubernetes
Running Kubernetes in KubernetesQAware GmbH
 
How to develop your first cloud-native Applications with Java - 30 Minutes
How to develop your first cloud-native Applications with Java - 30 MinutesHow to develop your first cloud-native Applications with Java - 30 Minutes
How to develop your first cloud-native Applications with Java - 30 MinutesNiklas Heidloff
 
Web is the New Mobile: Building Progressive Web Apps - Erica Stanley - Codemo...
Web is the New Mobile: Building Progressive Web Apps - Erica Stanley - Codemo...Web is the New Mobile: Building Progressive Web Apps - Erica Stanley - Codemo...
Web is the New Mobile: Building Progressive Web Apps - Erica Stanley - Codemo...Codemotion
 
Deploying Spring Boot applications with Docker (east bay cloud meetup dec 2014)
Deploying Spring Boot applications with Docker (east bay cloud meetup dec 2014)Deploying Spring Boot applications with Docker (east bay cloud meetup dec 2014)
Deploying Spring Boot applications with Docker (east bay cloud meetup dec 2014)Chris Richardson
 
Programming for the Internet of Things
Programming for the Internet of ThingsProgramming for the Internet of Things
Programming for the Internet of ThingsKinoma
 
Adapting Java for the Serverless World at JUG Barcelona
Adapting Java for the Serverless World at JUG BarcelonaAdapting Java for the Serverless World at JUG Barcelona
Adapting Java for the Serverless World at JUG BarcelonaVadym Kazulkin
 

La actualidad más candente (20)

Spring Boot Omakase: A Fast-Paced “Chef’s Choice” Dive into Fun and Useful To...
Spring Boot Omakase: A Fast-Paced “Chef’s Choice” Dive into Fun and Useful To...Spring Boot Omakase: A Fast-Paced “Chef’s Choice” Dive into Fun and Useful To...
Spring Boot Omakase: A Fast-Paced “Chef’s Choice” Dive into Fun and Useful To...
 
Everything-as-code. A polyglot adventure. #DevoxxPL
Everything-as-code. A polyglot adventure. #DevoxxPLEverything-as-code. A polyglot adventure. #DevoxxPL
Everything-as-code. A polyglot adventure. #DevoxxPL
 
Everything-as-code. Ein polyglottes Abenteuer
Everything-as-code. Ein polyglottes AbenteuerEverything-as-code. Ein polyglottes Abenteuer
Everything-as-code. Ein polyglottes Abenteuer
 
You've Made Kubernetes Available to Your Developers, Now What?
You've Made Kubernetes Available to Your Developers, Now What?You've Made Kubernetes Available to Your Developers, Now What?
You've Made Kubernetes Available to Your Developers, Now What?
 
Scaling Gilt: from Monolithic Ruby Application to Distributed Scala Micro-Ser...
Scaling Gilt: from Monolithic Ruby Application to Distributed Scala Micro-Ser...Scaling Gilt: from Monolithic Ruby Application to Distributed Scala Micro-Ser...
Scaling Gilt: from Monolithic Ruby Application to Distributed Scala Micro-Ser...
 
What makes me to migrate entire VPC JAWS PANKRATION 2021
What makes me to migrate entire VPC JAWS PANKRATION 2021What makes me to migrate entire VPC JAWS PANKRATION 2021
What makes me to migrate entire VPC JAWS PANKRATION 2021
 
Reactive Microservices with Quarkus
Reactive Microservices with QuarkusReactive Microservices with Quarkus
Reactive Microservices with Quarkus
 
How to improve lambda cold starts
How to improve lambda cold startsHow to improve lambda cold starts
How to improve lambda cold starts
 
A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17
A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17
A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17
 
Secure Architecture and Programming 101
Secure Architecture and Programming 101Secure Architecture and Programming 101
Secure Architecture and Programming 101
 
DevOps and AWS - Code PaLOUsa 2017
DevOps and AWS  - Code PaLOUsa 2017DevOps and AWS  - Code PaLOUsa 2017
DevOps and AWS - Code PaLOUsa 2017
 
Jakarta Tech Talk: How to develop your first cloud-native Application with Java
Jakarta Tech Talk: How to develop your first cloud-native Application with JavaJakarta Tech Talk: How to develop your first cloud-native Application with Java
Jakarta Tech Talk: How to develop your first cloud-native Application with Java
 
When to use Serverless? When to use Kubernetes?
When to use Serverless? When to use Kubernetes?When to use Serverless? When to use Kubernetes?
When to use Serverless? When to use Kubernetes?
 
Running Kubernetes in Kubernetes
Running Kubernetes in KubernetesRunning Kubernetes in Kubernetes
Running Kubernetes in Kubernetes
 
How to develop your first cloud-native Applications with Java - 30 Minutes
How to develop your first cloud-native Applications with Java - 30 MinutesHow to develop your first cloud-native Applications with Java - 30 Minutes
How to develop your first cloud-native Applications with Java - 30 Minutes
 
Web is the New Mobile: Building Progressive Web Apps - Erica Stanley - Codemo...
Web is the New Mobile: Building Progressive Web Apps - Erica Stanley - Codemo...Web is the New Mobile: Building Progressive Web Apps - Erica Stanley - Codemo...
Web is the New Mobile: Building Progressive Web Apps - Erica Stanley - Codemo...
 
Deploying Spring Boot applications with Docker (east bay cloud meetup dec 2014)
Deploying Spring Boot applications with Docker (east bay cloud meetup dec 2014)Deploying Spring Boot applications with Docker (east bay cloud meetup dec 2014)
Deploying Spring Boot applications with Docker (east bay cloud meetup dec 2014)
 
Programming for the Internet of Things
Programming for the Internet of ThingsProgramming for the Internet of Things
Programming for the Internet of Things
 
Docker and Devops
Docker and DevopsDocker and Devops
Docker and Devops
 
Adapting Java for the Serverless World at JUG Barcelona
Adapting Java for the Serverless World at JUG BarcelonaAdapting Java for the Serverless World at JUG Barcelona
Adapting Java for the Serverless World at JUG Barcelona
 

Similar a Real world serverless - architecture, patterns and lessons learned

Building CICD Pipelines for Serverless Applications - DevDay Austin 2017
Building CICD Pipelines for Serverless Applications - DevDay Austin 2017Building CICD Pipelines for Serverless Applications - DevDay Austin 2017
Building CICD Pipelines for Serverless Applications - DevDay Austin 2017Amazon Web Services
 
SMC305 Building CI/CD Pipelines for Serverless Applications
SMC305 Building CI/CD Pipelines for Serverless ApplicationsSMC305 Building CI/CD Pipelines for Serverless Applications
SMC305 Building CI/CD Pipelines for Serverless ApplicationsAmazon Web Services
 
Building CICD Pipelines for Serverless Applications
Building CICD Pipelines for Serverless ApplicationsBuilding CICD Pipelines for Serverless Applications
Building CICD Pipelines for Serverless ApplicationsAmazon Web Services
 
Serverless architecture with AWS Lambda (June 2016)
Serverless architecture with AWS Lambda (June 2016)Serverless architecture with AWS Lambda (June 2016)
Serverless architecture with AWS Lambda (June 2016)Julien SIMON
 
Deep Dive on Serverless App Development
Deep Dive on Serverless App DevelopmentDeep Dive on Serverless App Development
Deep Dive on Serverless App DevelopmentAmazon Web Services
 
Deep Dive On Serverless App Development
Deep Dive On Serverless App DevelopmentDeep Dive On Serverless App Development
Deep Dive On Serverless App DevelopmentAmazon Web Services
 
Raleigh DevDay 2017: Building CICD pipelines for serverless applications
Raleigh DevDay 2017: Building CICD pipelines for serverless applicationsRaleigh DevDay 2017: Building CICD pipelines for serverless applications
Raleigh DevDay 2017: Building CICD pipelines for serverless applicationsAmazon Web Services
 
Serverless Application Development with SAM
Serverless Application Development with SAMServerless Application Development with SAM
Serverless Application Development with SAMAmazon Web Services
 
muCon 2017 - 12 Factor Serverless Applications
muCon 2017 - 12 Factor Serverless ApplicationsmuCon 2017 - 12 Factor Serverless Applications
muCon 2017 - 12 Factor Serverless ApplicationsChris Munns
 
Building Serverless APIs (January 2017)
Building Serverless APIs (January 2017)Building Serverless APIs (January 2017)
Building Serverless APIs (January 2017)Julien SIMON
 
Presentation kyushu-2018
Presentation kyushu-2018Presentation kyushu-2018
Presentation kyushu-2018masahitojp
 
12 Factor Serverless Applications - Mike Morain, AWS - Cloud Native Day Tel A...
12 Factor Serverless Applications - Mike Morain, AWS - Cloud Native Day Tel A...12 Factor Serverless Applications - Mike Morain, AWS - Cloud Native Day Tel A...
12 Factor Serverless Applications - Mike Morain, AWS - Cloud Native Day Tel A...Cloud Native Day Tel Aviv
 
Building a Serverless Pipeline
Building a Serverless PipelineBuilding a Serverless Pipeline
Building a Serverless PipelineJulien SIMON
 
The Truth Behind Serverless
The Truth Behind ServerlessThe Truth Behind Serverless
The Truth Behind ServerlessDocker, Inc.
 
Serverless Development Deep Dive
Serverless Development Deep DiveServerless Development Deep Dive
Serverless Development Deep DiveAmazon Web Services
 
Building CI/CD Pipelines for Serverless Applications - SRV302 - re:Invent 2017
Building CI/CD Pipelines for Serverless Applications - SRV302 - re:Invent 2017Building CI/CD Pipelines for Serverless Applications - SRV302 - re:Invent 2017
Building CI/CD Pipelines for Serverless Applications - SRV302 - re:Invent 2017Amazon Web Services
 
Building serverless applications (April 2018)
Building serverless applications (April 2018)Building serverless applications (April 2018)
Building serverless applications (April 2018)Julien SIMON
 
AWS Summit Singapore - Lambda, Step Functions and Datadog: A Symphony
AWS Summit Singapore - Lambda, Step Functions and Datadog: A SymphonyAWS Summit Singapore - Lambda, Step Functions and Datadog: A Symphony
AWS Summit Singapore - Lambda, Step Functions and Datadog: A SymphonyAmazon Web Services
 

Similar a Real world serverless - architecture, patterns and lessons learned (20)

Building CICD Pipelines for Serverless Applications - DevDay Austin 2017
Building CICD Pipelines for Serverless Applications - DevDay Austin 2017Building CICD Pipelines for Serverless Applications - DevDay Austin 2017
Building CICD Pipelines for Serverless Applications - DevDay Austin 2017
 
SMC305 Building CI/CD Pipelines for Serverless Applications
SMC305 Building CI/CD Pipelines for Serverless ApplicationsSMC305 Building CI/CD Pipelines for Serverless Applications
SMC305 Building CI/CD Pipelines for Serverless Applications
 
Building CICD Pipelines for Serverless Applications
Building CICD Pipelines for Serverless ApplicationsBuilding CICD Pipelines for Serverless Applications
Building CICD Pipelines for Serverless Applications
 
Serverless architecture with AWS Lambda (June 2016)
Serverless architecture with AWS Lambda (June 2016)Serverless architecture with AWS Lambda (June 2016)
Serverless architecture with AWS Lambda (June 2016)
 
Deep Dive on Serverless App Development
Deep Dive on Serverless App DevelopmentDeep Dive on Serverless App Development
Deep Dive on Serverless App Development
 
Deep Dive On Serverless App Development
Deep Dive On Serverless App DevelopmentDeep Dive On Serverless App Development
Deep Dive On Serverless App Development
 
Raleigh DevDay 2017: Building CICD pipelines for serverless applications
Raleigh DevDay 2017: Building CICD pipelines for serverless applicationsRaleigh DevDay 2017: Building CICD pipelines for serverless applications
Raleigh DevDay 2017: Building CICD pipelines for serverless applications
 
Serverless Application Development with SAM
Serverless Application Development with SAMServerless Application Development with SAM
Serverless Application Development with SAM
 
muCon 2017 - 12 Factor Serverless Applications
muCon 2017 - 12 Factor Serverless ApplicationsmuCon 2017 - 12 Factor Serverless Applications
muCon 2017 - 12 Factor Serverless Applications
 
Building Serverless APIs (January 2017)
Building Serverless APIs (January 2017)Building Serverless APIs (January 2017)
Building Serverless APIs (January 2017)
 
Presentation kyushu-2018
Presentation kyushu-2018Presentation kyushu-2018
Presentation kyushu-2018
 
12 Factor Serverless Applications - Mike Morain, AWS - Cloud Native Day Tel A...
12 Factor Serverless Applications - Mike Morain, AWS - Cloud Native Day Tel A...12 Factor Serverless Applications - Mike Morain, AWS - Cloud Native Day Tel A...
12 Factor Serverless Applications - Mike Morain, AWS - Cloud Native Day Tel A...
 
Building a Serverless Pipeline
Building a Serverless PipelineBuilding a Serverless Pipeline
Building a Serverless Pipeline
 
TIAD 2016 : Building a Serverless Pipeline
TIAD 2016 : Building a Serverless PipelineTIAD 2016 : Building a Serverless Pipeline
TIAD 2016 : Building a Serverless Pipeline
 
The Truth Behind Serverless
The Truth Behind ServerlessThe Truth Behind Serverless
The Truth Behind Serverless
 
Serverless Development Deep Dive
Serverless Development Deep DiveServerless Development Deep Dive
Serverless Development Deep Dive
 
Building CI/CD Pipelines for Serverless Applications - SRV302 - re:Invent 2017
Building CI/CD Pipelines for Serverless Applications - SRV302 - re:Invent 2017Building CI/CD Pipelines for Serverless Applications - SRV302 - re:Invent 2017
Building CI/CD Pipelines for Serverless Applications - SRV302 - re:Invent 2017
 
Building serverless applications (April 2018)
Building serverless applications (April 2018)Building serverless applications (April 2018)
Building serverless applications (April 2018)
 
AWS Summit Singapore - Lambda, Step Functions and Datadog: A Symphony
AWS Summit Singapore - Lambda, Step Functions and Datadog: A SymphonyAWS Summit Singapore - Lambda, Step Functions and Datadog: A Symphony
AWS Summit Singapore - Lambda, Step Functions and Datadog: A Symphony
 
Going serverless
Going serverlessGoing serverless
Going serverless
 

Más de David Schmitz

Vavr Java User Group Rheinland
Vavr Java User Group RheinlandVavr Java User Group Rheinland
Vavr Java User Group RheinlandDavid Schmitz
 
Event Sourcing - You are doing it wrong @ Devoxx
Event Sourcing - You are doing it wrong @ DevoxxEvent Sourcing - You are doing it wrong @ Devoxx
Event Sourcing - You are doing it wrong @ DevoxxDavid Schmitz
 
10 Tipps für ein absolutes Microservice-Desaster
10 Tipps für ein absolutes Microservice-Desaster10 Tipps für ein absolutes Microservice-Desaster
10 Tipps für ein absolutes Microservice-DesasterDavid Schmitz
 
10 tips for failing at microservices @ DevExperience 2018
10 tips for failing at microservices @ DevExperience 201810 tips for failing at microservices @ DevExperience 2018
10 tips for failing at microservices @ DevExperience 2018David Schmitz
 
10 Tips for failing at microservices - badly (BedCon 2017)
10 Tips for failing at microservices - badly (BedCon 2017)10 Tips for failing at microservices - badly (BedCon 2017)
10 Tips for failing at microservices - badly (BedCon 2017)David Schmitz
 
Javaslang Talk @ Javaland 2017
Javaslang Talk @ Javaland 2017Javaslang Talk @ Javaland 2017
Javaslang Talk @ Javaland 2017David Schmitz
 
10 Tips for failing at microservices
10 Tips for failing at microservices10 Tips for failing at microservices
10 Tips for failing at microservicesDavid Schmitz
 
Elixir - Easy fun for busy developers @ Devoxx 2016
Elixir - Easy fun for busy developers @ Devoxx 2016Elixir - Easy fun for busy developers @ Devoxx 2016
Elixir - Easy fun for busy developers @ Devoxx 2016David Schmitz
 
Javaslang - Functional Sugar For Java
Javaslang - Functional Sugar For JavaJavaslang - Functional Sugar For Java
Javaslang - Functional Sugar For JavaDavid Schmitz
 
Bootstrap |> Elixir - Easy fun for busy developers
Bootstrap |> Elixir - Easy fun for busy developersBootstrap |> Elixir - Easy fun for busy developers
Bootstrap |> Elixir - Easy fun for busy developersDavid Schmitz
 
Resilience testing with Wiremock and Spock
Resilience testing with Wiremock and SpockResilience testing with Wiremock and Spock
Resilience testing with Wiremock and SpockDavid Schmitz
 
Spring boot - Getting Started
Spring boot - Getting StartedSpring boot - Getting Started
Spring boot - Getting StartedDavid Schmitz
 

Más de David Schmitz (13)

Vavr Java User Group Rheinland
Vavr Java User Group RheinlandVavr Java User Group Rheinland
Vavr Java User Group Rheinland
 
Event Sourcing - You are doing it wrong @ Devoxx
Event Sourcing - You are doing it wrong @ DevoxxEvent Sourcing - You are doing it wrong @ Devoxx
Event Sourcing - You are doing it wrong @ Devoxx
 
10 Tipps für ein absolutes Microservice-Desaster
10 Tipps für ein absolutes Microservice-Desaster10 Tipps für ein absolutes Microservice-Desaster
10 Tipps für ein absolutes Microservice-Desaster
 
10 tips for failing at microservices @ DevExperience 2018
10 tips for failing at microservices @ DevExperience 201810 tips for failing at microservices @ DevExperience 2018
10 tips for failing at microservices @ DevExperience 2018
 
10 Tips for failing at microservices - badly (BedCon 2017)
10 Tips for failing at microservices - badly (BedCon 2017)10 Tips for failing at microservices - badly (BedCon 2017)
10 Tips for failing at microservices - badly (BedCon 2017)
 
Javaslang Talk @ Javaland 2017
Javaslang Talk @ Javaland 2017Javaslang Talk @ Javaland 2017
Javaslang Talk @ Javaland 2017
 
10 Tips for failing at microservices
10 Tips for failing at microservices10 Tips for failing at microservices
10 Tips for failing at microservices
 
Elixir - Easy fun for busy developers @ Devoxx 2016
Elixir - Easy fun for busy developers @ Devoxx 2016Elixir - Easy fun for busy developers @ Devoxx 2016
Elixir - Easy fun for busy developers @ Devoxx 2016
 
Javaslang @ Devoxx
Javaslang @ DevoxxJavaslang @ Devoxx
Javaslang @ Devoxx
 
Javaslang - Functional Sugar For Java
Javaslang - Functional Sugar For JavaJavaslang - Functional Sugar For Java
Javaslang - Functional Sugar For Java
 
Bootstrap |> Elixir - Easy fun for busy developers
Bootstrap |> Elixir - Easy fun for busy developersBootstrap |> Elixir - Easy fun for busy developers
Bootstrap |> Elixir - Easy fun for busy developers
 
Resilience testing with Wiremock and Spock
Resilience testing with Wiremock and SpockResilience testing with Wiremock and Spock
Resilience testing with Wiremock and Spock
 
Spring boot - Getting Started
Spring boot - Getting StartedSpring boot - Getting Started
Spring boot - Getting Started
 

Último

Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactPECB
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Sapana Sha
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfagholdier
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...fonyou31
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDThiyagu K
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxVishalSingh1417
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...Sapna Thakur
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdfQucHHunhnh
 

Último (20)

Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 

Real world serverless - architecture, patterns and lessons learned