SlideShare une entreprise Scribd logo
1  sur  124
How Flipkart
 Scales PHP
   Tips & Tricks
About Flipkart


• Flipkart.com
• India’s largest eCommerce website*
• Millions of requests/day
About Me


• Siddhartha Reddy
• Tech Lead at Flipkart
• Taking care of Search & Browse experience
Today



• Flipkart.com’s Architecture
   • How each component addresses scale
Flipkart.com’s
           Architecture
                                   Session
                        Database
                                    Store



                                   CMS
 Load         Web
Balancer    Server(s)

                                   Search



                        Caches     OMS
What is Scaling?
What is Scaling?


• Handle large amount of traffic
• High availability
• Good response times
How Flipkart Scales
How Flipkart Scales
• Logging and measuring
• Horizontal Scaling
   • Load-balancing
• High Availability setup
• Web-server optimizations
• Caching
How Flipkart Scales
How Flipkart Scales
• Logging and measuring
• Horizontal Scaling
   • Load-balancing
• High Availability setup
• Web-server optimizations
• Caching
Logging & Measuring
Logging & Measuring
How Flipkart Scales

• Horizontal Scaling
   • Load-balancing
• High Availability setup
• Web-server optimizations
• Caching
Traffic
Servers: Chuck Norris Style
Servers: Spartan Style
Horizontal Scaling
Horizontal Scaling


      Traffic




   web-1       web-2   ...   web-n
Horizontal Scaling


                    Load-
      Traffic       balancer




   web-1       web-2          ...   web-n
Horizontal Scaling


                    Load-
      Traffic       balancer




   web-1       web-2          ...   web-n
Horizontal Scaling


                    Load-
      Traffic       balancer




   web-1       web-2          ...   web-n
Horizontal Scaling


                    Load-
      Traffic       balancer




   web-1       web-2          ...   web-n
Horizontal Scaling


                    Load-
      Traffic       balancer




   web-1       web-2          ...   web-n
How Flipkart Scales

• Horizontal Scaling
   • Load-balancing
• High Availability setup
• Web-server optimizations
• Caching
Load Balancer
Load Balancer


• Internal binary services (Apache Thrift)
• Internal web services (HTTP)
• External web traffic (HTTP/HTTPS)
Load Balancer


• Internal binary services (Apache Thrift)
• Internal web services (HTTP)
• External web traffic (HTTP/HTTPS)
Load Balancer
• Internal binary services (Apache Thrift)
   • Software: HAProxy
   • Transport layer (TCP) load balancer
   • TCP connect for availability check
• Internal web services (HTTP)
• External web traffic (HTTP/HTTPS)
Load Balancer


• Internal binary services (Apache Thrift)
• Internal web services (HTTP)
• External web traffic (HTTP/HTTPS)
Load Balancer
• Internal binary services (Apache Thrift)
• Internal web services (HTTP)
    • Software: Varnish
    • Application Layer (HTTP) load balancer
    • Configurable/scriptable caching
    • HTTP GET for availability check
• External web traffic (HTTP/HTTPS)
Load Balancer


• Internal binary services (Apache Thrift)
• Internal web services (HTTP)
• External web traffic (HTTP/HTTPS)
Load Balancer
• Internal binary services (Apache Thrift)
• Internal web services (HTTP)
• External web traffic (HTTP/HTTPS)
    • Software: Nginx
    • Application Layer (HTTP/HTTPS) load balancer
    • Caches and serves static content (JS/images)
    • HTTP GET for availability check
Load Balancer:
Session Affinity?

               Load-
              balancer




                         ...   web-n
  web-1   web-2
Load Balancer:
Session Affinity?

     SID: 123 (1)
                         Load-
                        balancer




                                   ...   web-n
  web-1             web-2
Load Balancer:
Session Affinity?

     SID: 123 (1)
                         Load-
                        balancer




                                   ...   web-n
  web-1             web-2
Load Balancer:
Session Affinity?

     SID: 123 (1)
                         Load-
                        balancer


                                   SID: 123 (1)




                                   ...            web-n
  web-1             web-2
