An Improved Software Supply Chain

Our Investment in CircleCI

We are excited to announce our recent investment in CircleCI. The software delivery lifecycle (SDLC) and the process of shipping code is a broadly horizontal developer requirement that we have recognized as a problem in need of an elegant solution, until now. Open source and commercial software offerings have improved incrementally over time but the landscape complexity has worsened to keep pace, in effect cancelling out any progress.

In CircleCI, we have found the elegant, forward-looking solution we were seeking: a fully-featured, hosted (or behind-the-firewall), continuous integration and continuous delivery tool (CI/CD), available across environments and software languages. Just as our partnership with JFrog was a statement of our belief in the needs for developers building and deploying code, the same is true of our partnership with CircleCI.

The days of releasing code 1x per quarter or 1x per month are long gone and software delivery has become a continuous loop. A single workflow ties together an automated build from source code, to test, to deploy, and repeats frequently. As a central building block, CircleCI manages the process of integration, all forms of testing, through to delivery of the code intended for production, and ultimately the release into the wild. Because CircleCI is one core step in what is a more complex pipeline, CircleCI also maintains strong relationships with the open source projects and emergent technologies working alongside them. This is imperative to deliver the reality of an end-to-end software delivery pipeline to customers.  

The goal is to obscure all of this complexity to the end user, such that an individual on a web page or a web application experiences a highly contemporary, robust experience with each interaction. Behind the scenes, torrents of complexity are being tamed, including:

  • The rise of Docker, containers and microservices: Containers have been in used in production at the Web 2.0 companies for years but Docker has brought containers to the forefront of technology discussion and into the mainstream. Docker and containers - be they single-process containers or ones operating more like VMs -  have enabled applications to move from the once-common monolithic architectures into ready-to-run microservices. Microservices introduce smaller, manageable code bases, where services are loosely coupled, continuously deployed, and disposable. Applications today may be assembled from dozens of distinct services.

  • Numerous languages, frameworks and APIs: Developers prefer to write each application component using the best programming language for the task and microservices have helped make this a reality. It is rare today to find a “Java” shop or a “Ruby” shop and instead you hear that the core may be Java but other internal teams are adopting Go, Node, Python, etc. APIs only make this more complicated. The software delivery pipeline cannot be useful if only addressing a single language; instead, it has to cover a critical mass of languages to be helpful to all software developers.

  • Companies are shipping code with less time between releases, often just hours or minutes: As companies look to mimic the Web 2.0 companies; with customer expectations rising, each company is driven to release code faster and faster to remain competitive.

  • Applicable across industries: Software tools are not only sold to software companies. J.P. Morgan is on record as having 30,000 software engineers, more engineers than Alphabet reported in their most recent 10K. Capital One, United Airlines, Nike and John Deere speak publicly about their software initiatives. These companies fall out of Silicon Valley and outside the technology sector but are moving in the direction of becoming software companies.

  • Security and stability: Enterprises are heavily focused on mitigating risk, as well they should. There are near-infinite attack vectors for cyber criminals and any company with a mature software pipeline needs to take extra precautions to ensure code pushed to production is stable and malware-free.

  • Form factors: If the main form factor used to be personal computers, today that has splintered. Software is pushed to PCs, mobile devices, tablets, servers, connected devices, and and smaller and smaller connected ‘things.’ One size no longer fits all.

As the software supply chain gains in complexity, the demands of the software supporting it increase. It is for these reasons that we think CircleCI is in a great position to deliver robust software to a large and expanding customer base. We are excited to be partnering with the extended CircleCI team, including DFJ, Harrison Metal, and Baseline.


Originally published May 16, 2016.