SlideShare une entreprise Scribd logo
1  sur  79
Télécharger pour lire hors ligne
When DevOps Runs Its Course
We Need Platform as a Runtime
Aviran Mordo - VP Engineering
Wix.com
Qcon London 2024
www.aviransplace.com Twitter: @aviranm linkedin/aviran
Monolith Microservices Serverless ?
Which is better?
When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
Monolith Microservices Serverless
Where each shines
When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
Cost*
Cross service
latency
Ownership
(single responsibility)
Coding
Deployment
Scaling
When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
Complexity !!!
When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
3 Pillars of system’s design tradeoffs
Why is it complicated ?
Code Run
Deploy
Dev velocity
Performance
Resilience
Scalability
Cost
Code complexity
Maintainability
Org scale
When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
Hello
Aviran Mordo,
VP of Engineering,
Wix.com
When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
Wix In Numbers (2023)
±250M
Registered users
(website builders)
From
190
Countries
±7%
of all Internet web
sites running on
Wix
±150M
Websites
1B
Human visitors
every month
±4000
Microservices
clusters
3
Data Centers
When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
WixEng Locations (2023) EU Ukraine Israel ROW
Vilnius Kyiv Tel-Aviv USA
Krakow Dnipro Be’er Sheva Canada
Berlin Lviv Haifa
Amsterdam
When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
Complexity !!!
When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
The responsibility of
engineering is to
deliver business value
Successful
companies deliver
high quality code
FAST
When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
Monolith Microservices Serverless ?
Why is it complicated?
When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
A single product is usually
simple & fast to build as a monolith
Building a Service
Run
Deploy
Code
When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
Monolith
Coding is easy
(at the beginning)
Mixing domain
(spaghetti)
Everything is accessible
to all developers
Hard to scale to multiple
teams
Easy to test*
Simple topology
Good performance (between models)
Hard to scale and keep SLO
(multiple endpoints)
Multiple teams need to
coordinate the release
No service owner?
Easy to debug
Many changes in each
release = higher risk
Easy to break APIs between
components
When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
Monolith Microservices Serverless ?
Why is it complicated?
When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
Direct Integrations & Dependencies
Not so simple
Not just direct dependencies - Call chains
Wix has Over 4000 microservices
Starship
Run
Deploy
Code
When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
Microservices / Serverless
Coding is easy
– Single domain
Complex integration
Complex testing
Independent release cycle
Complex topology
Backwards compatibility
Performance
Hard to monitor/debug
Easy to deploy
Easy to scale
Clear service owner
Cross cutting concerns
Run
Deploy
Code
When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
Let’s talk about code complexity
Independent release cycle
Complex topology
Backwards compatibility
Performance
Hard to monitor/debug
Easy to deploy
Easy to scale
Clear service owner
Coding is easy
– Single domain
Complex integration
Complex testing
Cross cutting concerns
When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
Act II
Let’s Code
When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
Meet Dana !
A new developer
Write task management system
Write a new microservice, and….
Job
Action:
When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
Domain modeling
API Design
Authentication
Authorization
Input Validation
Object Mapping
RPC
Secrets
Data Access
Domain Events
Error Handling
GDPR
PII
Plat. Query
Advanced Search
Caching
Webhooks
Scheduled Tasks
BI
Logging
Testing Strategy & Tools
Scaffold
Build
Deploy
A/B Testing Support
Gradual Rollout
Production Ownership
Monitoring
Debugging
Best Practices
A new microservice needs ...
Framework
Dana reads the documentation
Framework Identity
Framework
Visibility
Web Hooks GDPR
Identity
Framework Input validation
Visibility
Web Hooks GDPR
Identity
Testing
API Design
Brokers & Events Error Handling Database
Framework Events
Visibility Web Hooks GDPR
Identity
Testing
API Design
Brokers & Events Error Handling Database
Data integrity
gRPC
Webhooks
Framework Events
Visibility Web Hooks GDPR
Identity
Testing
API Design
Brokers & Events Error Handling Database
Data integrity
gRPC
Webhooks
When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
The line of code that’s the
fastest to write, the line of code that
never brakes, that
doesn’t need maintenance is the line
you never had to write.
The goal here is to
eliminate 80% of the code that you
have to write for your app.
If we can develop faster
we can give more focus
to great engineering practices.
Eliminating code
When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
How can we CODE
faster in a complex
environment?
NILE
Streamlines platformized
microservice development
* Highly opinionated
Introducing:
Codify and automate the guidelines into the platform.
When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
- Framework
- Schema Creation
- Messaging
- Async Task Queue
- gRPC
- Data Access
- Search
- SPI
- Logging
- Metrics
When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
Nile layers and tools
- Data Migration
- Multi-Lingual
- API Migration
- Caching
- GDPR
- …..
Run
Deploy
Code
When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
Platform
Let’s talk about deployment
Complex topology
Performance
Hard to monitor/debug
Easy to scale
Clear service owner
Independent release cycle
Backwards compatibility
Easy to deploy
Deploy
When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
Building Serverless Platform
When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
Business
Logic
Trusted Env Framework
(contracts)
Microservice framework
(Spring)
Containers (K8)
VM
Typical Software stack
When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
Business
Logic
Trusted Env Framework
(contracts)
Microservice framework
(Spring)
Package and deploy a service
90% of the code is not yours
When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
Microservices shortcoming at scale
Business Logic
Trusted Env Framework
(contracts)
Microservice framework
(Spring)
● Deployment size has a large footprint -
framework is compiled with each
microservice.
● Frameworks/libraries versions are tied
to the microservice deploy lifecycle
● Urgent security fixes of thousands of
services (aka Log4J)
● Supporting multiple languages need to
duplicate the whole framework
When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
Microservice
95%-99% of the code that runs a typical Microservice,
is code that you DIDN’T write
Run
Deploy
Code
When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
In a perfect world
No integration wiring
overhead
Minimal testing
Zero boilerplate code
Fast deployment
Easy development with
minimal cognitive load
Good performance
No or little operations
overhead
Low cost
Easy updates
Scalable
When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
Why not take the
best of all worlds
Microservices
Serverless
Monolith
Managed
Platform
When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
Monolith Microservices Serverless ?
Which is better?
PaaR
Platform as a Runtime =
Reality
+
Vision
When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
• Easy development with minimal
cognitive load
• No integration wiring overhead
• Good performance
• Fast deployment
• Low cost
• No or little operations overhead
• Minimal testing
• Zero boilerplate code
Wix Velo
(Managed platform)
When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
Wix Platform as a Runtime V1 (PaaR)
Business
Logic
Data services
Service integration layer
(gRPC/REST/Kafka)
Application framework
Node.js
When DevOps Runs Its Course – We Need Platform as a Runtime
Business
Logic
Data services
Service integration layer
(gRPC/REST/Kafka)
Application framework
Node.js
When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
Node.js
• Lightweight
• Dynamic code loading
• Easy to learn
Node.js
When DevOps Runs Its Course – We Need Platform as a Runtime
Business
Logic
Data services
Service integration layer
(gRPC/REST/Kafka)
Application framework
Node.js
When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
Wix Microservices framework
• Based on express
• Handles trusted environment contracts
○ HTTP headers
○ Authorization
○ Authentication
○ Monitoring
○ Logging / BI
○ Experiments (A/B Testing)
Application framework
When DevOps Runs Its Course – We Need Platform as a Runtime
Business
Logic
Data services
Service integration layer
(gRPC/REST/Kafka)
Application framework
Node.js
When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
Service Integration Layer
• Repository of all Wix GRPC / REST clients
○ Based on Protobuf
• Kafka client integrations
Service integration layer
(gRPC/REST/Kafka)
When DevOps Runs Its Course – We Need Platform as a Runtime
Business
Logic
Data services
Service integration layer
(gRPC/REST/Kafka)
Application framework
Node.js
When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
Data Services
• Integration to simple Key/Value store
(DynamoDB)
Data services
When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
PaaR Serverless
Package the platform as a serverless container
Data services
Service integration layer
(gRPC/REST/Kafka)
Application framework
Node.js
When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
PaaR Serverless
Your Code
Your Code
Dynamically loaded into the runtime
When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
PaaR Serverless
F1
F2
F3
Trusted environment –
Can run multiple functions
in a single container
When DevOps Runs Its Course – We Need Platform as a Runtime
Business
Logic
Data services
Service integration layer
(gRPC/REST/Kafka)
Application framework
Node.js
When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
Write your function with just business logic
● No integrations
○ Just declare which services you want to use
● Less testing
○ No integration tests needed (don’t test the
platform)
● Think very small functions
○ Just your business logic.
● Fast deployment
○ Small code, you don’t package the framework
● Zero boilerplate
○ All integrations are provided and
preconfigured
○ No boilerplate or wiring needed
When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
Developer Experience
Code Example
When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
1. Add an API to:
• Retrieve a task details from the tasks
microservice
• Retrieve details of the person assigned to
this task from the contacts microservice.
We have a task management system
2. Every time a task is created
write an audit log to a database
Task
When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
Just the code you need...
When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
Just the code you need...
When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
Just the code you need...
When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
Just the code you need...
When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
Just the code you need...
When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
Quick Pipeline
Nano Deployments = Stream Development
• Minimal code
• No framework packaging
• Zero startup time
• Deployable artifact size <10kb
• Separation of source structure
from deployment packaging
1-2 minutes
Run
Deploy
Build
Push
Run
Deploy
Code
When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
Let’s optimize the Runtime
Platform as
a Service
Platform
Complex topology
Performance
Hard to monitor/debug
Easy to scale
Clear service owner
When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
PaaR
Flexible, Dynamic, Optimized,
Cost-Effective Scalability
This is the “R(untime)” in PaaR.
Node
Serverless Runtime
Ecom
Node
Serverless Runtime
Payment
When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
F1 F2
F4
F6 F3
F5
Container strategy
For regulations (PCI)
Noisy neighbors
Team ownership
Flexible Topology - Isolated Environment
Node
Serverless Runtime
Ecom
Node
Serverless Runtime
Payment
When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
F1 F2
F4
F6 F3
F5
In process calls = RPC calls
Node
Serverless Runtime
Ecom
Node
Serverless Runtime
Payment
When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
Lets Scale out F4 F4
F2
F4
F6 F3
F5 F4
F1
Auto scale on a function level
Node
Serverless Runtime
Ecom
Node
Serverless Runtime
Payment
When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
F2 F5
F2 and F5 frequently interact
F1 F2
F4
F6 F3
F5
F5
JIT Performance optimization
Reduce network calls
Increase throughput
Optimized Function Deployment Affinity
When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
Microservices challenges at scale
● Deployment size has a large footprint -
framework is compiled with each microservice.
● Frameworks/libraries versions are tied to the
microservice build/deploy lifecycle
● Urgent security fixes of thousands of services
(aka Log4J)
● Supporting multiple languages need to duplicate
the whole framework
But Wait…We are missing something (WIP)
Additional languages support
Without rewriting the framework multiple times
To support more use cases that node.js is not the right tool for the job
To quickly integrate acquired companies
When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
Wix Single
Runtime (WIP)
V2
When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
• One framework
development
• Can support any
language for
business logic
• Not just functions,
but Microservices
Host
Guest
Wix Single Runtime – Support any Language
Business
Logic
Guest SDK
Data Services
Service integration Layer
(GRPC/REST/Kafka)
Single Runtime framework
When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
Ingress and Egress communication via “Host”, i.e
Platform as a Service (Daemon set)
VM
PaaR Host
(Daemon set)
PaaR Guest
(K8s pod)
Srv 4
PaaR Guest
(K8s pod)
Srv 5
PaaR Guest
(K8s pod)
Srv 2
VM
PaaR Host
(Daemon set)
PaaR Guest
(K8s pod)
Srv 1
PaaR Guest
(K8s pod)
Srv 3
PaaR Guest
(K8s pod)
Srv 2
When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
Decisions and tradeoffs
VM
PaaR Host
(Daemon set)
PaaR Guest
(K8s pod)
Srv 4
PaaR Guest
(K8s pod)
Srv 5
PaaR Guest
(K8s pod)
Srv 2
• Tradeoff in-process to localhost
communication.
• Taking advantage of K8s
ecosystem for deployment
management.
• Larger guest footprint
(still ±50% smaller than a regular
microservice)
• Up to 2ms overhead from typical
microservice
When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
Microservices challenges at scale [SOLVED]
Host
Guest
Business
Logic
Guest SDK
Data Services
Service integration Layer
(GRPC/REST/Kafka)
Single Runtime framework
● Cost effective, smaller footprint of guest than
microservice
(no framework is compiled with each service)
● Single framework version,
with its own lifecycle
● Urgent security fixes of thousands of services
(aka Log4J)
● Multiple languages
(just write a different guest SDK instead of
duplicating the whole framework)
When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
Wix
Managed
Data Layer
Message
Bus
Platform
Services
(logs…)
Single Runtime is the Platform (PaaR)
Single Runtime
Microservices
Microservices
Microservices
Microservices
Microservices
Microservices
DB
DB
DB
DB
API GW / Networking
Run
Deploy
Code
When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
Complexity solved*
Platform as
a Service
Platform PaaR
When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
Code Run
Deploy
PaaR
Like a
Microservice
Like a
Function
Like a
(virtual)
Monolith
When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
Brings business value FAST
Improved dev velocity by 50%-80%
Up to 50% cost reduction on compute*
Thank you.
Let’s talk!
www.aviransplace.com
Twitter: @aviranm
linkedin/aviran
Aviran Mordo
VP Engineering Wix.com Qcon London 2024
Blog post: https://wix.to/WYA8sUw
Remember to vote and share feedback on the InfoQ App or online.
Please vote and leave feedback!
Any questions?

