There once was a time in software development where developers could design, build and then think about their software's security. However in today's highly connected, API-driven application environment, this approach is simply too risky as it exposes the software to vulnerabilities ...
DEVOPSdigest asked experts from across the industry for their recommendation on a key technology required for DevOps. Part 2 of the list covers automation and continuous integration.
DevOps relies, technologically, on automation and socially, on collaboration. You can't empower development and operations to collaborate and move faster until the manual scripting and configuration tasks are automated. So automation truly is the tooling foundation of DevOps. In short, automation supports a workflow that provides speed, scale and consistency – the end-state anyone practicing DevOps is trying to achieve.
Lucas A. Welch
Director of Communications, Chef
The single most important tool for DevOps success is an automation tool that is capable of supporting a variety of technologies. Our customer base needs a complete big data stack automation tool that speeds the creation of big data clusters for hard-to-system-engineer, distributed processing applications. With this type of tool developers can gain access to a Hadoop cluster almost immediately – as opposed to the weeks or months it might take through conventional channels. This allows developers and data scientists to experiment and innovate rapidly.
Managing Partner, B23
The true must-have tool to enable DevOps is a culture of collaboration. Without trusted and transparent interaction between Development and Operations, you can't enable DevOps. Concurrent with a shift in culture is the need for automated tooling at all levels: build, test, deploy, monitor and remediate.
President of the Cloud, Data Center and Performance Businesses at BMC Software
10. CONTINUOUS INTEGRATION
A continuous integration tool is vital to enabling DevOps. With the help of other tools, they form the automation backbone that consolidates developers’ code submissions, packages and tests releases, and deploys releases into production.
Sr. Product Marketing Manager, Riverbed
Tools alone will not drive DevOps transformations; however, if I had to pick one critical tool to DevOps, I would say it is the CI Server. If the service delivery pipeline is the blood of DevOps, then the CI Server is the heart.
Director of Ecosystem Development, Docker
Continuous integration is the best way to tie your development, testing and deployment into a single end-to-end process that “just works”, allowing Development and Ops to focus on what they do best and deliver quality code to your users faster
11. BUILD AUTOMATION
Silicon Valley software teams increasingly look to Build Automation as the key to developer productivity – because it empowers developers to define the behavior of all the other downstream DevOps toolchain.
12. AUTOMATED CONFIGURATION MANAGEMENT
In my opinion, integration testing is the most important phase of software development. This makes automated configuration management a must-have in the DevOps toolbox. The growth of containers and microservices makes it all the more critical to track components and ensure that the right version of components are being tested.
Technology Analyst and Founder of TechTonics Advisors
13. SELENIUM GRID
One must-have tool to enable DevOps is a Selenium (or Appium) grid to support automated unit and functional tests that run whenever a new code is checked in via the CI server. Ideally, this grid is on a 3rd-party cloud service so that the DevOps team does not have to deal with maintaining an image library of the latest browser, OS, and device combinations, or the delays associated with false positives that may be introduced as the result of a testing infrastructure unreliability.
VP of Products, Sauce Labs