SlideShare ist ein Scribd-Unternehmen logo
1 von 59
Downloaden Sie, um offline zu lesen
November 2016
Slaying Monoliths with
&
Yunong Xiao
Principal Engineer
@yunongx

http://yunong.io
#netflixeverywhere
Subscriber Growth
20M
33M
46M
59M
72M
85M
2011 2012 2013 2014 2015 2016
API Evolution
So You Want to Watch Netflix
So You Want to Watch Netflix
Watch Anywhere
In The Beginning…
Java Web Server
❖ Java based web server
❖ Renders UI
❖ Accesses data
❖ Individual clients for each service
❖ Different behavior for each client
Java Web server
Route A
Route B
Route C
Route D
Route N
…
Client
Library A
Client
Library B
Client
Library C
Client
Library N
…
Backend Service
A
Backend Service
B
Backend Service
C
Backend Service
N
…
Spot the Monolith
Java Web server
Route A
Route B
Route C
Route D
Route N
…
Client
Library A
Client
Library B
Client
Library C
Client
Library N
…
Backend Service
A
Backend Service
B
Backend Service
C
Backend Service
N
…
M
O
N
O
LITH
New Devices
API Evolution
Java Web Server
Java Web server
Route A
Route B
Route C
Route D
Route N
…
Client
Library A
Client
Library B
Client
Library C
Client
Library N
…
Backend Service
A
Backend Service
B
Backend Service
C
Backend Service
N
…
M
O
N
O
LITH
REST API
REST API
Backend Service
A
Backend Service
B
Backend Service
C
Backend Service
N
…
REST API
❖ Inflexible: waiting for weeks between API changes.
❖ Inefficient: multiple round trips
❖ Complex API: hard to maintain
API Evolution
Design for Innovation
❖ Rapid innovation
❖ More AB tests and devices
❖ Customized API
❖ Performance matters
REST API
REST API
Backend Service
A
Backend Service
B
Backend Service
C
Backend Service
N
…
API.NEXT
API Server
Script A
Script B
Script C
Script D
Script N
…
Client
Library A
Client
Library B
Client
Library C
Client
Library N
…
Backend Service
A
Backend Service
B
Backend Service
C
Backend Service
N
…
M
O
N
O
LITH
Scale
❖ 42.5 billion hours watched in 2015
❖ “Massive” RPS: Billions/day
❖ 1000s of scripts active in prod, 10000s in test
❖ 100s of changes/day
❖ 100s of AB tests with many variants/test
All Scripts Live in One Process
❖ Vertical Scale: Running out of headroom
❖ Memory
❖ I/O
❖ Instance cost: Largest instances $ can buy
HappySad Together?
❖ Resource contention
❖ 1 bad script takes out everyone
❖ Conflicting dependencies
API Server
Script A
Script B
Script C
Script D
Script N
…
Client
Library A
Client
Library B
Client
Library C
Client
Library N
…
Backend Service
A
Backend Service
B
Backend Service
C
Backend Service
N
…
Developer Ergonomics
UI Engineering Systems Engineering
API Evolution
Requirements
❖ Scalability
❖ Availability
❖ Developer productivity
Runtime Scalability & Availability
❖ Process isolation
❖ Separation of data access scripts and API
servers
❖ Reduce infrastructure costs
❖ Horizontally scalable architecture
❖ Faster startup times
❖ Immutable deployment artifacts
Developer Productivity
❖ JS to rule them all
❖ Run and debug scripts locally, set
breakpoints, step through code
❖ Fast, incremental builds
❖ As closely mirrors production as possible
API Evolution
API Server
Script A
Script B
Script C
Script D
Script N
…
Client
Library A
Client
Library B
Client
Library C
Client
Library N
…
Backend Service
A
Backend Service
B
Backend Service
C
Backend Service
N
…
M
O
N
O
LITH
API Server
Script A
Script B
Script C
Script D
Script N
…
Client
Library A
Client
Library B
Client
Library C
Client
Library N
…
Backend Service
A
Backend Service
B
Backend Service
C
Backend Service
N
…
Natural Separation
UI Engineering Systems Engineering
Next Generation Data Access API
TV
iOS
Android
Windows
Browsers
Remote
Service
Layer
Search
MAP
GPS
Playback
…
Clients Node API Edge API Backend Services
Node API Platform
❖ Set of JS data access scripts
❖ Running Node.js + restify
❖ Inside of a Docker
/browse
/search
/account
/signup
Unified
Remote
Service
Layer
/bootstrap
/search
/account
/login
Unified
Remote
Service
Layer
Evolutionary Traits
❖ Runtime platform
❖ Application management
❖ Container infrastructure
❖ Developer tools
“Production”
Evolutionary Traits
❖ Runtime platform
❖ Application management
❖ Container infrastructure
❖ Developer tools
“Production”
-Twitter
“A full-stack developer is one who can
add technical debt to any layer of the
application”
Aim: Paved Path for Data Access Apps
❖ Metrics
❖ Alerts
❖ Autoscaling
❖ Load balancing
❖ Discovery
❖ Analytics
Node Runtime: Platform as a Service
❖ Production ready Node platform
❖ Just bring JS business logic
❖ Everything else is “free”
❖ No servers/infrastructure to manage
nf-iso-
properties
Properties Discovery RPC
nf-eureka-
client
reactive-
datasource
Insight
nf-atlas-
client
bunyan-
suro
(data-
pipeline)
bunyan
(logging)
nf-salp
Web serverRuntime
reactive-
socket-lb
HTTP
Client
Evolutionary Traits
❖ Runtime platform
❖ Application management
❖ Container infrastructure
❖ Developer tools
“Production”
Aim: Simple App Management
❖ Versioning
❖ Deployment
❖ Operational Insights
Versioning: Current Problems
❖ APIs change all the time
❖ 100000s different versions
❖ 1000s live in prod
Versioning: Inconsistency
api.netflix.com/tvui/1469577600021
api.netflix.com/web/6dbd361
api.netflix.com/ios/1.3.2
api.netflix.com/android/1234
Build Timestamp
Git sha
App version
Integer
Aim: Consistent Versions & Reproducible
Builds
Solution: Use SemVer
Versioning: Node API Index
Routing
api.netflix.com/tvui/1469577600021
api.netflix.com/web/6dbd361
api.netflix.com/ios/1.3.2
api.netflix.com/android/1234
Build Timestamp
Git sha
App version
Integer
Problem: API Upgrades
api.netflix.com/ios/1.3.2 1.3.2
1.3.3
Path immutably baked into client
Solution: SemVer Routing
api.netflix.com/ios/^1.0.0
1.3.2
1.3.3
1.4.0
1.6.5
nq.netflix.com
api.netflix.com/ios/1.3.2
^1.0.0
^1.0.0
1.3.2 1.3.2
Operational Insights
❖ List and view deployed apps and
routes
❖ Deployment history
❖ Metrics: RPS, latency, errors, …
❖ Analytics
Generated Dashboards
Evolutionary Traits
❖ Runtime platform
❖ Application management
❖ Container infrastructure
❖ Developer tools
“Production”
Titus: Container Management & Scheduling
Fenzo
Evolutionary Traits
❖ Runtime platform
❖ Application management
❖ Container infrastructure
❖ Developer tools
“Production”
Aim: Developer Productivity
❖ Run and debug scripts locally
❖ Fast, incremental builds
❖ Local “prod” environment
Local Development: Builds are Slow
Build deps
Commit to
SCM
Document
JS NQ
Scripts
Build
Docker
Image
Tens of Minutes
Rapid Local Development: Debug in Seconds
Developer Laptop (Mac OSX)
Virtual Box (Linux)
Running Docker Host
Docker Server
Container
Running MyApp Image MyApp Image
MyApp scripts & config
NodeQuark Image
Prana Image
NodeJS Image
Ubuntu Image
Recap: Containers
❖ Process isolation
❖ Layered dependency management
❖ Portability across environments:
prod->test
❖ Fast deployment
❖ Single deployment artifact: Docker
image
Recap: Node.js
❖ JS everywhere: client & server
❖ Performant
❖ Lightweight & efficient: run
locally
❖ Non blocking
❖ Superb ecosystem (npm)
❖ Built for the web
Recap: Node Platform
❖ Developer productivity
❖ Fast incremental builds
❖ Run, debug, and test locally
❖ Local prod like environment
❖ Scalability & availability
❖ Monolith -> micro-services
❖ Process isolation: better availability
❖ Horizontally scalable architecture
❖ Immutable deployment artifacts
Unified
Remote
Service
Layer
Backend Service
A
Backend Service
B
Backend Service
C
Backend Service
N
…
Thanks!
❖ Interested? is hiring!
❖ @yunongx

