SlideShare une entreprise Scribd logo
1  sur  78
Télécharger pour lire hors ligne
Adding Real-time
Features to PHP
Applications
About me
@ronnylt
Ronny López
Technical Lead
Opinions are my own
Agenda
• Concepts and foundations
• Real-time communication patterns
• Implementations
• Examples
Real-time
A system is said to be real-time if the total
correctness of an operation depends not only upon
its logical correctness, but also upon the time in
which it is performed
Real-time
Applications must guarantee response within
specified time constraints, often referred to as
“deadlines”
Real-time
Applications in which the computer must
respond as rapidly as required by the user
Criteria for real-time
• Hard – missing a deadline is a total system failure

• Firm – infrequent deadline misses are tolerable, but
may degrade the system's QoS. Results are NOT
usefulness after its deadline

• Soft – the usefulness of a result degrades after its
deadline, thereby degrading the system’s QoS
Real-time
Soft real-time
Soft real-time
Typically used to solve issues of concurrent
access and the need to keep a number of
connected systems up-to-date through
changing situations
Soft real-time use cases
• Live audio-video systems
• Users collaboration
• Messaging applications, etc…
• Real-time analytics
• Gaming
• Etc…
The road to 500 million
Symfony downloads
https://symfony.com/500million
Why adding a soft

real-time feature?
• To improve end-user experience
• Due to insufficient scaling capacity
Real-time
Communication on the
Web
A Bit of History
• Flash
• Ajax (XMLHttpRequest)
• Comet (reverse Ajax)
• WebSocket
• Polyfills
The Modern Web
• WebSockets
• HTTP/2
WebSockets
• Full-duplex communication channels over a
single TCP connection
• Currently supported in most major
browsers
• Can be used by any client or server
application
HTTP/2
• Major revision of the HTTP
• Replacement for how HTTP is expressed
“on the wire”
• Focus on performance, end-user perceived
latency, network and server resource usage
The Mobile Internet
• Inestable connections
• HTTP & TCP slow-start are usually not a
good match for constantly dropped
connections
• Network interface kills battery
• Large responses + periodic polling = bad
What EveryWeb
Developer Should Know
About Networking and
Browser Performance
Real-time
Communication
Patterns
The “actors”
Client Server
Peer Peer
Basic Patterns
• Remote Procedure Call (RPC)
• PUB/SUB
RPC
• Allows to call a procedure (function)
remotely
• Involves peers of these three roles
Caller CalleeDealer
RPC – Example 1
Something you usually do with Ajax
Browser Server
GetConference(123)
{name:deSymfony,where: Madrid}
RPC – Example 2
Push data to the browser
BrowserServer
DisplayOffer(offer)
RPC – Example 3
Communication between micro-services
Auth
Server
login(user)
Analytics Payments
track(user) process(order)
Publisher/Subscriber
• A peer subscribe to a topic
• Another peer publish a message about this
topic
• All publishers interested in the topic
receives the message
PUB/SUB – Example 1
Notifications
Browser
Server
updateStats(stats)
Browser Browser
Subscribed To: StatsUpdate
PUB/SUB – Example 2
Micro-services Synchronization
Auth
Admin
Service
updateSettings(freshSettings)
Encoding Payments
Subscribed To: SettingsChanges
Analytics
Web Application Messaging Protocol

