BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//HasGeek//NONSGML Funnel//EN
DESCRIPTION:On SRE\, systems engineering and distributed systems
X-WR-CALDESC:On SRE\, systems engineering and distributed systems
NAME:Rootconf Hyderabad edition
X-WR-CALNAME:Rootconf Hyderabad edition
REFRESH-INTERVAL;VALUE=DURATION:PT12H
SUMMARY:Rootconf Hyderabad edition
TIMEZONE-ID:Asia/Kolkata
X-PUBLISHED-TTL:PT12H
X-WR-TIMEZONE:Asia/Kolkata
BEGIN:VEVENT
SUMMARY:Check-in and onsite registrations
DTSTART:20191116T034500Z
DTEND:20191116T040000Z
DTSTAMP:20260421T020940Z
UID:session/RXU7XPY3tZFkrMXyUmupXM@hasgeek.com
SEQUENCE:0
CREATED:20190628T095305Z
DESCRIPTION:\n
LAST-MODIFIED:20191106T044624Z
LOCATION:Hyderabad
ORGANIZER;CN=Rootconf:MAILTO:no-reply@hasgeek.com
BEGIN:VALARM
ACTION:display
DESCRIPTION:Check-in and onsite registrations in 5 minutes
TRIGGER:-PT5M
END:VALARM
END:VEVENT
BEGIN:VEVENT
SUMMARY:Introduction to Rootconf\; how to navigate the schedule
DTSTART:20191116T040000Z
DTEND:20191116T041000Z
DTSTAMP:20260421T020940Z
UID:session/3SZgKaofHWkpo7tTsCVLcs@hasgeek.com
SEQUENCE:0
CREATED:20190628T095339Z
DESCRIPTION:\n
GEO:17.4457222;78.3488215586
LAST-MODIFIED:20191111T043359Z
LOCATION:Main auditorium - T-Hub\nHyderabad\nIN
ORGANIZER;CN=Rootconf:MAILTO:no-reply@hasgeek.com
BEGIN:VALARM
ACTION:display
DESCRIPTION:Introduction to Rootconf\; how to navigate the schedule in Mai
 n auditorium in 5 minutes
TRIGGER:-PT5M
END:VALARM
END:VEVENT
BEGIN:VEVENT
SUMMARY:Observability and control theory
DTSTART:20191116T041000Z
DTEND:20191116T045000Z
DTSTAMP:20260421T020940Z
UID:session/BgJgBnLfi9nB8gPkCJ7oXc@hasgeek.com
SEQUENCE:3
CATEGORIES:SRE,Full talk (40 mins)
CREATED:20190819T042750Z
DESCRIPTION:- Sample problem that go unnoticed with traditional Blackbox m
 onitoring\n- Sample problem that goes unnoticed with advanced whitebox mon
 itoring.\n- Timeline of Monitoring tools.\n- Evolution of Monitoring needs
 .\n- What is monitoring vs Observability?\n- Servers vs.Services.\n- Real 
 questions that Distributed Systems have to answer\n- Domains of Observabil
 ity\n- Need of Observability\n- Debuggability in advanced systems.\n- Math
 s of Stability\n- What is Control theory? \n- Practicale example of Contro
 l Theory\n- Types of Control-Systems\n- How Control theory uses Observabil
 ity\n- How do we use Control theory\n- How TCP Implements all of this toge
 ther\n- FLow Control vs Congestion Control\n- Sample implementation in a w
 orking application\n- Thank you?\n\n### Speaker bio\n\nPiyush Verma heads 
 Site Reliabilty Engineering at TrustingSocial.com. At present\, their syst
 ems span across 6 datcenters and 3 major clouds across 3 countries.\nHe ha
 s been working with Infrastrcuture Problems for over a decade and in past 
 life he has built datscale.io\, oogway.in\, and siminars.com.\n
GEO:17.4457222;78.3488215586
LAST-MODIFIED:20240123T123109Z
LOCATION:Main auditorium - T-Hub\nHyderabad\nIN
ORGANIZER;CN=Rootconf:MAILTO:no-reply@hasgeek.com
URL:https://hasgeek.com/rootconf/2019-hyderabad/schedule/observability-and
 -control-theory-BgJgBnLfi9nB8gPkCJ7oXc
BEGIN:VALARM
ACTION:display
DESCRIPTION:Observability and control theory in Main auditorium in 5 minut
 es
TRIGGER:-PT5M
END:VALARM
END:VEVENT
BEGIN:VEVENT
SUMMARY:Fast object distribution using P2P
DTSTART:20191116T045000Z
DTEND:20191116T052000Z
DTSTAMP:20260421T020940Z
UID:session/XtmR2PHucZNpd8x2Jg96EK@hasgeek.com
SEQUENCE:3
CATEGORIES:Full talk,Beginner,Discussion,Distributed systems,Full talk (40
  mins)