❖ yunong@netflix.com
❖ yunong.io

Weitere ähnliche Inhalte

Was ist angesagt?

Micro Service Architecture
Micro Service ArchitectureMicro Service Architecture
Micro Service Architecture
Eduards Sizovs
 

Was ist angesagt? (20)

Developing Microservices with Apache Camel, by Claus Ibsen
Developing Microservices with Apache Camel, by Claus IbsenDeveloping Microservices with Apache Camel, by Claus Ibsen
Developing Microservices with Apache Camel, by Claus Ibsen
 
Java-Jersey 到 Python-Flask 服務不中斷重構之旅
Java-Jersey 到 Python-Flask 服務不中斷重構之旅Java-Jersey 到 Python-Flask 服務不中斷重構之旅
Java-Jersey 到 Python-Flask 服務不中斷重構之旅
 
Perforce Helix Never Dies: DevOps at Bandai Namco Studios
Perforce Helix Never Dies: DevOps at Bandai Namco StudiosPerforce Helix Never Dies: DevOps at Bandai Namco Studios
Perforce Helix Never Dies: DevOps at Bandai Namco Studios
 
Automated acceptance test
Automated acceptance testAutomated acceptance test
Automated acceptance test
 
Extending Kubernetes – Admission webhooks
Extending Kubernetes – Admission webhooksExtending Kubernetes – Admission webhooks
Extending Kubernetes – Admission webhooks
 
