Software Engineering Services at Scale
Dr. Wolfram Schulte, Microsoft Research, Redmond
Monday, March 16, 14:00, CAB G61
To be successful in today's fast-paced software development environment it is essential to have a high engineering agility, that is minimize the time from software requirements being defined to having the customer consume the feature. The Tools for Software Engineers team, which is chartered to improve Microsoft's engineering velocity, addresses this by providing Software Engineering Services in the cloud. Examples are code review, build, test, static analysis, operational and engineering analytics. In this talk our main focus will be CloudBuild. Its objective is to shorten the continuous integration cycle time, which is the minimum time required for a typical source code change to move from changed to compiled and unit tested binary. CloudBuild is currently used by thousands of engineers. It runs tens of thousands of builds and millions of tests per day. CloudBuild has continuously shown 4-10X speed improvements compared to Microsoft traditional build systems, giving engineers more opportunities to try alternate design and provide confidence in their check-ins. But building such a distributed system is not without its challenges, the CloudBuild system has multiple dependencies from version control via package management to drop service; it has requirements for build machine preparation, including location aware enlistment creation; it requires algorithms for online task scheduling in the presence of build caches; it has mechanism for checking for incrementality in builds and tests; it uses lightweight process isolation to detect runtime errors against static build specifications. And of course it has all the usual requirements for failure tolerance of distributed systems. Today it empowers engineers in Microsoft, tomorrow it will hopefully empower Microsoft's tooling customers. This talk will give an overview of TSE, and a glimpse of the journey from the desktop and lab to the cloud, its immense opportunities but also its new service challenges.
Wolfram Schulte is a partner group software engineering manager in Microsoft's Developer Division, Redmond, USA, where he founded in 2012 the Tools for Software Engineers (TSE) team. Its mission is to improve Microsoft's engineering velocity. TSE does so by building developer services using Cloud technologies. Before Wolfram ventured into product groups, Wolfram lead the Research in Software Engineering (RiSE) group, at Microsoft Research (MSR).
His research interests include
software development tools, ranging from build, via automatic test to deployment,
software engineering analytics, ranging from collecting data to prediction,
programming languages, ranging from language design to runtimes.
Before joining MSR in 1999, Wolfram worked at the University of Ulm (1993-1999, habilitation), at sd&m, a German software company (1992-1993), and at the Technical University Berlin (1987-1992, PhD).