As software is increasingly deployed in public cloud environments, foundational platforms such as Apache BookKeeper must also continuously evolve to effectively work in multi availability zone environments and be designed to work around problems unique to such environments.
We at Salesforce added to BookKeeper the ability to function effectively in a Multi-AZ public cloud environment. The first step to this was adding awareness in bookies about their location in the cluster. We propose an approach to this problem which when using a kubernetes based deployment in public cloud environments, makes use of information natively provided by Kubernetes API, to determine their ‘location in the cluster’ also known as their ‘networkLocation’. The second step was to make this information available to the client. This was accomplished by adding the aforementioned ‘networkLocation’ as a field in the ‘cookies’ in a multi AZ environment. The field would be used to store the position of the bookie in the cluster. To make this network location available to the client, we added a mapping allowing client code to read this directly from the cookie.
1 of 21
More Related Content
The first step to Multi AZ architecture for Apache BookKeeper_Anup Ghatage
1. The first step to
Multi AZ architecture for
Apache BookKeeper
(Durability and availability across zones!)
Anup Ghatage
Salesforce | Senior Member of Technical Staff
Ankit Jain
Salesforce | Senior Member of Technical Staff
9. “The problem for those sites that were brought
down by the AWS outage is sites’ own failure
to implement the one key design principle of
the cloud — design with failure in mind. ”
“The cloud is just a computer in Reston with a
bad power supply”
“The Azure cloud has experienced three unique
and significant incidents that impacted
customers.”
“Savor “Fireplace For Your Home” on Christmas,
rated four out of five stars and featuring “famous
old-fashioned, wood-burning fireplace,”