http://wamp-proto.org/
Not to be confused with WAMP:
”Windows + Apache + MySQL + PHP"
WAMP
• Open standard WebSocket subprotocol
• Provides two application messaging
patterns in one unified protocol
• Remote Procedure Calls
• Publish & Subscribe
WAMP Features
• Enables different technologies, processes,
machines, etc… to communicate with each
other, in soft real-time
WAMP Features
• Based on modern Web standards:
WebSocket, JSON and URIs
• Designed with first-class support for
different languages in mind (Polyglot)
Unified Application Routing
Routing of events (for PUB/SUB) and routing of
calls (for RPC) in one unified protocol
Caller CalleeDealer
Publisher SubscriberBroker
Dealer
• Routes calls from the caller to the callee
and routes back results or errors
• Callers and callee don’t know about each
other
• Applications using RPC benefit from these
loose coupling
Caller CalleeDealer
Broker
• Keeps a book of subscriptions
• Forward the events (messages) to all
subscribers
• Publisher are subscribers are loosely
coupled
Publisher SubscriberBroker
Unified Protocol
• When you combine a Broker and a Dealer
you get what WAMP calls a Router
Router Broker Dealer= +
The Big Picture
WAMP Router
(Dealer + Broker)
BrowserBrowserBrowserBrowser
Mobile
Clients
Services
Do we really need
another wheel?
How does WAMMP compare to other technologies
Criteria
• Pub/Sub
• RPC
• Routed RPC (not only point-to-point)
• Web native: run natively on the Web (without
tunneling or bridging)
• Cross Language
• Open Standard
Tech PubSub RPC
Routed
RPC
Web native
Cross
Language
Open
Standard
WAMP ✔ ✔ ✔ ✔ ✔ ✔
Ajax ✔ ✔ ✔
Comet ✔ ✔
JSON-RPC ✔ ✔ ✔ ✔
socket.io ✔ ✔
ZMQ ✔ ✔
XMPP ✔ ✔ ✔ ✔
Implementations
• Client libraries for most popular languages
• Full featured router implementations in
several languages
WAMP Routers
• crossbar.io – Advanced, open-source, full
featured, supported by the creators of
WAMP

• Your own… It’s an open protocol
WAMP Ecosystem
• Thruway – library built in PHP that provides
both a client and a router
• Turnpike – router implemented in Go

• wamp.rt  – router for NodeJS

• Erwa – router implemented in Erlang

Choosing an
implementation
Let’s talk about trade-offs
Is PHP suitable for soft
real-time applications?
Is PHP the right tool
for the job?
No.
No?
Why not?
Let’s use
Node.js ! It’s an opportunity to
deploy Erlang or
Golang, or …
Languages War
Conflicts Everywhere
Conflicts everywhere
Trade-offs everywhere
Trade-off
• Situation that involves losing one
quality or aspect of something in
return for gaining another quality
or aspect

• It often implies a decision to be
made with full comprehension of
both the upside and downside of
a particular choice
Is PHP the right tool
for the job?
There is not simple answer
The simpler answer I know is:
“I don’t care”
PHP Codebase

(Symfony, Silex, Laravel, Drupal, etc…)
Clients
Web, Mobile, etc…
Request/Response
Request/Response
Real-time API

Pub/Sub, RPC, etc..
RPC
• A big ecosystem of thousands of useful
libraries and components easily installable
thanks to Composer
• Very powerful template engines, ORMs,
etc…
• We have implemented very powerful design
patters in PHP coming from Java and other
languages
• We have several thousands of high quality code
running on production
• We have invested multiple hours testing,
refactoring and improving the codebase
It’s here to stay
Remember
Full comprehension of both the upsides and downsides
of a particular choice
Downsides
• We have to introduce a new stack to
provide real-time features
Upsides
• Possibility to introduce real-time features
without deep modifications in the current
codebase
• No need to learn a whole new language/
stack, with the implications it has
• Loosely coupled systems
Upsides cont…
• Opens the door to write reactive, event-
based, distributed architectures
• Scalability is easier to achieve by
distributing messages to multiple systems
Examples
The Stack
• crossbar.io used as the router (dealer+broker)
• PHP client gathers and publish events
• Silex/Symfony backend serve the data and
contains the biz logic
crossbar.io
• Networking platform for distributed and
micro-services applications
• Full implementation of the WAMP protocol
• Feature rich, scalable, robust and secure
• It takes care of the hard parts of messaging
so you can focus on your app's features
Tips and Tricks
• WSS
• Deadlines
• Timeouts
• Retries with back-off, etc…
• Idempotency
Opinionated
Conclusion
• Understand core concepts and patterns,
technology is volatile
• Question everything: Why?, why not?
• Decide based on several factors: user
experience, scalability, feasibility, developer
experience, maintenance costs/debt, etc…
Don’t Stop Here
• gRPC – A high performance, open-source
universal RPC framework from Google



http://www.grpc.io/

• IoT, WoT, etc… – real world objects
connected to the wider internet
References
• WAMP Proto – http://wamp-proto.org/
• https://github.com/voryx/ThruwayBundle
• https://www.infoq.com/articles/websocket-
and-http2-coexist
Questions
• What about React PHP?
• Multi-Threading in PHP with pthreads?

https://gist.github.com/krakjoe/6437782/
• Micro-services what?
Gracias!
@ronnylt
Work with us!

Contenu connexe

Tendances

A tour of Java and the JVM
A tour of Java and the JVMA tour of Java and the JVM
A tour of Java and the JVMAlex Birch
 
RabbitMQ fairly-indepth
RabbitMQ fairly-indepthRabbitMQ fairly-indepth
RabbitMQ fairly-indepthWee Keat Chin
 
Messaging Standards and Systems - AMQP & RabbitMQ
Messaging Standards and Systems - AMQP & RabbitMQMessaging Standards and Systems - AMQP & RabbitMQ
Messaging Standards and Systems - AMQP & RabbitMQAll Things Open
 
High powered messaging with RabbitMQ
High powered messaging with RabbitMQHigh powered messaging with RabbitMQ
High powered messaging with RabbitMQJames Carr
 
Integrating PostgreSql with RabbitMQ
Integrating PostgreSql with RabbitMQIntegrating PostgreSql with RabbitMQ
Integrating PostgreSql with RabbitMQGavin Roy
 
EUC2015 - Load testing XMPP servers with Plain Old Erlang
EUC2015 - Load testing XMPP servers with Plain Old ErlangEUC2015 - Load testing XMPP servers with Plain Old Erlang
EUC2015 - Load testing XMPP servers with Plain Old ErlangPaweł Pikuła
 
Being Agile with Scrum - koders.co
Being Agile with Scrum - koders.coBeing Agile with Scrum - koders.co
Being Agile with Scrum - koders.coEnder Aydin Orak
 
ZaloPay Merchant Platform on K8S on-premise
ZaloPay Merchant Platform on K8S on-premiseZaloPay Merchant Platform on K8S on-premise
ZaloPay Merchant Platform on K8S on-premiseChau Thanh
 
Apache james more than emails in the cloud
Apache james  more than emails in the cloudApache james  more than emails in the cloud
Apache james more than emails in the cloudIoan Eugen Stan
 
Parallel and Asynchronous Programming - ITProDevConnections 2012 (Greek)
Parallel and Asynchronous Programming -  ITProDevConnections 2012 (Greek)Parallel and Asynchronous Programming -  ITProDevConnections 2012 (Greek)
Parallel and Asynchronous Programming - ITProDevConnections 2012 (Greek)Panagiotis Kanavos
 
Java Application Servers Are Dead!
Java Application Servers Are Dead!Java Application Servers Are Dead!
Java Application Servers Are Dead!Eberhard Wolff
 
CBDW2014- Intro to CommandBox; The ColdFusion CLI, Package Manager, and REPL ...
CBDW2014- Intro to CommandBox; The ColdFusion CLI, Package Manager, and REPL ...CBDW2014- Intro to CommandBox; The ColdFusion CLI, Package Manager, and REPL ...
CBDW2014- Intro to CommandBox; The ColdFusion CLI, Package Manager, and REPL ...Ortus Solutions, Corp
 

Tendances (20)

A tour of Java and the JVM
A tour of Java and the JVMA tour of Java and the JVM
A tour of Java and the JVM
 
RabbitMQ fairly-indepth
RabbitMQ fairly-indepthRabbitMQ fairly-indepth
RabbitMQ fairly-indepth
 
Keeping up with PHP
Keeping up with PHPKeeping up with PHP
Keeping up with PHP
 
XMPP Academy #1
XMPP Academy #1XMPP Academy #1
XMPP Academy #1
 
Messaging Standards and Systems - AMQP & RabbitMQ
Messaging Standards and Systems - AMQP & RabbitMQMessaging Standards and Systems - AMQP & RabbitMQ
Messaging Standards and Systems - AMQP & RabbitMQ
 
Fabric8 mq
Fabric8 mqFabric8 mq
Fabric8 mq
 
High powered messaging with RabbitMQ
High powered messaging with RabbitMQHigh powered messaging with RabbitMQ
High powered messaging with RabbitMQ
 
Integrating PostgreSql with RabbitMQ
Integrating PostgreSql with RabbitMQIntegrating PostgreSql with RabbitMQ
Integrating PostgreSql with RabbitMQ
 
EUC2015 - Load testing XMPP servers with Plain Old Erlang
EUC2015 - Load testing XMPP servers with Plain Old ErlangEUC2015 - Load testing XMPP servers with Plain Old Erlang
EUC2015 - Load testing XMPP servers with Plain Old Erlang
 