Load Balancer:
Session Affinity?

     SID: 123 (1)
                         Load-
     SID: 123 (2)       balancer


                                   SID: 123 (1)




                                   ...            web-n
  web-1             web-2
Load Balancer:
Session Affinity?

     SID: 123 (1)
                         Load-
     SID: 123 (2)       balancer


                                   SID: 123 (1)




                                   ...            web-n
  web-1             web-2
Load Balancer:
Session Affinity?

     SID: 123 (1)
                           Load-
     SID: 123 (2)         balancer


                                     SID: 123 (1)
                      SID: 123 (2)




                                     ...            web-n
  web-1             web-2
HTTP Load Balancing:
  Session Affinity
HTTP Load Balancing:
    Session Affinity

• (+) Sessions can be stored on the web server

• (+) Different code on different web servers

    • Useful for testing new code on a subset of users

• (-) If any web server goes down, need to migrate sessions

• (-) Not easy to take a web server out-of-rotation
HTTP Load Balancer:
Session Non-affinity
HTTP Load Balancer:
   Session Non-affinity
• Sessions stored in a common session-store
• (+) Easy to manage -- all web servers have identical state
• (+) If a web server goes down -- no problem
• (+) Can take any web server out-of-rotation
• (-) Can’t deploy to a subset of servers for testing
• (-) Central session-store could be slower
HTTP Load Balancer:
Session Some-affinity
HTTP Load Balancer:
 Session Some-affinity


• Sessions sticky to a subset (group) of machines
• Use a common session-store
How Flipkart Scales

• Horizontal Scaling
   • Load-balancing
• High Availability setup
• Web-server optimizations
• Caching
Load Balancer:
  Hardware?
Load Balancer:
            Hardware?

• Expensive

• Inflexible to manage

• They run Linux anyway!
Flipkart’s Load-
   Balancers
Flipkart’s Load-
   Balancers
Flipkart’s Load-
   Balancers
Flipkart’s Load-
   Balancers
Flipkart’s Load-
   Balancers
Flipkart’s Load-
   Balancers
Flipkart’s Load-
   Balancers
Flipkart’s Load-
   Balancers
Flipkart’s Load-
       balancers



 bond:1            bond:1
(10.3.1.1)        (10.3.1.2)


 bond:0            bond:0
(10.3.0.1)        (10.3.0.2)
Flipkart’s Load-
        balancers



  bond:1            bond:1
 (10.3.1.1)        (10.3.1.2)


  bond:0            bond:0
 (10.3.0.1)        (10.3.0.2)




Active
Flipkart’s Load-
        balancers



  bond:1              bond:1
 (10.3.1.1)          (10.3.1.2)


  bond:0              bond:0
 (10.3.0.1)          (10.3.0.2)




Active           Hot Stand-by
Flipkart’s Load-
        balancers



  bond:1              bond:1
 (10.3.1.1)          (10.3.1.2)


  bond:0              bond:0
 (10.3.0.1)          (10.3.0.2)


 bond:0:0
 (10.3.0.0)


Active           Hot Stand-by
Flipkart’s Load-
        balancers



  bond:1                       bond:1
 (10.3.1.1)                   (10.3.1.2)


  bond:0                       bond:0
              Heartbeat
 (10.3.0.1)                   (10.3.0.2)


 bond:0:0
 (10.3.0.0)


Active                    Hot Stand-by
How Flipkart Scales

• Horizontal Scaling
   • Load-balancing
• High Availability setup
• Web-server optimizations
• Caching
On the Web Servers
On the Web Servers


• PHP5
On the Web Servers


• PHP5
• Apache/mod_php
On the Web Servers


• PHP5
• Apache/mod_php
On the Web Servers


• PHP5
• Apache/mod_php
• Apache/mod_fcgid (FastCGI)
On the Web Servers


• PHP5
• Apache/mod_php
• Apache/mod_fcgid (FastCGI)
On the Web Servers

