
One of the most exciting experiences in the history of EastBanc Technologies was the joint work with Microsoft and Bing on the
Polling Place Locator project - a cloud-based Azure application that
on November 6, 2012 helped 6 million Americans to find their polling stations. On this day, two historical events occurred - 1) Barack Obama became the president of the United States of America for the second time; 2) our application withstood a tremendous load of 1.5 million unique visits and 6 million API requests in one day, during which the Polling Place Locator was displayed on every page of the American Facebook segment, on mashable.com and on the sites of several presidential candidates.
The Los Angeles Times newspaper
called the Polling Place Locator "perhaps the most useful search tool for polling stations," and CNN
told about the prime time application .
The story of how EastBanc Technologies contributed to the development of American democracy, read on! Under Habrakat we talk about the technical implementation of the application, the use of Windows Azure in high-loaded applications and how the application worked, and how we made it so
that you let go that nothing fell even during peak loads.
')

Why is it difficult to find your polling station in the States?
In the United States, there is no registration institution, migration flows within the country are monitored through driver’s licenses, social cards (ID) and payment systems. A US citizen can vote in one of certain places near his home, while he is required to present an identity document (and what specifically - ID or driver's license - individually for each state) and any evidence of his residence on this site, for example , paid utility bills.
All this can create a certain confusion (we have everything easier - we can only vote in one place, which determines our registration, and only upon presentation of a passport). In the States, you would have several such places, and polling stations can be located in supermarkets, schools, or even just on the streets.
How to ensure attendance with such a complex system
So that American voters did not wander and always bring the right documents with them, on the initiative of the nonprofit secular organization
Pew in 2010, EastBanc Technologies, with the support of MSN and Bing
, created the Voting Information Project (VIP) service to make information about any state and municipal elections ( whether it is the election of the president, senator or sheriff) more accessible. With the help of VIP, citizens have the opportunity: by scoring their address in the search box, to get a route to all the polling stations determined for this address and find out the time they work read candidate information; find out what documents you need to take with you; get contacts of administrative workers in charge of the sites; to work with the application in one of the 50 proposed languages, including such exotic languages ​​as Haitian, Creole, Tagalog, Hindi, and the language of one of the Chinese nationalities - Hmong.
Way to the nearest polling station
What documents with what content to show
Confirmation of the address using a gas billVIP turned out to be an effective tool that helped millions of people fulfill their civic duty with a minimum of hassle and confusion. This can be judged by the statistics of 2010, when more than 300 websites posted a VIP widget that collected 20 million views and about 7 million search query cases.
In the "peaceful" years of VIP worked under quite a normal load. The most interesting moment came when the whole country of America globally gathered for elections ...
What we have done so that the application does not fall under tons of requests
The
following ingredients were used
in developing the application:
- Platform - Microsoft Azure
- web protocol - OData
- UI implementation - on knockout and ASP.NET MVC
- API Scaling Solution - APIPhany
- iron - 90 cores and 127 databases.
From the customer (Pew) we received data in the form of exml, which were pumped into our database.
Especially for the efficient
loading of feeds on ASP.NET, the MVC application was written, in which URLs were overloaded once per hour.
At first, in test mode, in order to
spread the load across the bases, we broke them up into 4 regions - Middle East, West, South, Northeastern States. When switching to combat mode on November 6, 2012, the number of bases was increased to 127. They worked like this: one base determined which state the request came from, and switched to the one that is responsible for this state.
For an example: the user designates that lives in the city of New York. Through the OData server, a request is sent to the main base, which determines that the state of this city and issues the data of the New York base - they say, bring documents to this, you can vote at such-and-such addresses.
In such a busy mode, the application worked until November 7, 01:00 am Washington time. Then we turned everything off, returning to normal life and finally drinking a well-deserved
glass of valerian coffee.
Ambula and amoral
On November 6, 2012, 6 million voters from 50 US states almost simultaneously used the Polling Place Locator app - 99% of traffic came from Facebook, 1% from mashable.com and candidate sites. Up to 20 GB of data was downloaded from each state.
The application has
searched for various data formats . To work with addresses supported:
- unformatted user input;
- Bing request format;
- internal format in public databases.
At the same time, our
server never fell, and the search time was literally a fraction of a second! And in general, there were no special excesses: of course, complaints came to the support, but they were quickly resolved by the
Washington side , in general, everything went almost without gray hair in the hair of all project participants.
Why was Azure ideal for our purposes?
Firstly, we did not have to buy large capacities in the form of servers, licensed software, and then install all of this. We just paid for the number of users, as well as for using the cores and databases for 1 day, and as soon as the need for capacity disappeared, we returned to normal mode. At the same time, we immediately got a wide channel, and did not have to host anything.
What we would like to emphasize in particular: in the course of life, in conversations with applicants, in press releases of various IT companies, we often met people who said: “We made an ASP website and entered Azure. Therefore, call it Azur now! Although there comes three people a day. "
With all due respect, this is a fallacy.
The real “openwork” solution becomes only when the number of requests to it grows to such that no server can physically withstand it, the Azure infrastructure itself starts working and scaling begins. You will not find an accurate determination of the load at which the system becomes heavily loaded. We empirically found out for ourselves that this happens at the moment when the number of requests more than the number of requests crashes on the system more than one (even the best and most expensive) server can withstand.
But the most important thing that we got as a result of this project:
- We found out for ourselves that Azure in conditions when it is necessary to accept a huge flow of requests cheaply and for a finite period of time is the ideal thing.
- We participated in the 2012 US presidential elections and helped people optimize the execution of civic duty.
- Cut down fame in a small homeland ( here , here and here :).