Contenu connexe

Tendances

Azure Pipeline Tutorial | Azure DevOps Tutorial | Edureka
Azure Pipeline Tutorial | Azure DevOps Tutorial | EdurekaAzure Pipeline Tutorial | Azure DevOps Tutorial | Edureka
Azure Pipeline Tutorial | Azure DevOps Tutorial | EdurekaEdureka!
 
Adapt or Die: A Microservices Story at Google
Adapt or Die: A Microservices Story at GoogleAdapt or Die: A Microservices Story at Google
Adapt or Die: A Microservices Story at GoogleApigee | Google Cloud
 
(Declarative) Jenkins Pipelines
(Declarative) Jenkins Pipelines(Declarative) Jenkins Pipelines
(Declarative) Jenkins PipelinesSteffen Gebert
 
Orchestration tool roundup kubernetes vs. docker vs. heat vs. terra form vs...
Orchestration tool roundup   kubernetes vs. docker vs. heat vs. terra form vs...Orchestration tool roundup   kubernetes vs. docker vs. heat vs. terra form vs...
Orchestration tool roundup kubernetes vs. docker vs. heat vs. terra form vs...Nati Shalom
 
Overview of AWS Partner Programs in the Public Sector
Overview of AWS Partner Programs in the Public SectorOverview of AWS Partner Programs in the Public Sector
Overview of AWS Partner Programs in the Public Sector Amazon Web Services
 