• PHP5
• Apache/mod_php
• Apache/mod_fcgid (FastCGI)
• PHP-FPM
On the Web Servers
• PHP5
• Apache/mod_php
• Apache/mod_fcgid (FastCGI)
• PHP-FPM
    • PHP FastCGI Process Manager
    • Great process management
    • Security
    • Configurability & control
    • Adaptive process spawning (5.3.3RC1+)
On the Web Server:
   fk-w3-agent
On the Web Server:
      fk-w3-agent

• Simple Java “middleware” daemon
On the Web Server:
      fk-w3-agent

• Simple Java “middleware” daemon
• Deployed on each web server
On the Web Server:
      fk-w3-agent

• Simple Java “middleware” daemon
• Deployed on each web server
• Communicates with PHP through local socket
On the Web Server:
      fk-w3-agent

• Simple Java “middleware” daemon
• Deployed on each web server
• Communicates with PHP through local socket
• Hosts pluggable “handlers”
On the Web Server:
      fk-w3-agent

• Simple Java “middleware” daemon
• Deployed on each web server
• Communicates with PHP through local socket
• Hosts pluggable “handlers”
fk-w3-agent: Why?
fk-w3-agent: Why?
• “I wish PHP could ...”
fk-w3-agent: Why?
• “I wish PHP could ...”
• Logging
fk-w3-agent: Why?
• “I wish PHP could ...”
• Logging
• Connection pools
fk-w3-agent: Why?
• “I wish PHP could ...”
• Logging
• Connection pools
• Parallelization
fk-w3-agent: Why?
• “I wish PHP could ...”
• Logging
• Connection pools
• Parallelization
• Config & discovery
fk-w3-agent: Why?
• “I wish PHP could ...”
• Logging
• Connection pools
• Parallelization
• Config & discovery
• Running statistics
fk-w3-agent: Logging
fk-w3-agent: Logging
• We like to log, a lot
fk-w3-agent: Logging
• We like to log, a lot
• Logs need to be flushed to disk
fk-w3-agent: Logging
• We like to log, a lot
• Logs need to be flushed to disk
• PHP resources wasted
    • waiting for disk I/O
    • waiting for lock on log files

    • or logs go missing
fk-w3-agent: Logging
fk-w3-agent: Logging


• PHP processes send logs to fk-w3-agent
• fk-w3-agent writes logs to files
fk-w3-agent:
Connection Pooling
fk-w3-agent:
   Connection Pooling

• Many service calls / request
fk-w3-agent:
   Connection Pooling

• Many service calls / request
• Cost of recreating connections high
fk-w3-agent:
   Connection Pooling

• Many service calls / request
• Cost of recreating connections high
• PHP does not support connection pools*
fk-w3-agent:
Connection Pooling
fk-w3-agent:
   Connection Pooling

• fk-w3-agent maintains persistent connection pools
  to various services
• PHP accesses services by communicating with fk-
  w3-agent
fk-w3-agent:
Parallelization
fk-w3-agent:
        Parallelization


• Service calls can be parallelized
fk-w3-agent:
        Parallelization


• Service calls can be parallelized
• Multi-threading in PHP is ...
fk-w3-agent:
Parallelization
fk-w3-agent:
        Parallelization


• PHP sends request to fk-w3-agent
• fk-w3-agent uses multiple threads to hit services in
  parallel
fk-w3-agent:
Config & Discovery
fk-w3-agent:
    Config & Discovery

• Change config without deployment?
fk-w3-agent:
    Config & Discovery

• Change config without deployment?
• Simple: store config in a database
fk-w3-agent:
    Config & Discovery

• Change config without deployment?
• Simple: store config in a database
• But: reloading config on each request: expensive
fk-w3-agent:
Config & Discovery
fk-w3-agent:
    Config & Discovery

• fk-w3-agent loads config from database
   • Caches it in memory
   • Keeps it up-to-date
• PHP gets config from fk-w3-agent
fk-w3-agent:
Running Statistics
fk-w3-agent:
    Running Statistics

• PHP sends basic stats to fk-w3-agent for every
  request
