The Community for Technology Leaders
RSS Icon
Subscribe
Issue No.11 - Nov. (2013 vol.46)
pp: 63-66
Chandra Prasad , Microsoft
Wolfram Schulte , Microsoft
ABSTRACT
Traditionally software development tools, such as compilers, linkers and build engines, were designed for use by individual engineers on dedicated desktop machines. As these tools evolved, they scaled-up by exploiting more powerful development machines. The same tools were adapted for team development to run on small, project-specific clusters by dedicating a server to process a single job at a time. While this paradigm has served us well in the past, it fails to take advantage of the positive network effects of cloud-based computing. During the past year, our team constructed a cloud based build system that enables fast and efficient builds through techniques that leverage parallel, cached, incremental, distributed, and multitenant builds. Leveraging the cloud's compute elasticity and storage capacity enabled us to reduce builds latency dramatically, building today in seconds and minutes instead of hours. But migrating existing tools to the cloud is daunting. This paper summarizes our findings in the form of six principles, on how we need to evolve engineering tools, starting with those that participate in the build automation, to simplify, take control, and move these tools to the cloud.
INDEX TERMS
Software development, Software maintenance, Cloud computing, Control systems, simplicity in IT, software engineering tools, build systems, cloud computing
CITATION
Chandra Prasad, Wolfram Schulte, "Taking Control of Your Engineering Tools", Computer, vol.46, no. 11, pp. 63-66, Nov. 2013, doi:10.1109/MC.2013.337
REFERENCES
1. P.M. Duvall, S. Matyas, and A. Glover, Continuous Integration: Improving Software Quality and Reducing Risk, Addison-Wesley, 2007.
2. B. Smith, “Ant, Maven and Gradle—A Side by Side Comparison,” blog, 11 May 2012; http://xpanxionsoftware.wordpress.com/2012/ 05/11ant-maven-and-gradle-a-side-by-side-comparison .
3. N. York, “Build in the Cloud: Accessing Source Code,” blog, 21 June 2011; http://google-engtools.blogspot.com/2011/ 06build-in-cloud-accessing-source-code.html .
4. J. Loeliger and M. McCullough, Version Control with Git: Powerful Tools and Techniques for Collaborative Software Development, 2nd ed., O'Reilly Media, 2012.
5. J. Griesmer, “Why Does Visual Studio Require Debugger Symbol Files to *Exactly* Match the Binary Files That They Were Built With?,” blog, 6 July 2007; http://blogs.msdn.com/b/jimgries/archive/ 2007/07/06why-does-visual-studio-require-debugger-symbol-files-to-exactly-match-the-binary-files-that-they-were-built-with.aspx .
6. C. Aniszczyk, “Distributed Systems Tracing with Zipkin,” blog, 7 June 2012; https://blog.twitter.com/2012distributed-systems-tracing-zipkin .
68 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool