• DocumentCode
    35950
  • Title

    Taking Control of Your Engineering Tools

  • Author

    Prasad, C. ; Schulte, W.

  • Volume
    46
  • Issue
    11
  • fYear
    2013
  • fDate
    Nov. 2013
  • Firstpage
    63
  • Lastpage
    66
  • 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.
  • Keywords
    cloud computing; software engineering; cloud compute elasticity; cloud storage capacity; cloud-based computing; engineering tools; project-specific clusters; software development tools; team development; Cloud computing; Control systems; Software development; Software maintenance; build systems; cloud computing; simplicity in IT; software engineering tools;
  • fLanguage
    English
  • Journal_Title
    Computer
  • Publisher
    ieee
  • ISSN
    0018-9162
  • Type

    jour

  • DOI
    10.1109/MC.2013.337
  • Filename
    6617629