Kubernetes Architecture - beyond a black box - Part 2
Kubernetes Architecture - beyond a black box - Part 2Kubernetes Architecture - beyond a black box - Part 2
Kubernetes Architecture - beyond a black box - Part 2Hao H. Zhang
 
The Truth About the Service Mesh Data Plane
The Truth About the Service Mesh Data PlaneThe Truth About the Service Mesh Data Plane
The Truth About the Service Mesh Data PlaneChristian Posta
 
Open source business models
Open source business modelsOpen source business models
Open source business modelsDave Neary
 
Edureka-DevOps-Ebook.pdf
Edureka-DevOps-Ebook.pdfEdureka-DevOps-Ebook.pdf
Edureka-DevOps-Ebook.pdfrelekarsushant
 
Hashicorp Vault - OPEN Public Sector
Hashicorp Vault - OPEN Public SectorHashicorp Vault - OPEN Public Sector
Hashicorp Vault - OPEN Public SectorKangaroot
 
Platform engineering 101
Platform engineering 101Platform engineering 101
Platform engineering 101Sander Knape
 
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...Backstage l'Internal Developer Portal Open Source per una migliore Developer ...
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...Commit University
 
Discover How IBM Uses InfluxDB and Grafana to Help Clients Monitor Large Prod...
Discover How IBM Uses InfluxDB and Grafana to Help Clients Monitor Large Prod...Discover How IBM Uses InfluxDB and Grafana to Help Clients Monitor Large Prod...
Discover How IBM Uses InfluxDB and Grafana to Help Clients Monitor Large Prod...InfluxData
 
Webinar - Unbox GitLab CI/CD
Webinar - Unbox GitLab CI/CD Webinar - Unbox GitLab CI/CD
Webinar - Unbox GitLab CI/CD Annie Huang
 
Chef Tutorial | Chef Tutorial For Beginners | DevOps Chef Tutorial | DevOps T...
Chef Tutorial | Chef Tutorial For Beginners | DevOps Chef Tutorial | DevOps T...Chef Tutorial | Chef Tutorial For Beginners | DevOps Chef Tutorial | DevOps T...
Chef Tutorial | Chef Tutorial For Beginners | DevOps Chef Tutorial | DevOps T...Simplilearn
 
Api gateway in microservices
Api gateway in microservicesApi gateway in microservices
Api gateway in microservicesKunal Hire
 
High Availability for OpenStack
High Availability for OpenStackHigh Availability for OpenStack
High Availability for OpenStackKamesh Pemmaraju
 
Tackle-test: An Automatic Unit-level Test Case Generator
Tackle-test: An Automatic Unit-level Test Case GeneratorTackle-test: An Automatic Unit-level Test Case Generator
Tackle-test: An Automatic Unit-level Test Case GeneratorKonveyor Community
 

Tendances (20)

Azure Pipeline Tutorial | Azure DevOps Tutorial | Edureka
Azure Pipeline Tutorial | Azure DevOps Tutorial | EdurekaAzure Pipeline Tutorial | Azure DevOps Tutorial | Edureka
Azure Pipeline Tutorial | Azure DevOps Tutorial | Edureka
 
Adapt or Die: A Microservices Story at Google
Adapt or Die: A Microservices Story at GoogleAdapt or Die: A Microservices Story at Google
Adapt or Die: A Microservices Story at Google
 
(Declarative) Jenkins Pipelines
(Declarative) Jenkins Pipelines(Declarative) Jenkins Pipelines
(Declarative) Jenkins Pipelines
 
Orchestration tool roundup kubernetes vs. docker vs. heat vs. terra form vs...
Orchestration tool roundup   kubernetes vs. docker vs. heat vs. terra form vs...Orchestration tool roundup   kubernetes vs. docker vs. heat vs. terra form vs...
Orchestration tool roundup kubernetes vs. docker vs. heat vs. terra form vs...
 
Overview of AWS Partner Programs in the Public Sector
Overview of AWS Partner Programs in the Public SectorOverview of AWS Partner Programs in the Public Sector
Overview of AWS Partner Programs in the Public Sector
 
Kubernetes Architecture - beyond a black box - Part 2
Kubernetes Architecture - beyond a black box - Part 2Kubernetes Architecture - beyond a black box - Part 2
Kubernetes Architecture - beyond a black box - Part 2
 
The Truth About the Service Mesh Data Plane
The Truth About the Service Mesh Data PlaneThe Truth About the Service Mesh Data Plane
The Truth About the Service Mesh Data Plane
 
Open source business models
Open source business modelsOpen source business models
Open source business models
 
Edureka-DevOps-Ebook.pdf
Edureka-DevOps-Ebook.pdfEdureka-DevOps-Ebook.pdf
Edureka-DevOps-Ebook.pdf
 
Hashicorp Vault - OPEN Public Sector
Hashicorp Vault - OPEN Public SectorHashicorp Vault - OPEN Public Sector
Hashicorp Vault - OPEN Public Sector
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
Platform engineering 101
Platform engineering 101Platform engineering 101
Platform engineering 101
 
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...Backstage l'Internal Developer Portal Open Source per una migliore Developer ...
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...
 
Discover How IBM Uses InfluxDB and Grafana to Help Clients Monitor Large Prod...
Discover How IBM Uses InfluxDB and Grafana to Help Clients Monitor Large Prod...Discover How IBM Uses InfluxDB and Grafana to Help Clients Monitor Large Prod...
Discover How IBM Uses InfluxDB and Grafana to Help Clients Monitor Large Prod...
 
Webinar - Unbox GitLab CI/CD
Webinar - Unbox GitLab CI/CD Webinar - Unbox GitLab CI/CD
Webinar - Unbox GitLab CI/CD
 
Chef Tutorial | Chef Tutorial For Beginners | DevOps Chef Tutorial | DevOps T...
Chef Tutorial | Chef Tutorial For Beginners | DevOps Chef Tutorial | DevOps T...Chef Tutorial | Chef Tutorial For Beginners | DevOps Chef Tutorial | DevOps T...
Chef Tutorial | Chef Tutorial For Beginners | DevOps Chef Tutorial | DevOps T...
 
Terraform
TerraformTerraform
Terraform
 
Api gateway in microservices
Api gateway in microservicesApi gateway in microservices
Api gateway in microservices
 
High Availability for OpenStack
High Availability for OpenStackHigh Availability for OpenStack
High Availability for OpenStack
 