• fk-w3-agent aggregates these stats
• Used for monitoring
How Flipkart Scales

• Horizontal Scaling
   • Load-balancing
• Web-server optimizations
• Caching
To Cache or not to
     Cache?
To Cache or not to
          Cache?
• “There are only two hard things in Computer
  Science: cache invalidation and naming things”. --
  Tim Bray quoting Phil Karlton
To Cache or not to
          Cache?
• “There are only two hard things in Computer
  Science: cache invalidation and naming things”. --
  Tim Bray quoting Phil Karlton
• “There are only two hard problems in Computer
  Science: cache invalidation, naming things and off-by-1
  errors.”
Caches Invalidation
Caches Invalidation

• Objects updated => Notification Message
Caches Invalidation

• Objects updated => Notification Message
• Remove updated objects from cache
Caches Invalidation

• Objects updated => Notification Message
• Remove updated objects from cache

• Replace updated objects in cache
Caches Invalidation

• Objects updated => Notification Message
• Remove updated objects from cache

• Replace updated objects in cache
• Aggressively populate cold cache
Caches at Flipkart
Caches at Flipkart

• Memcached -- in memory caching
Caches at Flipkart

• Memcached -- in memory caching
• Redis -- persistent store/cache
Caches at Flipkart

• Memcached -- in memory caching
• Redis -- persistent store/cache
• Varnish -- HTTP caching
Caches at Flipkart

• Memcached -- in memory caching
• Redis -- persistent store/cache
• Varnish -- HTTP caching
• fk-w3-agent -- Config caching
Let’s continue the
         discussion

• @sids on Twitter
• siddhartha@flipkart.com
• #phpcloud on irc.freenode.net

Contenu connexe

Tendances

Hack wifi password using kali linux
Hack wifi password using kali linuxHack wifi password using kali linux
Hack wifi password using kali linuxHelder Oliveira
 
Nutanix Technology Bootcamp
Nutanix Technology BootcampNutanix Technology Bootcamp
Nutanix Technology BootcampICT-Partners
 
Private cloud with vmware
Private cloud with vmwarePrivate cloud with vmware
Private cloud with vmwareAnton An
 
Azure App Service Architecture. Web Apps.
Azure App Service Architecture. Web Apps.Azure App Service Architecture. Web Apps.
Azure App Service Architecture. Web Apps.Alexander Feschenko
 
OAuth2 and Spring Security
OAuth2 and Spring SecurityOAuth2 and Spring Security
OAuth2 and Spring SecurityOrest Ivasiv
 
Building a CICD Pipeline for Container Deployment to Amazon ECS
Building a CICD Pipeline for Container Deployment to Amazon ECSBuilding a CICD Pipeline for Container Deployment to Amazon ECS
Building a CICD Pipeline for Container Deployment to Amazon ECSAmazon Web Services
 
Introducing log analysis to your organization
Introducing log analysis to your organization Introducing log analysis to your organization
Introducing log analysis to your organization Sematext Group, Inc.
 
VMware NSX - Lessons Learned from real project
VMware NSX - Lessons Learned from real projectVMware NSX - Lessons Learned from real project
VMware NSX - Lessons Learned from real projectDavid Pasek
 
DevSecOps: Key Controls to Modern Security Success
DevSecOps: Key Controls to Modern Security SuccessDevSecOps: Key Controls to Modern Security Success
DevSecOps: Key Controls to Modern Security SuccessPuma Security, LLC
 
Apache Kafka as Event Streaming Platform for Microservice Architectures
Apache Kafka as Event Streaming Platform for Microservice ArchitecturesApache Kafka as Event Streaming Platform for Microservice Architectures
Apache Kafka as Event Streaming Platform for Microservice ArchitecturesKai Wähner
 
How to Test for The OWASP Top Ten
 How to Test for The OWASP Top Ten How to Test for The OWASP Top Ten
How to Test for The OWASP Top TenSecurity Innovation
 
