Enticed by promises of agility, cost-effectiveness and update efficiency, companies across the spectrum are embracing DevOps. Billed as the modern answer to fluid system improvement, DevOps is supposedly a smoother, faster and more cost effective software development tactic in contradistinction to the staggered waterfall or cascade approaches.
Emerging out of the agility movement in software culture, DevOps combines development and operations to form practices where services systems are built for resilience and scalability, allowing engineers to deliver updates continually. Infrastructure automation and continuous delivery are key tenets of the coding approach.
As any IT manager will know, integration of DevOps with legacy infrastructure is no mean feat and software creators will quickly find themselves in need of a toolkit for implementation.
There are countless tools on the web promising any DevOps project would fall flat without it. While many resources are freely available at no cost, the uninitiated developer is likely to be overwhelmed with options, losing precious time if deficient programmes are given pride of place. As ever, caution and some ground research is essential in order to save time down the river.
CBR has put together this rundown of the DevOps tools your organisation should be aware of for 2018, to provide an indication of some of the better-known options on the market. If a firm is going to run like a well-oiled machine, managers best check that the toolbox will fully equip developers for the ride.
1. Jenkins
Probably the best known of the build tools – and for good reason – Jenkins is a starting point for many DevOps project leaders to incorporate continuous integration (CI) into IT infrastructure.
Initially released in 2011, the open source automation server has grown from strength to strength, and, according to its own marketing, “can be used as a simple CI server or turned into the continuous delivery hub for any project”. A relatively recent Pipeline plugin means customers can implement their project’s entire build/test/deploy pipeline in a Jenkinsfile and store it alongside the code. This feature aids best practice of continuous delivery and therefore speeds deployment. Alternative tools to try are Solano Labs and Gradle.
2. Github
This one almost goes without saying – but the world’s largest repository of source code will accelerate DevOps projects with its effective search navigation and collaborative structure. The platform wraps a software version control system known as “Git” and provides a space for software developers to host their code online for free. It’s also a social site, where questions can be asked and code exchanges made. Github has a handy list of DevOps tools with one-line descriptions to help developers zone in on relevant software. Helpfully, each suggestion is colour-coded to indicate which language it is written in, saving search time. There are other libraries to check out Git from – but why would you?
3. gulp.js
Make sure your DevOps systems are working as efficiently and resourcefully as possible with an automation platform such as gulp.
Designed with a focus on code over configuration, and a minimal API surface, gulp aims to simplify and automate those mundane jobs.
This agnostic task runner is a streaming build system in front-end web development “for automating painful or time-consuming tasks”, the company said on its website, “so you can stop messing around and build something.”
gulp.js has a strong ecosystem, with more than 2,000 curated plugins for streaming file transformations, such as in-memory file cache and a command to only pass through changed files.
Containers: Building adoption from chaos
Availability: why it must be a vital tool for any CSP
Digital 2.0: Five of the Biggest Trends in 2018
4. Microsoft Visual Studio Team Services
Backed by its cloud platform Azure, Microsoft’s Visual Studio Team Services (formerly Visual Studio Online), lightens the workload for on-prem servers. The solution assists with management of source code, requirements, releases and projects.
Part of the Team Foundation Server, the tool can provide reporting, automated builds, lab management, testing and deployment. One advantage of Microsoft’s suite is its flexibility to move from on-prem to cloud, providing flexible pricing and scalability. Multiple users can log into the same Microsoft account online, with cloud-based users benefiting from software updates around three months sooner than on-premises customers.
Visual Studio Enterprise has staggered pricing based on the number of users per month. While the first five users are free, users 6 to 10 cost £4,472 each, users 11 to 100 £5,963 each and so on.
5. New Relic APM
New Relic’s Application Performance Management and Monitoring (APM) tool will provide in-depth performance metrics, down to the level of individual lines of code.
The APM software enables full-stack alerting as well as providing a concise summary of real-time system status. The tool gives grouped views for diagnosis of domain-level problems, including features for application monitoring, database monitoring, availability/error monitoring, reports, team collaboration and continuous monitoring of security. However, if you can’t get along with the GUI, PagerDuty offers similar monitoring and alerts to measure impact of numerous release cycles.
6. Docker
Sooner or later, developers are going to scrabble around for a method of data abstraction and Docker is a solid tool to reach for.
Launched in 2013, Docker is credited with the popularisation of containers. Operating on Windows or Linux and compatible with any programming language, the toolkit will section off software, wrapping it in a filesystem which facilitates automated deployments. This will make it easier to host applications inside portable environments. Docker automates operating-system-level virtualization – and it’s integration-friendly, cooperating with IBM Cloud, AWS, Oracle Cloud, Azure and more.
Its tools promise to assist with company transition to DevOps, namely, implementing the velocity, variation and visualization of systems thinking and amplifying feedback loops. Built-in container orchestration uses clustering to run apps at scale, with open APIs, plugins and drivers providing convenient integration with third-party systems. Efficient data hygiene can significantly reduce network headaches as the head of tech takes control of updates to IT infrastructure.
7. Vagrant
Another popular DevOps partner is Vagrant, a tool for building and managing virtual machine environments in a single workflow. Created by HashiCorp, the virtualisation platform has automation capability, using software to prepare multiple applications to run simultaneously, improving resource efficiency.
Using a declarative configuration, which describes all your software requirements, packages, and so on, Vagrant is said to mirror production environments by providing the same OS, packages, users and configurations whilst letting the user choose their own editor, IDE, and browser.In addition to working on Mac, Linux, Windows, and more, Vagrant also integrations with existing configuration management tooling like Chef, Puppet, Ansible, or Salt.
Another tool to try could be repository manager GitLab, which enables a user to visualise, plan and monitor a DevOps project from start to ongoing use.