{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,18]],"date-time":"2026-03-18T22:59:42Z","timestamp":1773874782877,"version":"3.50.1"},"publisher-location":"New York, NY, USA","reference-count":58,"publisher":"ACM","license":[{"start":{"date-parts":[[2020,7,30]],"date-time":"2020-07-30T00:00:00Z","timestamp":1596067200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"funder":[{"DOI":"10.13039\/100000144","name":"Division of Computer and Network Systems","doi-asserted-by":"publisher","award":["1814285"],"award-info":[{"award-number":["1814285"]}],"id":[{"id":"10.13039\/100000144","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2020,7,30]]},"DOI":"10.1145\/3387514.3405885","type":"proceedings-article","created":{"date-parts":[[2020,7,30]],"date-time":"2020-07-30T22:35:31Z","timestamp":1596148531000},"page":"529-541","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":17,"title":["Zero Downtime Release"],"prefix":"10.1145","author":[{"given":"Usama","family":"Naseer","sequence":"first","affiliation":[{"name":"Brown University and Facebook, Inc."}]},{"given":"Luca","family":"Niccolini","sequence":"additional","affiliation":[{"name":"Facebook, Inc."}]},{"given":"Udip","family":"Pant","sequence":"additional","affiliation":[{"name":"Facebook, Inc."}]},{"given":"Alan","family":"Frindell","sequence":"additional","affiliation":[{"name":"Facebook, Inc."}]},{"given":"Ranjeeth","family":"Dasineni","sequence":"additional","affiliation":[{"name":"Facebook, Inc."}]},{"given":"Theophilus A.","family":"Benson","sequence":"additional","affiliation":[{"name":"Brown University"}]}],"member":"320","published-online":{"date-parts":[[2020,7,30]]},"reference":[{"key":"e_1_3_2_2_1_1","unstructured":"Django. https:\/\/www.djangoproject.com\/.  Django. https:\/\/www.djangoproject.com\/."},{"key":"e_1_3_2_2_2_1","unstructured":"Envoy Proxy. https:\/\/www.envoyproxy.io\/.  Envoy Proxy. https:\/\/www.envoyproxy.io\/."},{"key":"e_1_3_2_2_3_1","unstructured":"HAProxy. http:\/\/www.haproxy.org\/.  HAProxy. http:\/\/www.haproxy.org\/."},{"key":"e_1_3_2_2_4_1","unstructured":"HAProxy source code. https:\/\/github.com\/haproxy\/haproxy.  HAProxy source code. https:\/\/github.com\/haproxy\/haproxy."},{"key":"e_1_3_2_2_5_1","unstructured":"HHVM. https:\/\/github.com\/facebook\/hhvm.  HHVM. https:\/\/github.com\/facebook\/hhvm."},{"key":"e_1_3_2_2_6_1","unstructured":"Hypertext Transfer Protocol (HTTP) Status Code Registry. https:\/\/bit.ly\/3gqRrtP.  Hypertext Transfer Protocol (HTTP) Status Code Registry. https:\/\/bit.ly\/3gqRrtP."},{"key":"e_1_3_2_2_7_1","unstructured":"Katran - A high performance layer 4 load balancer. https:\/\/bit.ly\/38ktXD7.  Katran - A high performance layer 4 load balancer. https:\/\/bit.ly\/38ktXD7."},{"key":"e_1_3_2_2_8_1","doi-asserted-by":"publisher","DOI":"10.1109\/MS.2015.52"},{"key":"e_1_3_2_2_9_1","doi-asserted-by":"publisher","DOI":"10.1109\/SANER.2016.108"},{"key":"e_1_3_2_2_10_1","doi-asserted-by":"crossref","unstructured":"Omid Alipourfard Chris Harshaw Amin Vahdat and Minlan Yu. 2019. Risk based Planning of Network Changes in Evolving Data Centers. (2019).  Omid Alipourfard Chris Harshaw Amin Vahdat and Minlan Yu. 2019. Risk based Planning of Network Changes in Evolving Data Centers. (2019).","DOI":"10.1145\/3341301.3359664"},{"key":"e_1_3_2_2_11_1","volume-title":"Keeping Movies Running Amid Thunderstorms Fault-tolerant Systems @ Netflix. QCon SF. https:\/\/bit.ly\/37ahP65","author":"Anand Sid","unstructured":"Sid Anand . 2011. Keeping Movies Running Amid Thunderstorms Fault-tolerant Systems @ Netflix. QCon SF. https:\/\/bit.ly\/37ahP65 Sid Anand. 2011. Keeping Movies Running Amid Thunderstorms Fault-tolerant Systems @ Netflix. QCon SF. https:\/\/bit.ly\/37ahP65"},{"key":"e_1_3_2_2_12_1","unstructured":"Oracle Corporation and\/or its affiliates. Priming Caches. https:\/\/bit.ly\/2OxnPzi.  Oracle Corporation and\/or its affiliates. Priming Caches. https:\/\/bit.ly\/2OxnPzi."},{"key":"e_1_3_2_2_13_1","unstructured":"AppSignal. 2018. Hot Code Reloading in Elixir. https:\/\/bit.ly\/2H1k8hh.  AppSignal. 2018. Hot Code Reloading in Elixir. https:\/\/bit.ly\/2H1k8hh."},{"key":"e_1_3_2_2_14_1","unstructured":"Envoy Project Authors. Command line options drain-time-s. https:\/\/bit.ly\/38f3RRW.  Envoy Project Authors. Command line options drain-time-s. https:\/\/bit.ly\/38f3RRW."},{"key":"e_1_3_2_2_15_1","unstructured":"Envoy Project Authors. Command line options parent-shutdown-time-s. https:\/\/bit.ly\/2Sa7Fy5.  Envoy Project Authors. Command line options parent-shutdown-time-s. https:\/\/bit.ly\/2Sa7Fy5."},{"key":"e_1_3_2_2_16_1","unstructured":"Envoy Project Authors. Hot restart. https:\/\/bit.ly\/2H3Kwan.  Envoy Project Authors. Hot restart. https:\/\/bit.ly\/2H3Kwan."},{"key":"e_1_3_2_2_17_1","unstructured":"The Kubernetes Authors. Safely Drain a Node while Respecting the PodDisrup-tionBudget. https:\/\/bit.ly\/2SpYgkZ.  The Kubernetes Authors. Safely Drain a Node while Respecting the PodDisrup-tionBudget. https:\/\/bit.ly\/2SpYgkZ."},{"key":"e_1_3_2_2_18_1","unstructured":"Netflix Technology Blog. 2018. Performance Under Load. https:\/\/bit.ly\/2OCQbYU.  Netflix Technology Blog. 2018. Performance Under Load. https:\/\/bit.ly\/2OCQbYU."},{"key":"e_1_3_2_2_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/3230543.3230546"},{"key":"e_1_3_2_2_20_1","unstructured":"SE Daily. Facebook Release Engineering with Chuck Rossi - Transcript. https:\/\/bit.ly\/2H8Xwew.  SE Daily. Facebook Release Engineering with Chuck Rossi - Transcript. https:\/\/bit.ly\/2H8Xwew."},{"key":"e_1_3_2_2_21_1","unstructured":"SE Daily. 2019. Facebook Release Engineering with Chuck Rossi. https:\/\/bit.ly\/3bfGaL7.  SE Daily. 2019. Facebook Release Engineering with Chuck Rossi. https:\/\/bit.ly\/3bfGaL7."},{"key":"e_1_3_2_2_22_1","unstructured":"Willem de Bruijn. udp: with udp segment release on error path. http:\/\/patchwork.ozlabs.org\/patch\/1025322\/.  Willem de Bruijn. udp: with udp segment release on error path. http:\/\/patchwork.ozlabs.org\/patch\/1025322\/."},{"key":"e_1_3_2_2_23_1","volume-title":"Linux Plumbers Conference.","author":"de Bruijn Willem","year":"2018","unstructured":"Willem de Bruijn and Eric Dumazet . 2018 . Optimizing UDP for content delivery: GSO, pacing and zerocopy . In Linux Plumbers Conference. Willem de Bruijn and Eric Dumazet. 2018. Optimizing UDP for content delivery: GSO, pacing and zerocopy. In Linux Plumbers Conference."},{"key":"e_1_3_2_2_24_1","doi-asserted-by":"publisher","DOI":"10.1109\/RELENG.2015.10"},{"key":"e_1_3_2_2_25_1","unstructured":"Alex Eagle. 2017. You too can love the MonoRepo. https:\/\/bit.ly\/2H40EbF.  Alex Eagle. 2017. You too can love the MonoRepo. https:\/\/bit.ly\/2H40EbF."},{"key":"e_1_3_2_2_26_1","volume-title":"Cody Smith, Roman Kononov, Eric Mann-Hielscher, Ardas Cilingiroglu, Bin Cheyney, Wentao Shang, and Jinnah Dylan Hosein.","author":"Eisenbud Daniel E","year":"2016","unstructured":"Daniel E Eisenbud , Cheng Yi , Carlo Contavalli , Cody Smith, Roman Kononov, Eric Mann-Hielscher, Ardas Cilingiroglu, Bin Cheyney, Wentao Shang, and Jinnah Dylan Hosein. 2016 . Maglev : A fast and reliable software network load balancer. In 13th { USENIX} Symposium on Networked Systems Design and Implementation ( {NSDI} 16). 523--535. Daniel E Eisenbud, Cheng Yi, Carlo Contavalli, Cody Smith, Roman Kononov, Eric Mann-Hielscher, Ardas Cilingiroglu, Bin Cheyney, Wentao Shang, and Jinnah Dylan Hosein. 2016. Maglev: A fast and reliable software network load balancer. In 13th { USENIX} Symposium on Networked Systems Design and Implementation ({NSDI} 16). 523--535."},{"key":"e_1_3_2_2_27_1","unstructured":"Alan Frindell. HTTP Partial POST Replay. https:\/\/tools.ietf.org\/html\/draft-frindell-httpbis-partial-post-replay-00.  Alan Frindell. HTTP Partial POST Replay. https:\/\/tools.ietf.org\/html\/draft-frindell-httpbis-partial-post-replay-00."},{"key":"e_1_3_2_2_28_1","unstructured":"GlobalScape. Server Drain Maintenance and Auto-Restart. https:\/\/bit.ly\/31B7A9A.  GlobalScape. Server Drain Maintenance and Auto-Restart. https:\/\/bit.ly\/31B7A9A."},{"key":"e_1_3_2_2_29_1","unstructured":"Sara Golemon. 2012. Go Faster. https:\/\/bit.ly\/2Hg1Ed7.  Sara Golemon. 2012. Go Faster. https:\/\/bit.ly\/2Hg1Ed7."},{"key":"e_1_3_2_2_30_1","doi-asserted-by":"crossref","unstructured":"Christian Hopps et al. 2000. Analysis of an equal-cost multi-path algorithm. Technical Report. RFC 2992 November.  Christian Hopps et al. 2000. Analysis of an equal-cost multi-path algorithm. Technical Report. RFC 2992 November.","DOI":"10.17487\/rfc2992"},{"key":"e_1_3_2_2_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/3173553"},{"key":"e_1_3_2_2_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/1243418.1243426"},{"key":"e_1_3_2_2_33_1","volume-title":"Quic: Audp-based multiplexed and secure transport. Internet Engineering Task Force, Internet-Draft draftietf-quic-transport-17","author":"Iyengar Jana","year":"2018","unstructured":"Jana Iyengar and Martin Thomson . 2018 . Quic: Audp-based multiplexed and secure transport. Internet Engineering Task Force, Internet-Draft draftietf-quic-transport-17 (2018). Jana Iyengar and Martin Thomson. 2018. Quic: Audp-based multiplexed and secure transport. Internet Engineering Task Force, Internet-Draft draftietf-quic-transport-17 (2018)."},{"key":"e_1_3_2_2_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/3284850.3322434"},{"key":"e_1_3_2_2_35_1","unstructured":"Lawrence Matthews Joseph Lynch. Taking Zero-Downtime Load Balancing even Further. https:\/\/bit.ly\/2OA66XY.  Lawrence Matthews Joseph Lynch. Taking Zero-Downtime Load Balancing even Further. https:\/\/bit.ly\/2OA66XY."},{"key":"e_1_3_2_2_36_1","unstructured":"Michael Kerrisk. The SO_REUSEPORT socket option. https:\/\/lwn.net\/Articles\/542629\/.  Michael Kerrisk. The SO_REUSEPORT socket option. https:\/\/lwn.net\/Articles\/542629\/."},{"key":"e_1_3_2_2_37_1","volume-title":"Facebook - DevOpsDays Tel Aviv","author":"Leibman Ran","year":"2015","unstructured":"Ran Leibman . Monitoring at Facebook - Ran Leibman , Facebook - DevOpsDays Tel Aviv 2015 . https:\/\/bit.ly\/2ODbgT1. Ran Leibman. Monitoring at Facebook - Ran Leibman, Facebook - DevOpsDays Tel Aviv 2015. https:\/\/bit.ly\/2ODbgT1."},{"key":"e_1_3_2_2_38_1","unstructured":"Joseph Lynch. True Zero Downtime HAProxy Reloads. https:\/\/bit.ly\/31H2dWz.  Joseph Lynch. True Zero Downtime HAProxy Reloads. https:\/\/bit.ly\/31H2dWz."},{"key":"e_1_3_2_2_39_1","unstructured":"Linux man page. cmsg(3) - access ancillary data. https:\/\/linux.die.net\/man\/3\/cmsg.  Linux man page. cmsg(3) - access ancillary data. https:\/\/linux.die.net\/man\/3\/cmsg."},{"key":"e_1_3_2_2_40_1","unstructured":"Linux man page. dup dup2 dup3 - duplicate a file descriptor. https:\/\/linux.die.net\/man\/2\/dup.  Linux man page. dup dup2 dup3 - duplicate a file descriptor. https:\/\/linux.die.net\/man\/2\/dup."},{"key":"e_1_3_2_2_41_1","unstructured":"Linux man page. recvmsg(2). https:\/\/linux.die.net\/man\/2\/recvmsg.  Linux man page. recvmsg(2). https:\/\/linux.die.net\/man\/2\/recvmsg."},{"key":"e_1_3_2_2_42_1","unstructured":"Linux man page. sendmsg(2). https:\/\/linux.die.net\/man\/2\/sendmsg.  Linux man page. sendmsg(2). https:\/\/linux.die.net\/man\/2\/sendmsg."},{"key":"e_1_3_2_2_43_1","unstructured":"Suresh Mathew. Zero Downtime Instant Deployment and Rollback. https:\/\/bit.ly\/2ZgNGzV.  Suresh Mathew. Zero Downtime Instant Deployment and Rollback. https:\/\/bit.ly\/2ZgNGzV."},{"key":"e_1_3_2_2_44_1","unstructured":"Arun Moorthy. 2015. Connecting the World: A look inside Facebook's Networking Infrastructure. https:\/\/unc.live\/2UzVe0f.  Arun Moorthy. 2015. Connecting the World: A look inside Facebook's Networking Infrastructure. https:\/\/unc.live\/2UzVe0f."},{"key":"e_1_3_2_2_45_1","unstructured":"mqtt.org. MQ Telemetry Transport machine-to-machine (M2M) connectivity protocol. http:\/\/mqtt.org\/.  mqtt.org. MQ Telemetry Transport machine-to-machine (M2M) connectivity protocol. http:\/\/mqtt.org\/."},{"key":"e_1_3_2_2_46_1","unstructured":"Kyle Nekritz and Subodh Iyengar. Building Zero protocol for fast secure mobile connections. https:\/\/bit.ly\/2VkkoiH.  Kyle Nekritz and Subodh Iyengar. Building Zero protocol for fast secure mobile connections. https:\/\/bit.ly\/2VkkoiH."},{"key":"e_1_3_2_2_47_1","volume-title":"Building microservices: designing fine-grained systems. \" O'Reilly Media","author":"Newman Sam","unstructured":"Sam Newman . 2015. Building microservices: designing fine-grained systems. \" O'Reilly Media , Inc .\". Sam Newman. 2015. Building microservices: designing fine-grained systems. \" O'Reilly Media, Inc.\"."},{"key":"e_1_3_2_2_48_1","unstructured":"NGINX. NGINX Reverse Proxy. https:\/\/bit.ly\/39fkWLt.  NGINX. NGINX Reverse Proxy. https:\/\/bit.ly\/39fkWLt."},{"key":"e_1_3_2_2_49_1","unstructured":"Inc O'Reilly Media. 2012. Facebook's Large Scale Monitoring System Built on HBase. https:\/\/bit.ly\/2tAHlnc.  Inc O'Reilly Media. 2012. Facebook's Large Scale Monitoring System Built on HBase. https:\/\/bit.ly\/2tAHlnc."},{"key":"e_1_3_2_2_50_1","unstructured":"Chuck Rossi. 2017. Rapid release at massive scale. https:\/\/bit.ly\/2w0T9jB.  Chuck Rossi. 2017. Rapid release at massive scale. https:\/\/bit.ly\/2w0T9jB."},{"key":"e_1_3_2_2_51_1","doi-asserted-by":"publisher","DOI":"10.1145\/2889160.2889223"},{"key":"e_1_3_2_2_52_1","unstructured":"Amazon Web Services. Configure Connection Draining for Your Classic Load Balancer. https:\/\/amzn.to\/39iQlMS.  Amazon Web Services. Configure Connection Draining for Your Classic Load Balancer. https:\/\/amzn.to\/39iQlMS."},{"key":"e_1_3_2_2_53_1","unstructured":"Daniel Sommermann and Alan Frindell. 2014. Introducing Proxygen Facebook HTTP framework.  Daniel Sommermann and Alan Frindell. 2014. Introducing Proxygen Facebook HTTP framework."},{"key":"e_1_3_2_2_54_1","unstructured":"Facebook Open Source. Hack - Programming Productivity Without Breaking Things. https:\/\/hacklang.org\/.  Facebook Open Source. Hack - Programming Productivity Without Breaking Things. https:\/\/hacklang.org\/."},{"key":"e_1_3_2_2_55_1","unstructured":"Willy Tarreau. 2017. Truly Seamless Reloads with HAProxy -- No More Hacks! https:\/\/bit.ly\/31Ihfvm.  Willy Tarreau. 2017. Truly Seamless Reloads with HAProxy -- No More Hacks! https:\/\/bit.ly\/31Ihfvm."},{"key":"e_1_3_2_2_56_1","unstructured":"VDMS. Our software - CDN. https:\/\/bit.ly\/2UC0kZI.  VDMS. Our software - CDN. https:\/\/bit.ly\/2UC0kZI."},{"key":"e_1_3_2_2_57_1","doi-asserted-by":"publisher","DOI":"10.1145\/1807128.1807161"},{"key":"e_1_3_2_2_58_1","doi-asserted-by":"publisher","DOI":"10.1145\/3098822.3098854"}],"event":{"name":"SIGCOMM '20: Annual conference of the ACM Special Interest Group on Data Communication on the applications, technologies, architectures, and protocols for computer communication","location":"Virtual Event USA","acronym":"SIGCOMM '20","sponsor":["SIGCOMM ACM Special Interest Group on Data Communication"]},"container-title":["Proceedings of the Annual conference of the ACM Special Interest Group on Data Communication on the applications, technologies, architectures, and protocols for computer communication"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3387514.3405885","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3387514.3405885","content-type":"application\/pdf","content-version":"vor","intended-application":"syndication"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3387514.3405885","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T22:41:36Z","timestamp":1750200096000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3387514.3405885"}},"subtitle":["Disruption-free Load Balancing of a Multi-Billion User Website"],"short-title":[],"issued":{"date-parts":[[2020,7,30]]},"references-count":58,"alternative-id":["10.1145\/3387514.3405885","10.1145\/3387514"],"URL":"https:\/\/doi.org\/10.1145\/3387514.3405885","relation":{},"subject":[],"published":{"date-parts":[[2020,7,30]]},"assertion":[{"value":"2020-07-30","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}