Tackle-test: An Automatic Unit-level Test Case Generator
Tackle-test: An Automatic Unit-level Test Case GeneratorTackle-test: An Automatic Unit-level Test Case Generator
Tackle-test: An Automatic Unit-level Test Case Generator
 

Similaire à Platform as a Runtime - PaaR QCON 2024 - Final

Automated Serverless Pipelines with #GitOps on Codefresh
Automated Serverless Pipelines with #GitOps on CodefreshAutomated Serverless Pipelines with #GitOps on Codefresh
Automated Serverless Pipelines with #GitOps on CodefreshCodefresh
 
Cncf checkov and bridgecrew
Cncf checkov and bridgecrewCncf checkov and bridgecrew
Cncf checkov and bridgecrewLibbySchulze
 
Building a DevOps pipeline for Serverless by using Mocha, GitHub and Travis
Building a DevOps pipeline for Serverless by using Mocha, GitHub and TravisBuilding a DevOps pipeline for Serverless by using Mocha, GitHub and Travis
Building a DevOps pipeline for Serverless by using Mocha, GitHub and TravisExove
 
.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los Angeles.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los AngelesVMware Tanzu
 
Serverless Computing, AWS Way by SourceFuse Technologies
Serverless Computing, AWS Way by SourceFuse Technologies Serverless Computing, AWS Way by SourceFuse Technologies
Serverless Computing, AWS Way by SourceFuse Technologies SourceFuse
 
Serverless Computing, AWS Way: SourceFuse Technologies
Serverless Computing, AWS Way: SourceFuse Technologies Serverless Computing, AWS Way: SourceFuse Technologies
Serverless Computing, AWS Way: SourceFuse Technologies Sarmishtha Sinha
 
.NET Cloud-Native Bootcamp
.NET Cloud-Native Bootcamp.NET Cloud-Native Bootcamp
.NET Cloud-Native BootcampVMware Tanzu
 
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
 
State of Infrastructure as Code - AutomaCon 2016
State of Infrastructure as Code - AutomaCon 2016State of Infrastructure as Code - AutomaCon 2016
State of Infrastructure as Code - AutomaCon 2016Amazon Web Services
 
Dev Ops on AWS - Accelerating Software Delivery - AWS-Summit SG 2017
Dev Ops on AWS - Accelerating Software Delivery - AWS-Summit SG 2017Dev Ops on AWS - Accelerating Software Delivery - AWS-Summit SG 2017
Dev Ops on AWS - Accelerating Software Delivery - AWS-Summit SG 2017Amazon Web Services
 
DevOps on AWS - Accelerating Software Delivery
DevOps on AWS - Accelerating Software DeliveryDevOps on AWS - Accelerating Software Delivery
DevOps on AWS - Accelerating Software DeliveryAmazon Web Services
 
London DevOps Meetup - PaaS as a platform for devops
London DevOps Meetup - PaaS as a platform for devopsLondon DevOps Meetup - PaaS as a platform for devops
London DevOps Meetup - PaaS as a platform for devopsJeremy Brown
 
PCF: Platform for a New Era - Kubernetes for the Enterprise - London
PCF: Platform for a New Era - Kubernetes for the Enterprise - LondonPCF: Platform for a New Era - Kubernetes for the Enterprise - London
PCF: Platform for a New Era - Kubernetes for the Enterprise - LondonVMware Tanzu
 
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 FasterAmazon Web Services
 
Improve productivity with Continuous Integration & Delivery
Improve productivity with Continuous Integration & DeliveryImprove productivity with Continuous Integration & Delivery
Improve productivity with Continuous Integration & DeliveryAmazon Web Services
 
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...Ludovic Piot
 

Similaire à Platform as a Runtime - PaaR QCON 2024 - Final (20)

Automated Serverless Pipelines with #GitOps on Codefresh
Automated Serverless Pipelines with #GitOps on CodefreshAutomated Serverless Pipelines with #GitOps on Codefresh
Automated Serverless Pipelines with #GitOps on Codefresh
 
Cncf checkov and bridgecrew
Cncf checkov and bridgecrewCncf checkov and bridgecrew
Cncf checkov and bridgecrew
 
Building a DevOps pipeline for Serverless by using Mocha, GitHub and Travis
Building a DevOps pipeline for Serverless by using Mocha, GitHub and TravisBuilding a DevOps pipeline for Serverless by using Mocha, GitHub and Travis
Building a DevOps pipeline for Serverless by using Mocha, GitHub and Travis
 
.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los Angeles.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los Angeles
 
Serverless Computing, AWS Way by SourceFuse Technologies
Serverless Computing, AWS Way by SourceFuse Technologies Serverless Computing, AWS Way by SourceFuse Technologies
Serverless Computing, AWS Way by SourceFuse Technologies
 
Serverless Computing, AWS Way: SourceFuse Technologies
Serverless Computing, AWS Way: SourceFuse Technologies Serverless Computing, AWS Way: SourceFuse Technologies
Serverless Computing, AWS Way: SourceFuse Technologies
 
.NET Cloud-Native Bootcamp
.NET Cloud-Native Bootcamp.NET Cloud-Native Bootcamp
.NET Cloud-Native Bootcamp
 
56k.cloud training
56k.cloud training56k.cloud training
56k.cloud training
 
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
 
State of Infrastructure as Code - AutomaCon 2016
State of Infrastructure as Code - AutomaCon 2016State of Infrastructure as Code - AutomaCon 2016
State of Infrastructure as Code - AutomaCon 2016
 
Dev Ops on AWS - Accelerating Software Delivery - AWS-Summit SG 2017
Dev Ops on AWS - Accelerating Software Delivery - AWS-Summit SG 2017Dev Ops on AWS - Accelerating Software Delivery - AWS-Summit SG 2017
Dev Ops on AWS - Accelerating Software Delivery - AWS-Summit SG 2017
 
DevOps on AWS - Accelerating Software Delivery
DevOps on AWS - Accelerating Software DeliveryDevOps on AWS - Accelerating Software Delivery
DevOps on AWS - Accelerating Software Delivery
 
London DevOps Meetup - PaaS as a platform for devops
London DevOps Meetup - PaaS as a platform for devopsLondon DevOps Meetup - PaaS as a platform for devops
London DevOps Meetup - PaaS as a platform for devops
 
PCF: Platform for a New Era - Kubernetes for the Enterprise - London
PCF: Platform for a New Era - Kubernetes for the Enterprise - LondonPCF: Platform for a New Era - Kubernetes for the Enterprise - London
PCF: Platform for a New Era - Kubernetes for the Enterprise - London
 
Containerization Strategy
Containerization StrategyContainerization Strategy
Containerization Strategy
 
Startups without Servers
Startups without ServersStartups without Servers
Startups without Servers
 
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
 
Improve productivity with Continuous Integration & Delivery
Improve productivity with Continuous Integration & DeliveryImprove productivity with Continuous Integration & Delivery
Improve productivity with Continuous Integration & Delivery
 
Session
SessionSession
Session
 
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
 

Plus de Aviran Mordo

