An Internet search engine is a massive thing. Thousands upon thousands of services running millions of lines of code scouring the billions of Web pages to learn everything there is to know in cyberspace. Keeping a search engine like Bing up and running, and relevant, takes a bit of work. Microsoft’s Visual Studio team put together a visual story board highlighting Bing’s Continuous Delivery process of bringing you the most intelligent search results.
Microsoft’s Bing is on a long-term journey to build the largest, most relevant, best performing search engine in the world. This one goal presents monumental software engineering challenges that demand the most from its development platform. So while Bing has been steadily climbing into the second largest search engine in the world, we have also been innovating in how we build, deploy, and manage our software platform. What we’ve discovered: rapid innovations in user-facing features and performance are only possible through innovation in the software platform and the developer experience. In this series we hope to convey the challenges we faced trying to move over 600 engineers from doing something they were very comfortable with to a way that seemed not only infeasible but downright insane. The culmination of the platform and developer experiences is referred to as Continuous Delivery (or simply “Agility”), and when we began to make the leap to Continuous Delivery we not only changed the way our developers write code – we fundamentally altered the way our business operates. Regardless of organizational size, we believe this is a journey worth taking.
So, what kind of an organization keeps Bing up to date, and what do they do, precisely? How about the 600 engineers mentioned above pushing more than 4,000 individual changes a week into a testing phase containing over 20,000 tests. Each test can last from 10 minutes to several hours or days. This Agility process is serious stuff.
Agility incorporates two “loops,” the Inner Loop that is where engineers write the code, prototype, and crowd-source features. Then, there’s an Outer Loop where the code goes live, gets tested by users, and then pushes out to the world.
It’s important to remember that Bing does more than just provide the search results at Bing.com. The search engine powers Cortana, is incorporated in Office 2016 via the Smart Lookup functionality, provides the intelligence behind Bing Predicts, and is used by external sources like AOL and Apple’s Siri. Bing also makes some money for Microsoft. Overall, Bing is a valuable commodity for the company, and its development, continuous improvement, and testing processes are vital.
Our long-term goal of building the largest, most relevant, best performing search engine in the world marches onward – at double-time. We started with a simple question: “Can we do it faster?”, and have spent the last few years asking that question and implementing answers. From prototyping to building and validation to deployment and analysis, there have been no areas that have been off limits. More importantly we have used data and metrics to drive decisions about the next round of innovations including real-time developer feedback!
The Bing visual blog post is a fascinating read, and covers simply a metric ton of information on how Bing is developed and improved over time. It’s well worth a few minutes if you have any interest at all in how massive software projects are managed, or if you just want to know how Bing does such a good job of anticipating your needs and feeding them up.