Taking Control of Your Engineering Tools.

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 developme...

Full description

Bibliographic Details
Published in:Computer (00189162) Vol. 46; no. 11; pp. 63 - 67
Main Authors: Prasad, Chandra, Schulte, Wolfram
Format: Article
Published: IEEE Nov2013
Subjects:
Online Access:View this record in EBSCOhost
fields @attributes:
  recordID: 1
pdfLink:
plink: https://search.ebscohost.com/login.aspx?direct=true&db=hlh&AN=92663507&site=ehost-live
header:
  @attributes:
    shortDbName: hlh
    uiTerm: 92663507
    longDbName: Humanities International Complete
    uiTag: AN
  controlInfo:
    bkinfo:
    jinfo:
      jid:
        00189162
        PUT
      jtl: Computer (00189162)
      issn: 00189162
      maglogo: N
    pubinfo:
      dt: Nov2013
      vid: 46
      iid: 11
      pid: 13605
      pub: IEEE
    artinfo:
      ui:
        92663507
        10.1109/MC.2013.337
      ppf: 63
      ppct: 4
      formats:
      tig:
        atl: Taking Control of Your Engineering Tools.
      aug:
        au:
          Prasad, Chandra
          Schulte, Wolfram
        affil: Microsoft
      su:
        Computer software development
        Engineering software
        Computer software
        Linkers (Computer programs)
        Compilers (Computer programs)
        Cloud computing
      sug:
        subj:
          Computer software development
          Engineering software
          Computer software
          Linkers (Computer programs)
          Compilers (Computer programs)
          Cloud computing
      keyword:
        Atmospheric measurements
        build systems
        Buildings
        cloud computing
        Computers
        Control systems
        Engines
        simplicity in IT
        Software
        software engineering tools
      ab: 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.
      pubtype: Academic Journal
      doctype: Article
      src: R
    language: English
    refInfo:
    copyright:
      @attributes:
        flag: Y
      dt:
        @attributes:
          year: 2013
    holdings:
      @attributes:
        islocal: N