Immutable infrastructure:觀念與實作 (建議)
Immutable infrastructure:觀念與實作 (建議)Immutable infrastructure:觀念與實作 (建議)
Immutable infrastructure:觀念與實作 (建議)
 
Using PHP Functions! (Not those functions, Google Cloud Functions)
Using PHP Functions! (Not those functions, Google Cloud Functions)Using PHP Functions! (Not those functions, Google Cloud Functions)
Using PHP Functions! (Not those functions, Google Cloud Functions)
 
Serverless in production, an experience report (CoDe-Conf)
Serverless in production, an experience report (CoDe-Conf)Serverless in production, an experience report (CoDe-Conf)
Serverless in production, an experience report (CoDe-Conf)
 
Killer Docker Workflows for Development
Killer Docker Workflows for DevelopmentKiller Docker Workflows for Development
Killer Docker Workflows for Development
 
Micro Service Architecture
Micro Service ArchitectureMicro Service Architecture
Micro Service Architecture
 
Queick: A Simple Job Queue System for Python
Queick: A Simple Job Queue System for PythonQueick: A Simple Job Queue System for Python
Queick: A Simple Job Queue System for Python
 
Alfresco Development Framework Basic
Alfresco Development Framework BasicAlfresco Development Framework Basic
Alfresco Development Framework Basic
 
Upgrading to Alfresco 6
Upgrading to Alfresco 6Upgrading to Alfresco 6
Upgrading to Alfresco 6
 
Micro service architecture - building scalable web solutions - George James -...
Micro service architecture - building scalable web solutions - George James -...Micro service architecture - building scalable web solutions - George James -...
Micro service architecture - building scalable web solutions - George James -...
 
OpenFaaS - zero serverless in 60 seconds anywhere with case-studies
OpenFaaS - zero serverless in 60 seconds anywhere with case-studiesOpenFaaS - zero serverless in 60 seconds anywhere with case-studies
OpenFaaS - zero serverless in 60 seconds anywhere with case-studies
 
Ren cao kafka connect
Ren cao   kafka connectRen cao   kafka connect
Ren cao kafka connect
 
Programmability and Automation in Data Center Networks: A talk on Hot Air Bal...
Programmability and Automation in Data Center Networks: A talk on Hot Air Bal...Programmability and Automation in Data Center Networks: A talk on Hot Air Bal...
Programmability and Automation in Data Center Networks: A talk on Hot Air Bal...
 
Kubernetes API - deep dive into the kube-apiserver
Kubernetes API - deep dive into the kube-apiserverKubernetes API - deep dive into the kube-apiserver
Kubernetes API - deep dive into the kube-apiserver
 
Alberto Maria Angelo Paro - Isomorphic programming in Scala and WebDevelopmen...
Alberto Maria Angelo Paro - Isomorphic programming in Scala and WebDevelopmen...Alberto Maria Angelo Paro - Isomorphic programming in Scala and WebDevelopmen...
Alberto Maria Angelo Paro - Isomorphic programming in Scala and WebDevelopmen...
 
Docker for Developers - PHP Detroit 2018
Docker for Developers - PHP Detroit 2018Docker for Developers - PHP Detroit 2018
Docker for Developers - PHP Detroit 2018
 

Andere mochten auch

Andere mochten auch (6)

[JSDC 2016] Codex: Conditional Modules Strike Back
[JSDC 2016] Codex: Conditional Modules Strike Back[JSDC 2016] Codex: Conditional Modules Strike Back
[JSDC 2016] Codex: Conditional Modules Strike Back
 
To Err Is Human
To Err Is HumanTo Err Is Human
To Err Is Human
 
Observable Node.js Applications - EnterpriseJS
Observable Node.js Applications - EnterpriseJSObservable Node.js Applications - EnterpriseJS
Observable Node.js Applications - EnterpriseJS
 
Netflix JavaScript Talks - Scaling A/B Testing on Netflix.com with Node.js
Netflix JavaScript Talks - Scaling A/B Testing on Netflix.com with Node.jsNetflix JavaScript Talks - Scaling A/B Testing on Netflix.com with Node.js
Netflix JavaScript Talks - Scaling A/B Testing on Netflix.com with Node.js
 