Being Agile with Scrum - koders.co
Being Agile with Scrum - koders.coBeing Agile with Scrum - koders.co
Being Agile with Scrum - koders.co
 
ZaloPay Merchant Platform on K8S on-premise
ZaloPay Merchant Platform on K8S on-premiseZaloPay Merchant Platform on K8S on-premise
ZaloPay Merchant Platform on K8S on-premise
 
Apache james more than emails in the cloud
Apache james  more than emails in the cloudApache james  more than emails in the cloud
Apache james more than emails in the cloud
 
Apache James/Hupa & GWT
Apache James/Hupa & GWTApache James/Hupa & GWT
Apache James/Hupa & GWT
 
NullMQ @ PDX
NullMQ @ PDXNullMQ @ PDX
NullMQ @ PDX
 
webservers
webserverswebservers
webservers
 
Lecture6
Lecture6Lecture6
Lecture6
 
Composer
ComposerComposer
Composer
 
Parallel and Asynchronous Programming - ITProDevConnections 2012 (Greek)
Parallel and Asynchronous Programming -  ITProDevConnections 2012 (Greek)Parallel and Asynchronous Programming -  ITProDevConnections 2012 (Greek)
Parallel and Asynchronous Programming - ITProDevConnections 2012 (Greek)
 
Java Application Servers Are Dead!
Java Application Servers Are Dead!Java Application Servers Are Dead!
Java Application Servers Are Dead!
 
CBDW2014- Intro to CommandBox; The ColdFusion CLI, Package Manager, and REPL ...
CBDW2014- Intro to CommandBox; The ColdFusion CLI, Package Manager, and REPL ...CBDW2014- Intro to CommandBox; The ColdFusion CLI, Package Manager, and REPL ...
CBDW2014- Intro to CommandBox; The ColdFusion CLI, Package Manager, and REPL ...
 

Similaire à Adding Real-time Features to PHP Applications

Building Modern Digital Services on Scalable Private Government Infrastructur...
Building Modern Digital Services on Scalable Private Government Infrastructur...Building Modern Digital Services on Scalable Private Government Infrastructur...
Building Modern Digital Services on Scalable Private Government Infrastructur...Andrés Colón Pérez
 
Building high performance microservices in finance with Apache Thrift
Building high performance microservices in finance with Apache ThriftBuilding high performance microservices in finance with Apache Thrift
Building high performance microservices in finance with Apache ThriftRX-M Enterprises LLC
 
AMF Flash and .NET
AMF Flash and .NETAMF Flash and .NET
AMF Flash and .NETYaniv Uriel
 
Micro Services Architecture
Micro Services ArchitectureMicro Services Architecture
Micro Services ArchitectureRanjan Baisak
 
Building real time applications with Symfony2
Building real time applications with Symfony2Building real time applications with Symfony2
Building real time applications with Symfony2Antonio Peric-Mazar
 
Realtime traffic analyser
Realtime traffic analyserRealtime traffic analyser
Realtime traffic analyserAlex Moskvin
 
Beyond REST and RPC: Asynchronous Eventing and Messaging Patterns
Beyond REST and RPC: Asynchronous Eventing and Messaging PatternsBeyond REST and RPC: Asynchronous Eventing and Messaging Patterns
Beyond REST and RPC: Asynchronous Eventing and Messaging PatternsClemens Vasters
 
Foundational Design Patterns for Multi-Purpose Applications
Foundational Design Patterns for Multi-Purpose ApplicationsFoundational Design Patterns for Multi-Purpose Applications
Foundational Design Patterns for Multi-Purpose ApplicationsChing-Hwa Yu
 
Node.js BFFs - our way to the better/micro frontends
Node.js BFFs - our way to the better/micro frontendsNode.js BFFs - our way to the better/micro frontends
Node.js BFFs - our way to the better/micro frontendsEugene Fidelin
 
PMIx: Bridging the Container Boundary
PMIx: Bridging the Container BoundaryPMIx: Bridging the Container Boundary
PMIx: Bridging the Container Boundaryrcastain
 