CREATED:20190716T045152Z
DESCRIPTION:* Motivation for fast object distribution\n* Overview of bitto
 rrent protocol\n* Goals for a torrent-based distribution layer\n* Design\,
  architecture and functional flows of Shatabdi\n    - Indexing store and l
 eader election using etcd\n    - Achieving HA for torrent tracker\n    - C
 omparison of open-source torrent clients\n* API contracts of daemon binary
  which abstracts http and p2p downloads\n* Performance tuning of QBittorre
 nt client and uncharted territories of libtorrent\n* Benchmarking containe
 r deployments powered by Shatabdi\n\n### Speaker bio\n\nAnkur and Yashpal 
 work in Platform-as-a-service team in Flipkart Cloud Platform. We build de
 v-centric platforms that work at Flipkart scale. We busy ourselves with op
 timizing systems that are best left alone\, defying CAP and not succeeding
  and sneaking GOT references in sprint planning sessions.\n
GEO:17.4457222;78.3488215586
LAST-MODIFIED:20240123T123150Z
LOCATION:Main auditorium - T-Hub\nHyderabad\nIN
ORGANIZER;CN=Rootconf:MAILTO:no-reply@hasgeek.com
URL:https://hasgeek.com/rootconf/2019-hyderabad/schedule/shatabdi-p2p-laye
 r-for-fast-object-distribution-XtmR2PHucZNpd8x2Jg96EK
BEGIN:VALARM
ACTION:display
DESCRIPTION:Fast object distribution using P2P in Main auditorium in 5 min
 utes