Security for oauth 2.0 - @topavankumarj
Security for oauth 2.0 - @topavankumarjSecurity for oauth 2.0 - @topavankumarj
Security for oauth 2.0 - @topavankumarjPavan Kumar J
 
DRaaS on Microsoft Azure with Veeam Software
DRaaS on Microsoft Azure with Veeam SoftwareDRaaS on Microsoft Azure with Veeam Software
DRaaS on Microsoft Azure with Veeam SoftwareTanawit Chansuchai
 
0xdec0de01 crypto CTF solutions
0xdec0de01 crypto CTF solutions0xdec0de01 crypto CTF solutions
0xdec0de01 crypto CTF solutionsVlad Garbuz
 
Credential store using HashiCorp Vault
Credential store using HashiCorp VaultCredential store using HashiCorp Vault
Credential store using HashiCorp VaultMayank Patel
 
Penetration Testing
Penetration Testing Penetration Testing
Penetration Testing RomSoft SRL
 

Tendances (20)

Hack wifi password using kali linux
Hack wifi password using kali linuxHack wifi password using kali linux
Hack wifi password using kali linux
 
Nutanix Technology Bootcamp
Nutanix Technology BootcampNutanix Technology Bootcamp
Nutanix Technology Bootcamp
 
Private cloud with vmware
Private cloud with vmwarePrivate cloud with vmware
Private cloud with vmware
 
Azure App Service Architecture. Web Apps.
Azure App Service Architecture. Web Apps.Azure App Service Architecture. Web Apps.
Azure App Service Architecture. Web Apps.
 
OAuth2 and Spring Security
OAuth2 and Spring SecurityOAuth2 and Spring Security
OAuth2 and Spring Security
 
Building a CICD Pipeline for Container Deployment to Amazon ECS
Building a CICD Pipeline for Container Deployment to Amazon ECSBuilding a CICD Pipeline for Container Deployment to Amazon ECS
Building a CICD Pipeline for Container Deployment to Amazon ECS
 
Introducing log analysis to your organization
Introducing log analysis to your organization Introducing log analysis to your organization
Introducing log analysis to your organization
 
VMware NSX - Lessons Learned from real project
VMware NSX - Lessons Learned from real projectVMware NSX - Lessons Learned from real project
VMware NSX - Lessons Learned from real project
 
DevSecOps: Key Controls to Modern Security Success
DevSecOps: Key Controls to Modern Security SuccessDevSecOps: Key Controls to Modern Security Success
DevSecOps: Key Controls to Modern Security Success
 
Secure coding-guidelines
Secure coding-guidelinesSecure coding-guidelines
Secure coding-guidelines
 
IoT on Azure
IoT on AzureIoT on Azure
IoT on Azure
 
Amazon Virtual Private Cloud
Amazon Virtual Private CloudAmazon Virtual Private Cloud
Amazon Virtual Private Cloud
 
Apache Kafka as Event Streaming Platform for Microservice Architectures
Apache Kafka as Event Streaming Platform for Microservice ArchitecturesApache Kafka as Event Streaming Platform for Microservice Architectures
Apache Kafka as Event Streaming Platform for Microservice Architectures
 
How to Test for The OWASP Top Ten
 How to Test for The OWASP Top Ten How to Test for The OWASP Top Ten
How to Test for The OWASP Top Ten
 
Security for oauth 2.0 - @topavankumarj
Security for oauth 2.0 - @topavankumarjSecurity for oauth 2.0 - @topavankumarj
Security for oauth 2.0 - @topavankumarj
 
DRaaS on Microsoft Azure with Veeam Software
DRaaS on Microsoft Azure with Veeam SoftwareDRaaS on Microsoft Azure with Veeam Software
DRaaS on Microsoft Azure with Veeam Software
 
0xdec0de01 crypto CTF solutions
0xdec0de01 crypto CTF solutions0xdec0de01 crypto CTF solutions
0xdec0de01 crypto CTF solutions
 
Credential store using HashiCorp Vault
Credential store using HashiCorp VaultCredential store using HashiCorp Vault
Credential store using HashiCorp Vault
 
Json Web Token - JWT
Json Web Token - JWTJson Web Token - JWT
Json Web Token - JWT
 
Penetration Testing
Penetration Testing Penetration Testing
Penetration Testing
 

Similaire à How Flipkart scales PHP

Routage à grande échelle des requêtes via RabbitMQ
Routage à grande échelle des requêtes via RabbitMQRoutage à grande échelle des requêtes via RabbitMQ
Routage à grande échelle des requêtes via RabbitMQScaleway
 
tc server - vfabric hyperic
tc server - vfabric hyperictc server - vfabric hyperic
tc server - vfabric hypericNadia Boumaza
 
Rethinking State Management in Cloud-Native Streaming Systems
Rethinking State Management in Cloud-Native Streaming SystemsRethinking State Management in Cloud-Native Streaming Systems
Rethinking State Management in Cloud-Native Streaming SystemsYingjun Wu
 
Rethinking State Management in Cloud-Native Streaming Systems With Yingjun Wu...
Rethinking State Management in Cloud-Native Streaming Systems With Yingjun Wu...Rethinking State Management in Cloud-Native Streaming Systems With Yingjun Wu...
Rethinking State Management in Cloud-Native Streaming Systems With Yingjun Wu...HostedbyConfluent
 
Caching the Uncacheable [Long Version]
Caching the Uncacheable [Long Version]Caching the Uncacheable [Long Version]
Caching the Uncacheable [Long Version]Fastly
 
Как сделать высоконагруженный сервис, не зная количество нагрузки / Олег Обле...
Как сделать высоконагруженный сервис, не зная количество нагрузки / Олег Обле...Как сделать высоконагруженный сервис, не зная количество нагрузки / Олег Обле...
Как сделать высоконагруженный сервис, не зная количество нагрузки / Олег Обле...Ontico
 
Northeast PHP - High Performance PHP
Northeast PHP - High Performance PHPNortheast PHP - High Performance PHP
Northeast PHP - High Performance PHPJonathan Klein
 
Simplifying Hyper-V Management for VMware Administrators
Simplifying Hyper-V Management for VMware AdministratorsSimplifying Hyper-V Management for VMware Administrators
Simplifying Hyper-V Management for VMware Administrators5nine
 
"Fintech inside of a SaaS powered by 2000+ Microservices", Volodymyr Malyk
"Fintech inside of a SaaS powered by 2000+ Microservices", Volodymyr Malyk"Fintech inside of a SaaS powered by 2000+ Microservices", Volodymyr Malyk
"Fintech inside of a SaaS powered by 2000+ Microservices", Volodymyr MalykFwdays
 
Web前端性能优化 2014
Web前端性能优化 2014Web前端性能优化 2014
Web前端性能优化 2014Yubei Li
 
Evolving Archetecture
Evolving ArchetectureEvolving Archetecture
Evolving Archetectureleo lapworth
 
A Tale of 2 Systems
A Tale of 2 SystemsA Tale of 2 Systems
A Tale of 2 SystemsDavid Newman
 
Scaling Systems: Architectures that Grow
Scaling Systems: Architectures that GrowScaling Systems: Architectures that Grow
Scaling Systems: Architectures that GrowGibraltar Software
 
The Load Balancer: War Stories with HAProxy
The Load Balancer: War Stories with HAProxyThe Load Balancer: War Stories with HAProxy
The Load Balancer: War Stories with HAProxyGeoff Ballinger
 
Cassandra and drivers
Cassandra and driversCassandra and drivers
Cassandra and driversBen Bromhead
 

Similaire à How Flipkart scales PHP (20)

Routage à grande échelle des requêtes via RabbitMQ
Routage à grande échelle des requêtes via RabbitMQRoutage à grande échelle des requêtes via RabbitMQ
Routage à grande échelle des requêtes via RabbitMQ
 
Demystifying Service Mesh
Demystifying Service MeshDemystifying Service Mesh
Demystifying Service Mesh
 