Node Interactive Debugging Node.js In Production
Node Interactive Debugging Node.js In ProductionNode Interactive Debugging Node.js In Production
Node Interactive Debugging Node.js In Production
 
Debugging node in prod
Debugging node in prodDebugging node in prod
Debugging node in prod
 

Ähnlich wie Slaying Monoliths with Node and Docker

Developing Serverless Applications on Kubernetes with Knative
Developing Serverless Applications on Kubernetes with KnativeDeveloping Serverless Applications on Kubernetes with Knative
Developing Serverless Applications on Kubernetes with Knative
VMware Tanzu
 

Ähnlich wie Slaying Monoliths with Node and Docker (20)

Delivering Developer Tools at Scale
Delivering Developer Tools at ScaleDelivering Developer Tools at Scale
Delivering Developer Tools at Scale
 
GraphQL: The Missing Link Between Frontend and Backend Devs
GraphQL: The Missing Link Between Frontend and Backend DevsGraphQL: The Missing Link Between Frontend and Backend Devs
GraphQL: The Missing Link Between Frontend and Backend Devs
 
Devoxx 2018 - Pivotal and AxonIQ - Quickstart your event driven architecture
Devoxx 2018 -  Pivotal and AxonIQ - Quickstart your event driven architectureDevoxx 2018 -  Pivotal and AxonIQ - Quickstart your event driven architecture
Devoxx 2018 - Pivotal and AxonIQ - Quickstart your event driven architecture
 
GraphQL: Enabling a new generation of API developer tools
GraphQL: Enabling a new generation of API developer toolsGraphQL: Enabling a new generation of API developer tools
GraphQL: Enabling a new generation of API developer tools
 
Spring Boot & Spring Cloud on Pivotal Application Service
Spring Boot & Spring Cloud on Pivotal Application ServiceSpring Boot & Spring Cloud on Pivotal Application Service
Spring Boot & Spring Cloud on Pivotal Application Service
 
Asp.net visual studio 2013
Asp.net   visual studio 2013Asp.net   visual studio 2013
Asp.net visual studio 2013
 
Translating Developer Productivity to Netflix Customer Delight
Translating Developer Productivity to Netflix Customer DelightTranslating Developer Productivity to Netflix Customer Delight
Translating Developer Productivity to Netflix Customer Delight
 
Evolving big microservice architectures
Evolving big microservice architecturesEvolving big microservice architectures
Evolving big microservice architectures
 
JS digest. July 2017
JS digest. July 2017JS digest. July 2017
JS digest. July 2017
 
Jak nie zwariować z architekturą Serverless?
Jak nie zwariować z architekturą Serverless?Jak nie zwariować z architekturą Serverless?
Jak nie zwariować z architekturą Serverless?
 
Going FaaSter, Functions as a Service at Netflix
Going FaaSter, Functions as a Service at NetflixGoing FaaSter, Functions as a Service at Netflix
Going FaaSter, Functions as a Service at Netflix
 
Microservices Antipatterns
Microservices AntipatternsMicroservices Antipatterns
Microservices Antipatterns
 
OpenAPI Generator The Babel Fish of The API World - apidays Live Australia
OpenAPI Generator The Babel Fish of The API World - apidays Live AustraliaOpenAPI Generator The Babel Fish of The API World - apidays Live Australia
OpenAPI Generator The Babel Fish of The API World - apidays Live Australia
 
ANZ Dev Lounge Session - Feb 2017
ANZ Dev Lounge Session - Feb 2017ANZ Dev Lounge Session - Feb 2017
ANZ Dev Lounge Session - Feb 2017
 
Capacitor 1.0 launch
Capacitor 1.0 launchCapacitor 1.0 launch
Capacitor 1.0 launch
 
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
 
Introducing amplify and full stack demo app built with vue.js, graph ql, auth...
Introducing amplify and full stack demo app built with vue.js, graph ql, auth...Introducing amplify and full stack demo app built with vue.js, graph ql, auth...
Introducing amplify and full stack demo app built with vue.js, graph ql, auth...
 
Continuous API Strategies for Integrated Platforms
 Continuous API Strategies for Integrated Platforms Continuous API Strategies for Integrated Platforms
Continuous API Strategies for Integrated Platforms
 
DevOps on AWS - Building Systems to Deliver Faster
DevOps on AWS - Building Systems to Deliver FasterDevOps on AWS - Building Systems to Deliver Faster
DevOps on AWS - Building Systems to Deliver Faster
 
Developing Serverless Applications on Kubernetes with Knative
Developing Serverless Applications on Kubernetes with KnativeDeveloping Serverless Applications on Kubernetes with Knative
Developing Serverless Applications on Kubernetes with Knative
 

Kürzlich hochgeladen

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Kürzlich hochgeladen (20)

Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 

Slaying Monoliths with Node and Docker