TRIGGER:-PT5M
END:VALARM
END:VEVENT
BEGIN:VEVENT
SUMMARY:Morning beverage break
DTSTART:20191116T052000Z
DTEND:20191116T055000Z
DTSTAMP:20260421T020940Z
UID:session/68Ln36fhsYLe3yYKWgL8hp@hasgeek.com
SEQUENCE:0
CREATED:20190628T095728Z
DESCRIPTION:\n
LAST-MODIFIED:20191106T044713Z
LOCATION:Hyderabad
ORGANIZER;CN=Rootconf:MAILTO:no-reply@hasgeek.com
BEGIN:VALARM
ACTION:display
DESCRIPTION:Morning beverage break in 5 minutes
TRIGGER:-PT5M
END:VALARM
END:VEVENT
BEGIN:VEVENT
SUMMARY:Taming infrastructure workflow at scale
DTSTART:20191116T055000Z
DTEND:20191116T063000Z
DTSTAMP:20260421T020940Z
UID:session/YE9vdH7gaB83AUzKCFWRbw@hasgeek.com
SEQUENCE:3
CATEGORIES:Awaiting reviewer to evaluate,Automation,Full talk (40 mins)
CREATED:20190904T052234Z
DESCRIPTION:As more operations choices are added to your data center\, whe
 ther through company acquisitions\, a growing development team\, or genera
 l technical debt\, managing infrastructure complexity becomes a nightmare.
  Yet the end goal is still the same — safely deploy your application to 
 your infrastructure. We need to tame our data centers by managing change a
 cross systems\, enforcing policies\, and by establishing a workflow for bo
 th developers and operations engineers to build in a collaborative environ
 ment.\n\nThis talk will discuss the problems faced in managing a modern cl
 oud infrastructure\, and how a set of innovative open source tools like Te
 rraform can be used to tame the rising complexity curve.\n\nJoin me as I t
 ake you on a journey of exploring Infrastruture as Code techniques as we t
 ake control of our cloud infrastructure. This goal of this demo driven tal
 k is to showcase how you can build multi-tier application infrastructure s
 upporting multiple cloud platforms and services using IAC.\n\n### Speaker 
 bio\n\nAnubhav Mishra is a Technical Advisor to the CTO at HashiCorp. He i
 s passionate about Developer Advocacy and helping developers and operators
  do better. \nPreviously\, he worked at [Hootsuite](https://hootsuite.com)
 \, where he created [Atlantis](https://www.runatlantis.io) - An Open Sourc
 e project that helps teams collaborate on Infrastructure using [Terraform]
 (https://terraform.io). Anubhav loves working with distributed systems and
  sharing his experience with microservice delivery platforms. He also love
 s open source software and is continuously finding ways to contribute to p
 rojects that excite him and helping developers and operators do better. Th
 at has led him to contribute to projects like [Virtual Kubelet](http://vir
 tual-kubelet.io) and [Helm](https://helm.sh) (CNCF projects). In his free 
 time\, he DJs\, makes music and plays football. He's a huge [Manchester Un
 ited](https://www.manutd.com) supporter.\n
GEO:17.4457222;78.3488215586
LAST-MODIFIED:20240123T123145Z
LOCATION:Main auditorium - T-Hub\nHyderabad\nIN
ORGANIZER;CN=Rootconf:MAILTO:no-reply@hasgeek.com
URL:https://hasgeek.com/rootconf/2019-hyderabad/schedule/taming-infrastruc
 ture-workflow-at-scale-YE9vdH7gaB83AUzKCFWRbw
BEGIN:VALARM
ACTION:display
DESCRIPTION:Taming infrastructure workflow at scale in Main auditorium in 
 5 minutes
TRIGGER:-PT5M
END:VALARM
END:VEVENT
BEGIN:VEVENT
SUMMARY:Achieving repeatable\, extensible and self serve infrastructure at
  Gojek
DTSTART:20191116T063000Z
DTEND:20191116T071000Z
DTSTAMP:20260421T020940Z
UID:session/Cs9s5nd6wDNaz7ePcAhJfV@hasgeek.com
SEQUENCE:3
CATEGORIES:Automation,Full talk (40 mins)
CREATED:20190823T061709Z
DESCRIPTION:*Goals\n*Architecture and discussion around\n- olympus which h
 osts our cloud infrastructure config \n- terraform module structuring and 
 how we run it our CI/CD platform\n- how proctor (https://github.com/gojek/
 proctor) helps us in achieving the self serve model for infrastructure \n*
 Lessons learnt\n*Impact\n\n### Speaker bio\n\nTasdik is a Product Engineer
  at Gojek where he works with the systems team. Contributor to oVirt (unde
 r Redhat)\, before Gojek he was part of the early systems team of Razorpay
 . He has presented his talks at different national and international confe
 rences including Pycon Taiwan\, Devopsdays India and devconf India. A full
  list of the talks and slides/videos can be found at https://tasdikrahman.
 me/speaking/.\n
GEO:17.4457222;78.3488215586
LAST-MODIFIED:20240123T123140Z
LOCATION:Main auditorium - T-Hub\nHyderabad\nIN
ORGANIZER;CN=Rootconf:MAILTO:no-reply@hasgeek.com
URL:https://hasgeek.com/rootconf/2019-hyderabad/schedule/achieving-repeata
 ble-extensible-and-self-serve-infrastructure-at-gojek-Cs9s5nd6wDNaz7ePcAhJ
 fV
BEGIN:VALARM
ACTION:display
DESCRIPTION:Achieving repeatable\, extensible and self serve infrastructur
 e at Gojek in Main auditorium in 5 minutes
TRIGGER:-PT5M
END:VALARM
END:VEVENT
BEGIN:VEVENT
SUMMARY:Birds of Feather (BOF) session: On AIOps
DTSTART:20191116T063000Z
DTEND:20191116T072500Z
DTSTAMP:20260421T020940Z
UID:session/BCdL26pZ5FWhUiBwgMmAwJ@hasgeek.com
SEQUENCE:0
CREATED:20191022T061034Z
DESCRIPTION:\n
GEO:17.4457222;78.3488215586
LAST-MODIFIED:20191106T045345Z
LOCATION:Birds Of Feather (BOF) session area - T-Hub\nHyderabad\nIN
ORGANIZER;CN=Rootconf:MAILTO:no-reply@hasgeek.com
BEGIN:VALARM
ACTION:display
DESCRIPTION:Birds of Feather (BOF) session: On AIOps in Birds Of Feather (
 BOF) session area in 5 minutes
TRIGGER:-PT5M
END:VALARM
END:VEVENT
BEGIN:VEVENT
SUMMARY:Lunch break
DTSTART:20191116T071000Z
DTEND:20191116T080000Z
DTSTAMP:20260421T020940Z
UID:session/HkNZwHS8RLX3DS6fM84AjQ@hasgeek.com
SEQUENCE:0
CREATED:20190628T095832Z
DESCRIPTION:\n
LAST-MODIFIED:20191106T044722Z
LOCATION:Hyderabad
ORGANIZER;CN=Rootconf:MAILTO:no-reply@hasgeek.com
BEGIN:VALARM
ACTION:display
DESCRIPTION:Lunch break in 5 minutes
TRIGGER:-PT5M
END:VALARM
END:VEVENT
BEGIN:VEVENT
SUMMARY:Deploying and managing CSP: the browser-side firewall
DTSTART:20191116T080000Z
DTEND:20191116T084000Z
DTSTAMP:20260421T020940Z
UID:session/5Qo1NFim6oG8gxNv6Qgwpn@hasgeek.com
SEQUENCE:3
CATEGORIES:DevSecOps,Full talk (40 mins)
CREATED:20190722T053124Z
DESCRIPTION:- Introduction to client-side Data Exfiltration attacks\n- Int
 roduction to Content-Security Policy\n- Content Security Policy to prevent
  Data Exfiltration attacks\n  ○ What is possible\n  ○ What are the lim
 itations\n- How to design and deploy CSP to detect/prevent Data Exfiltrati
 on attacks \n- How to monitor policy violations and alerts\n\n### Speaker 
 bio\n\nLavakumar Kuppan is the founder of Ironwasp Security. He is a secur
 ity researcher and a product developer. He is currently developing product
 s that automatically perform vulnerability detection and attack monitoring
  for the DOM. \nHe has done extensive research on web security with specia
 l focus on JavaScript security. He has discovered several novel attacks ve
 ctors and vulnerabilities and has spoken about his research in several int
 ernational conferences.\nHe has also done extensive work on developing ope
 n source tools to discover security issues in JavaScript\, through both st
 atic and dynamic analysis.\n
GEO:17.4457222;78.3488215586
LAST-MODIFIED:20240123T123135Z
LOCATION:Main auditorium - T-Hub\nHyderabad\nIN
ORGANIZER;CN=Rootconf:MAILTO:no-reply@hasgeek.com
URL:https://hasgeek.com/rootconf/2019-hyderabad/schedule/deploying-and-man
 aging-csp-the-browser-side-firewall-5Qo1NFim6oG8gxNv6Qgwpn
BEGIN:VALARM
ACTION:display
DESCRIPTION:Deploying and managing CSP: the browser-side firewall in Main 
 auditorium in 5 minutes
TRIGGER:-PT5M
END:VALARM
END:VEVENT
BEGIN:VEVENT
SUMMARY:Birds of Feather (BOF) session: On Infrastructure as Code
DTSTART:20191116T080000Z
DTEND:20191116T090000Z
DTSTAMP:20260421T020940Z
UID:session/FvaP7RuRKvwtKJPRZmNMBw@hasgeek.com
SEQUENCE:0
CREATED:20191022T061234Z
DESCRIPTION:\n
GEO:17.4457222;78.3488215586
LAST-MODIFIED:20191106T044859Z
LOCATION:Birds Of Feather (BOF) session area - T-Hub\nHyderabad\nIN
ORGANIZER;CN=Rootconf:MAILTO:no-reply@hasgeek.com
BEGIN:VALARM
ACTION:display
DESCRIPTION:Birds of Feather (BOF) session: On Infrastructure as Code in B
 irds Of Feather (BOF) session area in 5 minutes
TRIGGER:-PT5M
END:VALARM
END:VEVENT
BEGIN:VEVENT
SUMMARY:Birds of Feather (BOF) session: Doing DevSecOps in your organizati
 on
DTSTART:20191116T084000Z
DTEND:20191116T092000Z
DTSTAMP:20260421T020940Z
UID:session/HBK4o7dBGsamaR429J3cwj@hasgeek.com
SEQUENCE:1
CREATED:20191022T061413Z
DESCRIPTION:In this session\, we will discuss:\n\n1. Are you planning to i
 mplement DevSecOps? What challenges are you facing in the initial stages?\
 n2. What is your DevSecOps implementation plan including tooling\, process
  etc?\n3. Is "DevSecOps" a new buzzword? Can **security** piggyback DevSec
 Ops?\n4. Does Devsecops provide value for the dollars invested?\n5. Are yo
 u handling false positives with automation? what are the challenges in the
  process?\n6. How do you measure a successful "DevSecOps" implementation?\
 n
GEO:17.4457222;78.3488215586
LAST-MODIFIED:20230108T103046Z
LOCATION:Main auditorium - T-Hub\nHyderabad\nIN
ORGANIZER;CN=Rootconf:MAILTO:no-reply@hasgeek.com
BEGIN:VALARM
ACTION:display
DESCRIPTION:Birds of Feather (BOF) session: Doing DevSecOps in your organi
 zation in Main auditorium in 5 minutes
TRIGGER:-PT5M
END:VALARM
END:VEVENT
BEGIN:VEVENT
SUMMARY:Flash talk: Dashboards as code
DTSTART:20191116T092000Z
DTEND:20191116T092500Z
DTSTAMP:20260421T020940Z
UID:session/LRMJ153jfEnxaDqesubPf7@hasgeek.com
SEQUENCE:2
CATEGORIES:Crisp talk,Intermediate,Lecture
CREATED:20190722T053035Z
DESCRIPTION:How to make use of the world's top technology to build your Da
 shboards with more robustness without tech debt. \n\nWhy dashboards?\n\nEx
 isting methods of maintaining dashboards.\n\n - At current scale of using 
 dashbaords and alerts\, difficult to scale without proper automation.\n - 
 Consistency issues \n    - Dashboards can be easily edited by any layman r
 esulting in consistency issues.\n    - Alerts disbaled during maintenance/
 deployment leading to undetected incidents.\n - Automate challenges\n    -
  90% of the dashboards are still being created/modified by clicking on the
  UI.\n    - Manual configuration can lead to errors.\n - No history.\n    
 - No rollbacks possible during an unintended modification.\n\n\nSolution 1
 : Git\n\n - Will solve Consistency issues and maintains history.\n - It st
 ill cannot validate the huge json files\, manual review is required.\n - A
 utomation of stored json files to dashboards are still not solved.\n\nSolu
 tion 2: Git + Terraform\n\n - Terraform providers/plugins. - Automating da
 shboards using terrafrom providers. \n - Manage state\, conflicts\, suppor
 t validation\, rollback\, everything with zero tech debt.\n - Add value to
  your skills.\n\nDemo of how to create a dashboard with Terraform and Graf
 ana\n\n### Speaker bio\n\nSanooj Mananghat is working as a DataSRE @ Intui
 t. With 9 years of experience in Devops world. A blogger\, opensource enth
 usiast with contributions to multiple opensource projects including terraf
 orm providers.\n
GEO:17.4457222;78.3488215586
LAST-MODIFIED:20230810T072606Z
LOCATION:Main auditorium - T-Hub\nHyderabad\nIN
ORGANIZER;CN=Rootconf:MAILTO:no-reply@hasgeek.com
URL:https://hasgeek.com/rootconf/2019-hyderabad/schedule/dashboards-as-cod
 e-LRMJ153jfEnxaDqesubPf7
BEGIN:VALARM
ACTION:display
DESCRIPTION:Flash talk: Dashboards as code in Main auditorium in 5 minutes
TRIGGER:-PT5M
END:VALARM
END:VEVENT
BEGIN:VEVENT
SUMMARY:Flash talk: Literate DevOps
DTSTART:20191116T092500Z
DTEND:20191116T093000Z
DTSTAMP:20260421T020940Z
UID:session/BuciWBstYogB4ma1qJqSWK@hasgeek.com
SEQUENCE:0
CREATED:20191106T052624Z
DESCRIPTION:\n
GEO:17.4457222;78.3488215586
LAST-MODIFIED:20191106T052946Z
LOCATION:Main auditorium - T-Hub\nHyderabad\nIN
ORGANIZER;CN=Rootconf:MAILTO:no-reply@hasgeek.com
BEGIN:VALARM
ACTION:display
DESCRIPTION:Flash talk: Literate DevOps in Main auditorium in 5 minutes
TRIGGER:-PT5M
END:VALARM
END:VEVENT
BEGIN:VEVENT
SUMMARY:Birds of Feather (BOF): On Observability
DTSTART:20191116T093000Z
DTEND:20191116T103000Z
DTSTAMP:20260421T020940Z
UID:session/JtV98SaVYapNGTJd8cjxPr@hasgeek.com
SEQUENCE:0
CREATED:20191111T043339Z
DESCRIPTION:\n
GEO:17.4457222;78.3488215586
LAST-MODIFIED:20191111T043350Z
LOCATION:Birds Of Feather (BOF) session area - T-Hub\nHyderabad\nIN
ORGANIZER;CN=Rootconf:MAILTO:no-reply@hasgeek.com
BEGIN:VALARM
ACTION:display
DESCRIPTION:Birds of Feather (BOF): On Observability in Birds Of Feather (
 BOF) session area in 5 minutes
TRIGGER:-PT5M
END:VALARM
END:VEVENT
BEGIN:VEVENT
SUMMARY:Flash talk: The consensus problem in distributed systems
DTSTART:20191116T093000Z
DTEND:20191116T093500Z
DTSTAMP:20260421T020940Z
UID:session/SppoxPFtyzFVHDKwuCP41C@hasgeek.com
SEQUENCE:2
CATEGORIES:Flash talk (5 mins),Distributed systems
CREATED:20191106T052726Z
DESCRIPTION:What is a consensus in a distributed system?\n----------------
 ----------------------------\nIn the context of distributed systems design
 \, a consensus is often loosely used to mean some form of agreement. Conse
 nsus involves multiple servers agreeing on values. Once they reach a decis
 ion on a value\, that decision is final. Typical consensus algorithms make
  progress when any majority of their servers is available\; for example\, 
 a cluster of 5 servers can continue to operate even if 2 servers fail. If 
 more servers fail\, they stop making progress (but will never return an in
 correct result).\n\n	i.e 2f+1 nodes to survive f failed nodes\n\nThere are
  a few properties we expect from a solution to consensus:\nAgreement: Ever
 y correct process must agree on the same value.\nValidity: If all processe
 s propose the same value v\, then all correct processes decide v\nTerminat
 ion: Every correct process decides some value. If the protocol never termi
 nates\, then the processes are vacuously agreeing on the same thing\, whic
 h is not deciding. \n\nTo summarize\, fundamentally\, the goal of consensu
 s is not that of the negotiation of an optimal value of some kind\, but ju
 st the collective agreement on some value that was previously proposed by 
 one of the participating servers in that round of the consensus algorithm.
  With the help of consensus\, the distributed system is made to act as tho
 ugh it were a single entity.\n\nAn example scenario:\n--------------------
 \nFor the purpose of simplicity\, let's assume a distributed storage syste
 m with 2f+1 nodes participating to form a cluster and these participants a
 ct at their own speed\, may fail at any time and rejoin after recovering f
 rom the failure. And these nodes are connected via a network which transmi
 ts messages asynchronously at an arbitrary speed. In short\, everything ca
 n fail at any time\; after failure\, participants can recover and rejoin t
 he system. Yes\, we are looking at a fault tolerant storage system. As the
 se nodes can fail at various stages\, it's important to have more than one
  copy of our data. For now\, let's assume all the data is replicated acros
 s all the cluster nodes (but in reality it may affect overall performance)
   \nAnd we have a client which is not part of the cluster\, requesting for
  some operation from our distributed storage\, like a write or read to a d
 ata file. Read operation can be served by any node in our cluster\, but wr
 ite has to be handled by one node at a time to avoid any kind of conflicts
 . Also\, read of the same data which is being written can be served only a
 fter the write has been committed. And no other client can request write t
 o the same data file when a write is in progress.  In order to achieve thi
 s data integrity in our distributed storage\, a member of the cluster shou
 ld be elected as a leader to accept writes or redirect the read requests t
 o other cluster members. Wait\,  what if the leader which receives the wri
 te requests loses its leadership?  So the node which is handling the write
  should lock the data file until the write is committed. But how can we ac
 hieve this? How will the cluster know it’s membership?\n\nWhat is Apache
  Zookeeper?\n-------------------------\nZooKeeper is a distributed\, open-
 source coordination service for distributed applications. By providing a r
 obust implementation of a few basic operations\, ZooKeeper simplifies the 
 implementation of many advanced patterns in distributed systems. \nThe ser
 vice itself is simple\, replicated\, distributed\, fast\, highly reliable 
 and exposes a file-system-like API so that clients can manipulate simple d
 ata files called znodes. These znodes can have some special properties lik
 e being ephemeral or sequential\, but nonetheless\, they are small data fi
 les.\nEphemeral: Clients create such znodes\, and they either delete them 
 explicitly or let the system remove them automatically when the session th
 at creates them terminates.\n	Sequential: These Znodes when created\, gets
  a unique number (sequence) suffixed to its name.\nUnlike standard file sy
 stems\, each znode in a ZooKeeper namespace can have data associated with 
 it as well as children.\nFig 1 shows the high-level components of the ZooK
 eeper service. With the exception of the request processor\, each of the s
 ervers that make up the ZooKeeper service replicates its own copy of each 
 of the components.\n\n\nAll requests that update ZooKeeper state are forwa
 rded to the leader. The leader executes the request and broadcasts the cha
 nge to the ZooKeeper state using a Zookeeper Atomic Broadcast (ZAB) protoc
 ol. \nMany prominent Apache projects like Hadoop\, HBase\, Kafka are using
  Zookeeper to solve their distributed complexities. \n\nHow can we use it?
 \n------------------\nComing back to our distributed storage cluster\, we 
 can use Zookeeper to elect a leader using sequential znodes and create a w
 rite lock using Ephemeral znodes. \n\n1. Leader Election\nA simple way of 
 doing leader election with ZooKeeper is to use the SEQUENCE|EPHEMERAL flag
 s when creating znodes that represent "proposals" of clients. The idea is 
 to have a znode\, say "/election"\, such that each znode creates a child z
 node "/election/n_" with both flags SEQUENCE|EPHEMERAL. With the sequence 
 flag\, ZooKeeper automatically appends a sequence number that is greater t
 han anyone previously appended to a child of "/election". The process that
  created the znode with the smallest appended sequence number is the leade
 r.\nThat's not all\, though. It is important to watch for failures of the 
 leader so that a new client emerges as the new leader in the case the curr
 ent leader fails. A trivial solution is to have all application processes 
 watching upon the current smallest znode\, and checking if they are the ne
 w leader when the smallest znode goes away (note that the smallest znode w
 ill go away if the leader fails because the node is ephemeral). But this c
 auses a herd effect: upon of failure of the current leader\, all other pro
 cesses receive a notification\, and execute getChildren on "/election" to 
 obtain the current list of children of "/election". If the number of clien
 ts is large\, it causes a spike in the number of operations that ZooKeeper
  servers have to process. To avoid the herd effect\, it is sufficient to w
 atch for the next znode down on the sequence of znodes. If a client receiv
 es a notification that the znode it is watching is gone\, then it becomes 
 the new leader in the case that there is no smaller znode. Note that this 
 avoids the herd effect by not having all clients watching the same znode. 
 Here's the pseudo code:\nLet ELECTION be a path of choice of the applicati
 on. To volunteer to be a leader:\nCreate znode z with path "ELECTION/n_" w
 ith both SEQUENCE and EPHEMERAL flags\;\nLet C be the children of "ELECTIO
 N"\, and i be the sequence number of z\;\nWatch for changes on "ELECTION/n
 _j"\, where j is the largest sequence number such that j < i and n_j is a 
 znode in C\;\nUpon receiving a notification of znode deletions:\nLet C be 
 the new set of children of ELECTION\;\nIf z is the smallest node in C\, th
 en execute leader procedure\;\nOtherwise\, watch for changes on "ELECTION/
 n_j"\, where j is the largest sequence number such that j < i and n_j is a
  znode in C\;\n2. Locks\nFully distributed locks that are globally synchro
 nous\, meaning at any snapshot in time no two clients think they hold the 
 same lock. These can be implemented using ZooKeeper. Clients wishing to ob
 tain a lock do the following:\nCall create() with a pathname of "_locknode
 _/lock-" and the sequence and ephemeral flags set.\nCall getChildren() on 
 the lock node without setting the watch flag (this is important to avoid t
 he herd effect).\nIf the pathname created in step 1 has the lowest sequenc
 e number suffix\, the client has the lock and the client exits the protoco
 l.\nThe client calls exists() with the watch flag set on the path in the l
 ock directory with the next lowest sequence number.\nif exists() returns f
 alse\, go to step 2. Otherwise\, wait for a notification for the pathname 
 from the previous step before going to step 2.\nThe unlock protocol is ver
 y simple: clients wishing to release a lock simply delete the node they cr
 eated in step 1.\n\nThe example discussed here is a simple distributed sys
 tem for the purpose of this presentation only but nevertheless\, Apache Zo
 okeeper can be used to solve many distributed system complexities.\n\n### 
 Speaker bio\n\nGeethanjali Eswaran\, DevOps Engineer for Large-Scale Data 
 Cloud in Salesforce. Passionate about distributed computing\, BigData clou
 d\, Apache projects\, Kerberos protocol\,  and many more...\n
GEO:17.4457222;78.3488215586
LAST-MODIFIED:20230810T072606Z
LOCATION:Main auditorium - T-Hub\nHyderabad\nIN
ORGANIZER;CN=Rootconf:MAILTO:no-reply@hasgeek.com
URL:https://hasgeek.com/rootconf/2019-hyderabad/schedule/obtaining-consens
 us-in-distributed-systems-using-apache-zookeeper-SppoxPFtyzFVHDKwuCP41C
BEGIN:VALARM
ACTION:display
DESCRIPTION:Flash talk: The consensus problem in distributed systems in Ma
 in auditorium in 5 minutes
TRIGGER:-PT5M
END:VALARM
END:VEVENT
BEGIN:VEVENT
SUMMARY:Flash talk: Supporting utf8 characters in a utf8 mysql table
DTSTART:20191116T093500Z
DTEND:20191116T094000Z
DTSTAMP:20260421T020940Z
UID:session/7poaaTqFUEv2giibxJ7JEk@hasgeek.com
SEQUENCE:2
CATEGORIES:Crisp talk (20 mins),DevOps
CREATED:20191106T052817Z
DESCRIPTION:1. How we supported storing utf8 content in our app.\n2. How u
 pgrading the rails version caused MySQL to run in strict mode causing the 
 problems.\n3. How we evaluated our options and chose the final solution.\n
 4. The actual migration and dealing with ad-hoc issues.\n\n### Speaker bio
 \n\nLead Software Engineer @ Freshworks.\n
GEO:17.4457222;78.3488215586
LAST-MODIFIED:20230810T072606Z
LOCATION:Main auditorium - T-Hub\nHyderabad\nIN
ORGANIZER;CN=Rootconf:MAILTO:no-reply@hasgeek.com
URL:https://hasgeek.com/rootconf/2019-hyderabad/schedule/supporting-utf8-c
 haracters-in-a-utf8-mysql-table-7poaaTqFUEv2giibxJ7JEk
BEGIN:VALARM
ACTION:display
DESCRIPTION:Flash talk: Supporting utf8 characters in a utf8 mysql table i
 n Main auditorium in 5 minutes
TRIGGER:-PT5M
END:VALARM
END:VEVENT
BEGIN:VEVENT
SUMMARY:Regulating cloud service providers
DTSTART:20191116T094000Z
DTEND:20191116T095000Z
DTSTAMP:20260421T020940Z
UID:session/Pjy9EL5XekR1pXQFxjbseV@hasgeek.com
SEQUENCE:2
CATEGORIES:Crisp talk,Beginner,Lecture
CREATED:20191121T195348Z
DESCRIPTION:* Regulating CSPs\n* TRAI consultation paper\n* Why?\n\n### Sp
 eaker bio\n\nSrikanth is a software professional with interest in technolo
 gy policy\n
GEO:17.4457222;78.3488215586
LAST-MODIFIED:20230810T072606Z
LOCATION:Main auditorium - T-Hub\nHyderabad\nIN
ORGANIZER;CN=Rootconf:MAILTO:no-reply@hasgeek.com
URL:https://hasgeek.com/rootconf/2019-hyderabad/schedule/regulating-cloud-
 service-providers-Pjy9EL5XekR1pXQFxjbseV
BEGIN:VALARM
ACTION:display
DESCRIPTION:Regulating cloud service providers in Main auditorium in 5 min
 utes
TRIGGER:-PT5M
END:VALARM
END:VEVENT
BEGIN:VEVENT
SUMMARY:Reading data from database
DTSTART:20191116T095000Z
DTEND:20191116T095500Z
DTSTAMP:20260421T020940Z
UID:session/M7NpqigvXVY46xq4z9Gp3Z@hasgeek.com
SEQUENCE:0
CREATED:20200801T094601Z
DESCRIPTION:\n
GEO:17.4457222;78.3488215586
LAST-MODIFIED:20200801T094601Z
LOCATION:Main auditorium - T-Hub\nHyderabad\nIN
ORGANIZER;CN=Rootconf:MAILTO:no-reply@hasgeek.com
BEGIN:VALARM
ACTION:display
DESCRIPTION:Reading data from database in Main auditorium in 5 minutes
TRIGGER:-PT5M
END:VALARM
END:VEVENT
BEGIN:VEVENT
SUMMARY:Debugging distributed systems
DTSTART:20191116T095500Z
DTEND:20191116T100000Z
DTSTAMP:20260421T020940Z
UID:session/ENvoDrDuWH5kmEFFNZtGHt@hasgeek.com
SEQUENCE:0
CREATED:20200801T095648Z
DESCRIPTION:\n
GEO:17.4457222;78.3488215586
LAST-MODIFIED:20200801T095648Z
LOCATION:Main auditorium - T-Hub\nHyderabad\nIN
ORGANIZER;CN=Rootconf:MAILTO:no-reply@hasgeek.com
BEGIN:VALARM
ACTION:display
DESCRIPTION:Debugging distributed systems in Main auditorium in 5 minutes
TRIGGER:-PT5M
END:VALARM
END:VEVENT
BEGIN:VEVENT
SUMMARY:Evening beverage break
DTSTART:20191116T100000Z
DTEND:20191116T101500Z
DTSTAMP:20260421T020940Z
UID:session/A9j1HpmSf5ZRprSj2VYcbW@hasgeek.com
SEQUENCE:0
CREATED:20190628T100028Z
DESCRIPTION:\n
LAST-MODIFIED:20200801T095630Z
LOCATION:Hyderabad
ORGANIZER;CN=Rootconf:MAILTO:no-reply@hasgeek.com
BEGIN:VALARM
ACTION:display
DESCRIPTION:Evening beverage break in 5 minutes
TRIGGER:-PT5M
END:VALARM
END:VEVENT
BEGIN:VEVENT
SUMMARY:Designing microservices around your data design
DTSTART:20191116T101500Z
DTEND:20191116T105000Z
DTSTAMP:20260421T020940Z
UID:session/TPZZ9NNYfm3JLvrZ25fadC@hasgeek.com
SEQUENCE:3
CATEGORIES:Full talk,Intermediate,Lecture,Distributed systems,Full talk (4
 0 mins)
CREATED:20190722T060653Z
DESCRIPTION:- Introduction\n- Usecases Definition\n     1. Image Classific
 ation\n     2. Product Recommendations\n     3. AI Stylist\n- Architecture
  and workflow of each usecase\n- Merge the workflows into single architect
 ure\n- Core Platform Architecture v0.1\n- Design Considerations\n     1. L
 atency & throughput\n     2. Deployment strategy\n     3. datastore design
 \n- Core platform architecture v0.2\n- Learnings from our design\n- Case s
 tudy: Microservice Registry\n     1. Problem statement\n     2. Architectu
 re\n     3. Config change for single service\n     4. Config change betwee
 n microservices\n- Questions ?\n\n### Speaker bio\n\nI am Jambunathan\, Di
 rector of Engineering at MadStreetDen. For the past 2 years\, we have been
  working on scaling our machine learning platform on AWS which supports th
 e multiple products at https://vue.ai.\n
GEO:17.4457222;78.3488215586
LAST-MODIFIED:20240123T123130Z
LOCATION:Main auditorium - T-Hub\nHyderabad\nIN
ORGANIZER;CN=Rootconf:MAILTO:no-reply@hasgeek.com
URL:https://hasgeek.com/rootconf/2019-hyderabad/schedule/designing-microse
 rvices-around-your-data-design-TPZZ9NNYfm3JLvrZ25fadC
BEGIN:VALARM
ACTION:display
DESCRIPTION:Designing microservices around your data design in Main audito
 rium in 5 minutes
TRIGGER:-PT5M
END:VALARM
END:VEVENT
BEGIN:VEVENT
SUMMARY:Scaling hotstar.com for 25 million concurrent viewers
DTSTART:20191116T105000Z
DTEND:20191116T113000Z
DTSTAMP:20260421T020940Z
UID:session/EPxorRdfpJo4WdXkWyTka5@hasgeek.com
SEQUENCE:3
CATEGORIES:Full talk (40 mins),SRE,SRE,Full talk (40 mins)
CREATED:20190807T043627Z
DESCRIPTION:About Hotstar \nWhy traditional autoscaling doesn't work for H
 otstar \nChallenges in scaling\nGamedays and load testing for millions \nH
 ow we prepare for peak traffic (50M)\nChaos engineering at high level\n\n#
 ## Speaker bio\n\nGaurav is a Cloud Architect at Hotstar\, India’s leadi
 ng OTT provider that holds a global concurrency record for live streaming 
 to 25Mn+ viewers. At Hotstar\, he loves building cost-efficient infrastruc
 ture that can scale to millions in minutes. He is also passionate about ch
 aos engineering and cloud security.\n
GEO:17.4457222;78.3488215586
LAST-MODIFIED:20240123T123117Z
LOCATION:Main auditorium - T-Hub\nHyderabad\nIN
ORGANIZER;CN=Rootconf:MAILTO:no-reply@hasgeek.com
URL:https://hasgeek.com/rootconf/2019-hyderabad/schedule/scaling-hotstar-c
 om-for-25-million-concurrent-viewers-EPxorRdfpJo4WdXkWyTka5
BEGIN:VALARM
ACTION:display
DESCRIPTION:Scaling hotstar.com for 25 million concurrent viewers in Main 
 auditorium in 5 minutes
TRIGGER:-PT5M
END:VALARM
END:VEVENT
END:VCALENDAR