tc server - vfabric hyperic
tc server - vfabric hyperictc server - vfabric hyperic
tc server - vfabric hyperic
 
Rethinking State Management in Cloud-Native Streaming Systems
Rethinking State Management in Cloud-Native Streaming SystemsRethinking State Management in Cloud-Native Streaming Systems
Rethinking State Management in Cloud-Native Streaming Systems
 
Rethinking State Management in Cloud-Native Streaming Systems With Yingjun Wu...
Rethinking State Management in Cloud-Native Streaming Systems With Yingjun Wu...Rethinking State Management in Cloud-Native Streaming Systems With Yingjun Wu...
Rethinking State Management in Cloud-Native Streaming Systems With Yingjun Wu...
 
Caching the Uncacheable [Long Version]
Caching the Uncacheable [Long Version]Caching the Uncacheable [Long Version]
Caching the Uncacheable [Long Version]
 
Как сделать высоконагруженный сервис, не зная количество нагрузки / Олег Обле...
Как сделать высоконагруженный сервис, не зная количество нагрузки / Олег Обле...Как сделать высоконагруженный сервис, не зная количество нагрузки / Олег Обле...
Как сделать высоконагруженный сервис, не зная количество нагрузки / Олег Обле...
 
Cdn cs6740
Cdn cs6740Cdn cs6740
Cdn cs6740
 
Northeast PHP - High Performance PHP
Northeast PHP - High Performance PHPNortheast PHP - High Performance PHP
Northeast PHP - High Performance PHP
 
Simplifying Hyper-V Management for VMware Administrators
Simplifying Hyper-V Management for VMware AdministratorsSimplifying Hyper-V Management for VMware Administrators
Simplifying Hyper-V Management for VMware Administrators
 
"Fintech inside of a SaaS powered by 2000+ Microservices", Volodymyr Malyk
"Fintech inside of a SaaS powered by 2000+ Microservices", Volodymyr Malyk"Fintech inside of a SaaS powered by 2000+ Microservices", Volodymyr Malyk
"Fintech inside of a SaaS powered by 2000+ Microservices", Volodymyr Malyk
 
Web前端性能优化 2014
Web前端性能优化 2014Web前端性能优化 2014
Web前端性能优化 2014
 
Evolving Archetecture
Evolving ArchetectureEvolving Archetecture
Evolving Archetecture
 
Lattice yapc-slideshare
Lattice yapc-slideshareLattice yapc-slideshare
Lattice yapc-slideshare
 
Istio presentation jhug
Istio presentation jhugIstio presentation jhug
Istio presentation jhug
 
A Tale of 2 Systems
A Tale of 2 SystemsA Tale of 2 Systems
A Tale of 2 Systems
 
Scaling Systems: Architectures that Grow
Scaling Systems: Architectures that GrowScaling Systems: Architectures that Grow
Scaling Systems: Architectures that Grow
 
Scalable Web Apps
Scalable Web AppsScalable Web Apps
Scalable Web Apps
 
The Load Balancer: War Stories with HAProxy
The Load Balancer: War Stories with HAProxyThe Load Balancer: War Stories with HAProxy
The Load Balancer: War Stories with HAProxy
 
Cassandra and drivers
Cassandra and driversCassandra and drivers
Cassandra and drivers
 

Dernier

Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 

Dernier (20)

Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 

How Flipkart scales PHP

Notes de l'éditeur

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n
  55. \n
  56. \n
  57. \n
  58. \n
  59. \n
  60. \n
  61. \n
  62. \n
  63. \n
  64. \n
  65. \n
  66. \n
  67. \n
  68. \n
  69. \n
  70. \n
  71. \n
  72. \n
  73. \n
  74. \n
  75. \n
  76. \n
  77. \n
  78. \n
  79. \n
  80. \n
  81. \n
  82. \n
  83. \n
  84. \n
  85. \n
  86. \n
  87. \n
  88. \n
  89. \n
  90. \n
  91. \n
  92. \n
  93. \n
  94. \n
  95. \n
  96. \n
  97. \n
  98. \n