Scaling Engineering by Hacking Conway’s Law - Geecon,2022
Scaling Engineering by Hacking Conway’s Law - Geecon,2022Scaling Engineering by Hacking Conway’s Law - Geecon,2022
Scaling Engineering by Hacking Conway’s Law - Geecon,2022Aviran Mordo
 
Arrested by the cap devoxx uk 2018
Arrested by the cap devoxx uk 2018Arrested by the cap devoxx uk 2018
Arrested by the cap devoxx uk 2018Aviran Mordo
 
Scaling wix.com to 100 million users
Scaling wix.com to 100 million users Scaling wix.com to 100 million users
Scaling wix.com to 100 million users Aviran Mordo
 
Mircoservices, dev ops and Engineering best practices at Wix.com
Mircoservices, dev ops and Engineering best practices at Wix.comMircoservices, dev ops and Engineering best practices at Wix.com
Mircoservices, dev ops and Engineering best practices at Wix.comAviran Mordo
 
Scaling Wix engineering
Scaling Wix engineering Scaling Wix engineering
Scaling Wix engineering Aviran Mordo
 
Scaling wix with microservices and multi cloud - 2015
Scaling wix with microservices and multi cloud - 2015Scaling wix with microservices and multi cloud - 2015
Scaling wix with microservices and multi cloud - 2015Aviran Mordo
 
Road to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.comRoad to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.comAviran Mordo
 
Advanced A/B Testing - Jax London 2015
Advanced A/B Testing - Jax London 2015Advanced A/B Testing - Jax London 2015
Advanced A/B Testing - Jax London 2015Aviran Mordo
 
Scaling wix with microservices architecture jax london-2015
Scaling wix with microservices architecture jax london-2015Scaling wix with microservices architecture jax london-2015
Scaling wix with microservices architecture jax london-2015Aviran Mordo
 
Scaling wix with microservices architecture devoxx London 2015
Scaling wix with microservices architecture devoxx London 2015Scaling wix with microservices architecture devoxx London 2015
Scaling wix with microservices architecture devoxx London 2015Aviran Mordo
 
The Art of A/B Testing
The Art of A/B TestingThe Art of A/B Testing
The Art of A/B TestingAviran Mordo
 
Wix.com Back-end Engineering Guild Manifesto
Wix.com Back-end Engineering Guild ManifestoWix.com Back-end Engineering Guild Manifesto
Wix.com Back-end Engineering Guild ManifestoAviran Mordo
 
Scaling Wix with microservices architecture and multi-cloud platforms - Reve...
 Scaling Wix with microservices architecture and multi-cloud platforms - Reve... Scaling Wix with microservices architecture and multi-cloud platforms - Reve...
Scaling Wix with microservices architecture and multi-cloud platforms - Reve...Aviran Mordo
 
Experimenting on Humans - Advanced A/B Tests - QCon SF 2014
Experimenting on Humans - Advanced A/B Tests - QCon SF 2014Experimenting on Humans - Advanced A/B Tests - QCon SF 2014
Experimenting on Humans - Advanced A/B Tests - QCon SF 2014Aviran Mordo
 
Wix Architecture at Scale - QCon London 2014
Wix Architecture at Scale - QCon London 2014Wix Architecture at Scale - QCon London 2014
Wix Architecture at Scale - QCon London 2014Aviran Mordo
 
Scaling r&d org while maintaining quality
Scaling r&d org while maintaining qualityScaling r&d org while maintaining quality
Scaling r&d org while maintaining qualityAviran Mordo
 
Wix Dev-Centric Culture And Continuous Delivery
Wix Dev-Centric Culture And Continuous DeliveryWix Dev-Centric Culture And Continuous Delivery
Wix Dev-Centric Culture And Continuous DeliveryAviran Mordo
 
Introduction to HTTP protocol
Introduction to HTTP protocolIntroduction to HTTP protocol
Introduction to HTTP protocolAviran Mordo
 
Lessons Learned Monitoring Production
Lessons Learned Monitoring ProductionLessons Learned Monitoring Production
Lessons Learned Monitoring ProductionAviran Mordo
 
Strategies in continuous delivery
Strategies in continuous deliveryStrategies in continuous delivery
Strategies in continuous deliveryAviran Mordo
 

Plus de Aviran Mordo (20)

Scaling Engineering by Hacking Conway’s Law - Geecon,2022
Scaling Engineering by Hacking Conway’s Law - Geecon,2022Scaling Engineering by Hacking Conway’s Law - Geecon,2022
Scaling Engineering by Hacking Conway’s Law - Geecon,2022
 
Arrested by the cap devoxx uk 2018
Arrested by the cap devoxx uk 2018Arrested by the cap devoxx uk 2018
Arrested by the cap devoxx uk 2018
 
Scaling wix.com to 100 million users
Scaling wix.com to 100 million users Scaling wix.com to 100 million users
Scaling wix.com to 100 million users
 
Mircoservices, dev ops and Engineering best practices at Wix.com
Mircoservices, dev ops and Engineering best practices at Wix.comMircoservices, dev ops and Engineering best practices at Wix.com
Mircoservices, dev ops and Engineering best practices at Wix.com
 
Scaling Wix engineering
Scaling Wix engineering Scaling Wix engineering
Scaling Wix engineering
 
Scaling wix with microservices and multi cloud - 2015
Scaling wix with microservices and multi cloud - 2015Scaling wix with microservices and multi cloud - 2015
Scaling wix with microservices and multi cloud - 2015
 
Road to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.comRoad to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.com
 
Advanced A/B Testing - Jax London 2015
Advanced A/B Testing - Jax London 2015Advanced A/B Testing - Jax London 2015
Advanced A/B Testing - Jax London 2015
 
Scaling wix with microservices architecture jax london-2015
Scaling wix with microservices architecture jax london-2015Scaling wix with microservices architecture jax london-2015
Scaling wix with microservices architecture jax london-2015
 
Scaling wix with microservices architecture devoxx London 2015
Scaling wix with microservices architecture devoxx London 2015Scaling wix with microservices architecture devoxx London 2015
Scaling wix with microservices architecture devoxx London 2015
 
The Art of A/B Testing
The Art of A/B TestingThe Art of A/B Testing
The Art of A/B Testing
 
Wix.com Back-end Engineering Guild Manifesto
Wix.com Back-end Engineering Guild ManifestoWix.com Back-end Engineering Guild Manifesto
Wix.com Back-end Engineering Guild Manifesto
 
Scaling Wix with microservices architecture and multi-cloud platforms - Reve...
 Scaling Wix with microservices architecture and multi-cloud platforms - Reve... Scaling Wix with microservices architecture and multi-cloud platforms - Reve...
Scaling Wix with microservices architecture and multi-cloud platforms - Reve...
 
Experimenting on Humans - Advanced A/B Tests - QCon SF 2014
Experimenting on Humans - Advanced A/B Tests - QCon SF 2014Experimenting on Humans - Advanced A/B Tests - QCon SF 2014
Experimenting on Humans - Advanced A/B Tests - QCon SF 2014
 
Wix Architecture at Scale - QCon London 2014
Wix Architecture at Scale - QCon London 2014Wix Architecture at Scale - QCon London 2014
Wix Architecture at Scale - QCon London 2014
 
Scaling r&d org while maintaining quality
Scaling r&d org while maintaining qualityScaling r&d org while maintaining quality
Scaling r&d org while maintaining quality
 