Realtime Applications with Laravel - LaravelLive India Online Meetup Jun 2020
Realtime Applications with Laravel - LaravelLive India Online Meetup Jun 2020Realtime Applications with Laravel - LaravelLive India Online Meetup Jun 2020
Realtime Applications with Laravel - LaravelLive India Online Meetup Jun 2020Mitul Golakiya
 
Scaling habits of ASP.NET
Scaling habits of ASP.NETScaling habits of ASP.NET
Scaling habits of ASP.NETDavid Giard
 
Overcoming software development challenges by using an integrated software fr...
Overcoming software development challenges by using an integrated software fr...Overcoming software development challenges by using an integrated software fr...
Overcoming software development challenges by using an integrated software fr...Design World
 
HPC Controls Future
HPC Controls FutureHPC Controls Future
HPC Controls Futurercastain
 
Apache Thrift, a brief introduction
Apache Thrift, a brief introductionApache Thrift, a brief introduction
Apache Thrift, a brief introductionRandy Abernethy
 

Similaire à Adding Real-time Features to PHP Applications (20)

Building Modern Digital Services on Scalable Private Government Infrastructur...
Building Modern Digital Services on Scalable Private Government Infrastructur...Building Modern Digital Services on Scalable Private Government Infrastructur...
Building Modern Digital Services on Scalable Private Government Infrastructur...
 
Building high performance microservices in finance with Apache Thrift
Building high performance microservices in finance with Apache ThriftBuilding high performance microservices in finance with Apache Thrift
Building high performance microservices in finance with Apache Thrift
 
Introduction to SignalR
Introduction to SignalRIntroduction to SignalR
Introduction to SignalR
 
AMF Flash and .NET
AMF Flash and .NETAMF Flash and .NET
AMF Flash and .NET
 
Micro Services Architecture
Micro Services ArchitectureMicro Services Architecture
Micro Services Architecture
 
Optimizing performance
Optimizing performanceOptimizing performance
Optimizing performance
 
Building real time applications with Symfony2
Building real time applications with Symfony2Building real time applications with Symfony2
Building real time applications with Symfony2
 
Realtime traffic analyser
Realtime traffic analyserRealtime traffic analyser
Realtime traffic analyser
 
Beyond REST and RPC: Asynchronous Eventing and Messaging Patterns
Beyond REST and RPC: Asynchronous Eventing and Messaging PatternsBeyond REST and RPC: Asynchronous Eventing and Messaging Patterns
Beyond REST and RPC: Asynchronous Eventing and Messaging Patterns
 
Foundational Design Patterns for Multi-Purpose Applications
Foundational Design Patterns for Multi-Purpose ApplicationsFoundational Design Patterns for Multi-Purpose Applications
Foundational Design Patterns for Multi-Purpose Applications
 
Node.js BFFs - our way to the better/micro frontends
Node.js BFFs - our way to the better/micro frontendsNode.js BFFs - our way to the better/micro frontends
Node.js BFFs - our way to the better/micro frontends
 
PMIx: Bridging the Container Boundary
PMIx: Bridging the Container BoundaryPMIx: Bridging the Container Boundary
PMIx: Bridging the Container Boundary
 
Real time web apps
Real time web appsReal time web apps
Real time web apps
 
Realtime Applications with Laravel - LaravelLive India Online Meetup Jun 2020
Realtime Applications with Laravel - LaravelLive India Online Meetup Jun 2020Realtime Applications with Laravel - LaravelLive India Online Meetup Jun 2020
Realtime Applications with Laravel - LaravelLive India Online Meetup Jun 2020
 
Scaling habits of ASP.NET
Scaling habits of ASP.NETScaling habits of ASP.NET
Scaling habits of ASP.NET
 
Overcoming software development challenges by using an integrated software fr...
Overcoming software development challenges by using an integrated software fr...Overcoming software development challenges by using an integrated software fr...
Overcoming software development challenges by using an integrated software fr...
 
Thick client application security assessment
Thick client  application security assessmentThick client  application security assessment
Thick client application security assessment
 
Microservices-101
Microservices-101Microservices-101
Microservices-101
 
HPC Controls Future
HPC Controls FutureHPC Controls Future
HPC Controls Future
 
Apache Thrift, a brief introduction
Apache Thrift, a brief introductionApache Thrift, a brief introduction
Apache Thrift, a brief introduction
 

Dernier

What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....kzayra69
 

Dernier (20)

What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....
 

Adding Real-time Features to PHP Applications