Wix Dev-Centric Culture And Continuous Delivery
Wix Dev-Centric Culture And Continuous DeliveryWix Dev-Centric Culture And Continuous Delivery
Wix Dev-Centric Culture And Continuous Delivery
 
Introduction to HTTP protocol
Introduction to HTTP protocolIntroduction to HTTP protocol
Introduction to HTTP protocol
 
Lessons Learned Monitoring Production
Lessons Learned Monitoring ProductionLessons Learned Monitoring Production
Lessons Learned Monitoring Production
 
Strategies in continuous delivery
Strategies in continuous deliveryStrategies in continuous delivery
Strategies in continuous delivery
 

Dernier

[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse
[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse
[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypseTomasz Kowalczewski
 
Workshop - Architecting Innovative Graph Applications- GraphSummit Milan
Workshop -  Architecting Innovative Graph Applications- GraphSummit MilanWorkshop -  Architecting Innovative Graph Applications- GraphSummit Milan
Workshop - Architecting Innovative Graph Applications- GraphSummit MilanNeo4j
 
Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024Henry Schreiner
 
Prompt Engineering - an Art, a Science, or your next Job Title?
Prompt Engineering - an Art, a Science, or your next Job Title?Prompt Engineering - an Art, a Science, or your next Job Title?
Prompt Engineering - an Art, a Science, or your next Job Title?Maxim Salnikov
 
A Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdfA Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdfICS
 
OpenChain Webinar: AboutCode and Beyond - End-to-End SCA
OpenChain Webinar: AboutCode and Beyond - End-to-End SCAOpenChain Webinar: AboutCode and Beyond - End-to-End SCA
OpenChain Webinar: AboutCode and Beyond - End-to-End SCAShane Coughlan
 
Weeding your micro service landscape.pdf
Weeding your micro service landscape.pdfWeeding your micro service landscape.pdf
Weeding your micro service landscape.pdftimtebeek1
 
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale IbridaUNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale IbridaNeo4j
 
Navigation in flutter – how to add stack, tab, and drawer navigators to your ...
Navigation in flutter – how to add stack, tab, and drawer navigators to your ...Navigation in flutter – how to add stack, tab, and drawer navigators to your ...
Navigation in flutter – how to add stack, tab, and drawer navigators to your ...Flutter Agency
 
Your Ultimate Web Studio for Streaming Anywhere | Evmux
Your Ultimate Web Studio for Streaming Anywhere | EvmuxYour Ultimate Web Studio for Streaming Anywhere | Evmux
Your Ultimate Web Studio for Streaming Anywhere | Evmuxevmux96
 
Transformer Neural Network Use Cases with Links
Transformer Neural Network Use Cases with LinksTransformer Neural Network Use Cases with Links
Transformer Neural Network Use Cases with LinksJinanKordab
 
Novo Nordisk: When Knowledge Graphs meet LLMs
Novo Nordisk: When Knowledge Graphs meet LLMsNovo Nordisk: When Knowledge Graphs meet LLMs
Novo Nordisk: When Knowledge Graphs meet LLMsNeo4j
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationJuha-Pekka Tolvanen
 
From Theory to Practice: Utilizing SpiraPlan's REST API
From Theory to Practice: Utilizing SpiraPlan's REST APIFrom Theory to Practice: Utilizing SpiraPlan's REST API
From Theory to Practice: Utilizing SpiraPlan's REST APIInflectra
 

Dernier (20)

[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse
[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse
[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse
 
Workshop - Architecting Innovative Graph Applications- GraphSummit Milan
Workshop -  Architecting Innovative Graph Applications- GraphSummit MilanWorkshop -  Architecting Innovative Graph Applications- GraphSummit Milan
Workshop - Architecting Innovative Graph Applications- GraphSummit Milan
 
Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024
 
Prompt Engineering - an Art, a Science, or your next Job Title?
Prompt Engineering - an Art, a Science, or your next Job Title?Prompt Engineering - an Art, a Science, or your next Job Title?
Prompt Engineering - an Art, a Science, or your next Job Title?
 
Abortion Pill Prices Rustenburg [(+27832195400*)] 🏥 Women's Abortion Clinic i...
Abortion Pill Prices Rustenburg [(+27832195400*)] 🏥 Women's Abortion Clinic i...Abortion Pill Prices Rustenburg [(+27832195400*)] 🏥 Women's Abortion Clinic i...
Abortion Pill Prices Rustenburg [(+27832195400*)] 🏥 Women's Abortion Clinic i...
 
Abortion Pill Prices Mthatha (@](+27832195400*)[ 🏥 Women's Abortion Clinic In...
Abortion Pill Prices Mthatha (@](+27832195400*)[ 🏥 Women's Abortion Clinic In...Abortion Pill Prices Mthatha (@](+27832195400*)[ 🏥 Women's Abortion Clinic In...
Abortion Pill Prices Mthatha (@](+27832195400*)[ 🏥 Women's Abortion Clinic In...
 
A Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdfA Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdf
 
OpenChain Webinar: AboutCode and Beyond - End-to-End SCA
OpenChain Webinar: AboutCode and Beyond - End-to-End SCAOpenChain Webinar: AboutCode and Beyond - End-to-End SCA
OpenChain Webinar: AboutCode and Beyond - End-to-End SCA
 
Abortion Clinic in Midrand [(+27832195400*)]🏥Safe Abortion Pills In Midrand |...
Abortion Clinic in Midrand [(+27832195400*)]🏥Safe Abortion Pills In Midrand |...Abortion Clinic in Midrand [(+27832195400*)]🏥Safe Abortion Pills In Midrand |...
Abortion Clinic in Midrand [(+27832195400*)]🏥Safe Abortion Pills In Midrand |...
 
Weeding your micro service landscape.pdf
Weeding your micro service landscape.pdfWeeding your micro service landscape.pdf
Weeding your micro service landscape.pdf
 
Abortion Clinic In Pretoria ](+27832195400*)[ 🏥 Safe Abortion Pills in Pretor...
Abortion Clinic In Pretoria ](+27832195400*)[ 🏥 Safe Abortion Pills in Pretor...Abortion Clinic In Pretoria ](+27832195400*)[ 🏥 Safe Abortion Pills in Pretor...
Abortion Clinic In Pretoria ](+27832195400*)[ 🏥 Safe Abortion Pills in Pretor...
 
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale IbridaUNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
 
Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...
Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...
Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...
 
Navigation in flutter – how to add stack, tab, and drawer navigators to your ...
Navigation in flutter – how to add stack, tab, and drawer navigators to your ...Navigation in flutter – how to add stack, tab, and drawer navigators to your ...
Navigation in flutter – how to add stack, tab, and drawer navigators to your ...
 
Your Ultimate Web Studio for Streaming Anywhere | Evmux
Your Ultimate Web Studio for Streaming Anywhere | EvmuxYour Ultimate Web Studio for Streaming Anywhere | Evmux
Your Ultimate Web Studio for Streaming Anywhere | Evmux
 
Abortion Clinic in Bloemfontein [(+27832195400*)]🏥Safe Abortion Pills In Bloe...
Abortion Clinic in Bloemfontein [(+27832195400*)]🏥Safe Abortion Pills In Bloe...Abortion Clinic in Bloemfontein [(+27832195400*)]🏥Safe Abortion Pills In Bloe...
Abortion Clinic in Bloemfontein [(+27832195400*)]🏥Safe Abortion Pills In Bloe...
 
Transformer Neural Network Use Cases with Links
Transformer Neural Network Use Cases with LinksTransformer Neural Network Use Cases with Links
Transformer Neural Network Use Cases with Links
 
Novo Nordisk: When Knowledge Graphs meet LLMs
Novo Nordisk: When Knowledge Graphs meet LLMsNovo Nordisk: When Knowledge Graphs meet LLMs
Novo Nordisk: When Knowledge Graphs meet LLMs
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
From Theory to Practice: Utilizing SpiraPlan's REST API
From Theory to Practice: Utilizing SpiraPlan's REST APIFrom Theory to Practice: Utilizing SpiraPlan's REST API
From Theory to Practice: Utilizing SpiraPlan's REST API
 

Platform as a Runtime - PaaR QCON 2024 - Final

  • 1. When DevOps Runs Its Course We Need Platform as a Runtime Aviran Mordo - VP Engineering Wix.com Qcon London 2024 www.aviransplace.com Twitter: @aviranm linkedin/aviran
  • 2. Monolith Microservices Serverless ? Which is better? When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
  • 3. Monolith Microservices Serverless Where each shines When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm Cost* Cross service latency Ownership (single responsibility) Coding Deployment Scaling
  • 4. When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm Complexity !!!
  • 5. When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm 3 Pillars of system’s design tradeoffs Why is it complicated ? Code Run Deploy Dev velocity Performance Resilience Scalability Cost Code complexity Maintainability Org scale
  • 6. When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm Hello Aviran Mordo, VP of Engineering, Wix.com
  • 7.
  • 8. When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm Wix In Numbers (2023) ±250M Registered users (website builders) From 190 Countries ±7% of all Internet web sites running on Wix ±150M Websites 1B Human visitors every month ±4000 Microservices clusters 3 Data Centers
  • 9. When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm WixEng Locations (2023) EU Ukraine Israel ROW Vilnius Kyiv Tel-Aviv USA Krakow Dnipro Be’er Sheva Canada Berlin Lviv Haifa Amsterdam
  • 10. When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm Complexity !!!
  • 11. When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm The responsibility of engineering is to deliver business value Successful companies deliver high quality code FAST
  • 12. When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm Monolith Microservices Serverless ? Why is it complicated?
  • 13. When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm A single product is usually simple & fast to build as a monolith Building a Service
  • 14. Run Deploy Code When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm Monolith Coding is easy (at the beginning) Mixing domain (spaghetti) Everything is accessible to all developers Hard to scale to multiple teams Easy to test* Simple topology Good performance (between models) Hard to scale and keep SLO (multiple endpoints) Multiple teams need to coordinate the release No service owner? Easy to debug Many changes in each release = higher risk Easy to break APIs between components
  • 15. When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm Monolith Microservices Serverless ? Why is it complicated?
  • 16. When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm Direct Integrations & Dependencies Not so simple
  • 17. Not just direct dependencies - Call chains
  • 18. Wix has Over 4000 microservices Starship
  • 19. Run Deploy Code When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm Microservices / Serverless Coding is easy – Single domain Complex integration Complex testing Independent release cycle Complex topology Backwards compatibility Performance Hard to monitor/debug Easy to deploy Easy to scale Clear service owner Cross cutting concerns
  • 20. Run Deploy Code When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm Let’s talk about code complexity Independent release cycle Complex topology Backwards compatibility Performance Hard to monitor/debug Easy to deploy Easy to scale Clear service owner Coding is easy – Single domain Complex integration Complex testing Cross cutting concerns
  • 21. When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm Act II Let’s Code
  • 22. When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm Meet Dana ! A new developer Write task management system Write a new microservice, and…. Job Action:
  • 23. When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm Domain modeling API Design Authentication Authorization Input Validation Object Mapping RPC Secrets Data Access Domain Events Error Handling GDPR PII Plat. Query Advanced Search Caching Webhooks Scheduled Tasks BI Logging Testing Strategy & Tools Scaffold Build Deploy A/B Testing Support Gradual Rollout Production Ownership Monitoring Debugging Best Practices A new microservice needs ...
  • 24. Framework Dana reads the documentation
  • 27. Framework Input validation Visibility Web Hooks GDPR Identity Testing API Design Brokers & Events Error Handling Database
  • 28. Framework Events Visibility Web Hooks GDPR Identity Testing API Design Brokers & Events Error Handling Database Data integrity gRPC Webhooks
  • 29. Framework Events Visibility Web Hooks GDPR Identity Testing API Design Brokers & Events Error Handling Database Data integrity gRPC Webhooks
  • 30. When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm The line of code that’s the fastest to write, the line of code that never brakes, that doesn’t need maintenance is the line you never had to write. The goal here is to eliminate 80% of the code that you have to write for your app. If we can develop faster we can give more focus to great engineering practices. Eliminating code
  • 31. When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm How can we CODE faster in a complex environment?
  • 32. NILE Streamlines platformized microservice development * Highly opinionated Introducing: Codify and automate the guidelines into the platform. When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm
  • 33. - Framework - Schema Creation - Messaging - Async Task Queue - gRPC - Data Access - Search - SPI - Logging - Metrics When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm Nile layers and tools - Data Migration - Multi-Lingual - API Migration - Caching - GDPR - …..
  • 34. Run Deploy Code When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm Platform Let’s talk about deployment Complex topology Performance Hard to monitor/debug Easy to scale Clear service owner Independent release cycle Backwards compatibility Easy to deploy Deploy
  • 35. When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm Building Serverless Platform
  • 36. When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm Business Logic Trusted Env Framework (contracts) Microservice framework (Spring) Containers (K8) VM Typical Software stack
  • 37. When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm Business Logic Trusted Env Framework (contracts) Microservice framework (Spring) Package and deploy a service 90% of the code is not yours
  • 38. When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm Microservices shortcoming at scale Business Logic Trusted Env Framework (contracts) Microservice framework (Spring) ● Deployment size has a large footprint - framework is compiled with each microservice. ● Frameworks/libraries versions are tied to the microservice deploy lifecycle ● Urgent security fixes of thousands of services (aka Log4J) ● Supporting multiple languages need to duplicate the whole framework
  • 39. When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm Microservice 95%-99% of the code that runs a typical Microservice, is code that you DIDN’T write
  • 40. Run Deploy Code When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm In a perfect world No integration wiring overhead Minimal testing Zero boilerplate code Fast deployment Easy development with minimal cognitive load Good performance No or little operations overhead Low cost Easy updates Scalable
  • 41. When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm Why not take the best of all worlds Microservices Serverless Monolith Managed Platform
  • 42. When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm Monolith Microservices Serverless ? Which is better?
  • 43. PaaR Platform as a Runtime = Reality + Vision
  • 44. When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm • Easy development with minimal cognitive load • No integration wiring overhead • Good performance • Fast deployment • Low cost • No or little operations overhead • Minimal testing • Zero boilerplate code Wix Velo (Managed platform)
  • 45. When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm Wix Platform as a Runtime V1 (PaaR) Business Logic Data services Service integration layer (gRPC/REST/Kafka) Application framework Node.js
  • 46. When DevOps Runs Its Course – We Need Platform as a Runtime Business Logic Data services Service integration layer (gRPC/REST/Kafka) Application framework Node.js When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm Node.js • Lightweight • Dynamic code loading • Easy to learn Node.js
  • 47. When DevOps Runs Its Course – We Need Platform as a Runtime Business Logic Data services Service integration layer (gRPC/REST/Kafka) Application framework Node.js When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm Wix Microservices framework • Based on express • Handles trusted environment contracts ○ HTTP headers ○ Authorization ○ Authentication ○ Monitoring ○ Logging / BI ○ Experiments (A/B Testing) Application framework
  • 48. When DevOps Runs Its Course – We Need Platform as a Runtime Business Logic Data services Service integration layer (gRPC/REST/Kafka) Application framework Node.js When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm Service Integration Layer • Repository of all Wix GRPC / REST clients ○ Based on Protobuf • Kafka client integrations Service integration layer (gRPC/REST/Kafka)
  • 49. When DevOps Runs Its Course – We Need Platform as a Runtime Business Logic Data services Service integration layer (gRPC/REST/Kafka) Application framework Node.js When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm Data Services • Integration to simple Key/Value store (DynamoDB) Data services
  • 50. When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm PaaR Serverless Package the platform as a serverless container Data services Service integration layer (gRPC/REST/Kafka) Application framework Node.js
  • 51. When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm PaaR Serverless Your Code Your Code Dynamically loaded into the runtime
  • 52. When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm PaaR Serverless F1 F2 F3 Trusted environment – Can run multiple functions in a single container
  • 53. When DevOps Runs Its Course – We Need Platform as a Runtime Business Logic Data services Service integration layer (gRPC/REST/Kafka) Application framework Node.js When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm Write your function with just business logic ● No integrations ○ Just declare which services you want to use ● Less testing ○ No integration tests needed (don’t test the platform) ● Think very small functions ○ Just your business logic. ● Fast deployment ○ Small code, you don’t package the framework ● Zero boilerplate ○ All integrations are provided and preconfigured ○ No boilerplate or wiring needed
  • 54. When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm Developer Experience Code Example
  • 55. When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm 1. Add an API to: • Retrieve a task details from the tasks microservice • Retrieve details of the person assigned to this task from the contacts microservice. We have a task management system 2. Every time a task is created write an audit log to a database Task
  • 56. When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm Just the code you need...
  • 57. When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm Just the code you need...
  • 58. When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm Just the code you need...
  • 59. When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm Just the code you need...
  • 60. When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm Just the code you need...
  • 61. When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm Quick Pipeline Nano Deployments = Stream Development • Minimal code • No framework packaging • Zero startup time • Deployable artifact size <10kb • Separation of source structure from deployment packaging 1-2 minutes Run Deploy Build Push
  • 62. Run Deploy Code When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm Let’s optimize the Runtime Platform as a Service Platform Complex topology Performance Hard to monitor/debug Easy to scale Clear service owner
  • 63. When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm PaaR Flexible, Dynamic, Optimized, Cost-Effective Scalability This is the “R(untime)” in PaaR.
  • 64. Node Serverless Runtime Ecom Node Serverless Runtime Payment When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm F1 F2 F4 F6 F3 F5 Container strategy For regulations (PCI) Noisy neighbors Team ownership Flexible Topology - Isolated Environment
  • 65. Node Serverless Runtime Ecom Node Serverless Runtime Payment When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm F1 F2 F4 F6 F3 F5 In process calls = RPC calls
  • 66. Node Serverless Runtime Ecom Node Serverless Runtime Payment When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm Lets Scale out F4 F4 F2 F4 F6 F3 F5 F4 F1 Auto scale on a function level
  • 67. Node Serverless Runtime Ecom Node Serverless Runtime Payment When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm F2 F5 F2 and F5 frequently interact F1 F2 F4 F6 F3 F5 F5 JIT Performance optimization Reduce network calls Increase throughput Optimized Function Deployment Affinity
  • 68. When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm Microservices challenges at scale ● Deployment size has a large footprint - framework is compiled with each microservice. ● Frameworks/libraries versions are tied to the microservice build/deploy lifecycle ● Urgent security fixes of thousands of services (aka Log4J) ● Supporting multiple languages need to duplicate the whole framework
  • 69. But Wait…We are missing something (WIP) Additional languages support Without rewriting the framework multiple times To support more use cases that node.js is not the right tool for the job To quickly integrate acquired companies
  • 70. When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm Wix Single Runtime (WIP) V2
  • 71. When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm • One framework development • Can support any language for business logic • Not just functions, but Microservices Host Guest Wix Single Runtime – Support any Language Business Logic Guest SDK Data Services Service integration Layer (GRPC/REST/Kafka) Single Runtime framework
  • 72. When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm Ingress and Egress communication via “Host”, i.e Platform as a Service (Daemon set) VM PaaR Host (Daemon set) PaaR Guest (K8s pod) Srv 4 PaaR Guest (K8s pod) Srv 5 PaaR Guest (K8s pod) Srv 2 VM PaaR Host (Daemon set) PaaR Guest (K8s pod) Srv 1 PaaR Guest (K8s pod) Srv 3 PaaR Guest (K8s pod) Srv 2
  • 73. When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm Decisions and tradeoffs VM PaaR Host (Daemon set) PaaR Guest (K8s pod) Srv 4 PaaR Guest (K8s pod) Srv 5 PaaR Guest (K8s pod) Srv 2 • Tradeoff in-process to localhost communication. • Taking advantage of K8s ecosystem for deployment management. • Larger guest footprint (still ±50% smaller than a regular microservice) • Up to 2ms overhead from typical microservice
  • 74. When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm Microservices challenges at scale [SOLVED] Host Guest Business Logic Guest SDK Data Services Service integration Layer (GRPC/REST/Kafka) Single Runtime framework ● Cost effective, smaller footprint of guest than microservice (no framework is compiled with each service) ● Single framework version, with its own lifecycle ● Urgent security fixes of thousands of services (aka Log4J) ● Multiple languages (just write a different guest SDK instead of duplicating the whole framework)
  • 75. When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm Wix Managed Data Layer Message Bus Platform Services (logs…) Single Runtime is the Platform (PaaR) Single Runtime Microservices Microservices Microservices Microservices Microservices Microservices DB DB DB DB API GW / Networking
  • 76. Run Deploy Code When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm Complexity solved* Platform as a Service Platform PaaR
  • 77. When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm Code Run Deploy PaaR Like a Microservice Like a Function Like a (virtual) Monolith When DevOps Runs Its Course – We Need Platform as a Runtime @aviranm Brings business value FAST Improved dev velocity by 50%-80% Up to 50% cost reduction on compute*
  • 78. Thank you. Let’s talk! www.aviransplace.com Twitter: @aviranm linkedin/aviran Aviran Mordo VP Engineering Wix.com Qcon London 2024 Blog post: https://wix.to/WYA8sUw
  • 79. Remember to vote and share feedback on the InfoQ App or online. Please vote and leave feedback! Any questions?