DevOps is a sea of change that many people say was a long time coming. It’s a career field. It’s a mindset. It’s also a set of tools to help the entire pipeline coordinate as a single, awesome entity.
Here are the 10 best tools for the DevOps engineer.
Cloud Computing Services
A cloud computing service is the uber tool of DevOps. More than a single tool, a cloud computing service is actually a swiss-army knife of tools.
The big players in cloud computing are Amazon Web Services (AWS), Microsoft Azure, and Google Cloud Platform (GCP). Models for cloud computing include IaaS (infrastructure as a service), and PaaS (platform as a service).
Under the IaaS model, you can spin up virtual machines to your specification, and administer them as you see fit. AWS, Azure, and GCP refer to their virtual machine service as EC2 (Elastic Compute Cloud), Azure Virtual Machines, and Google Compute Engine, respectively.
Under the PaaS model, you can access and create software services such as databases and analytics without thinking about infrastructure such as the operating system, firewall configuration, or storage.
So, pick the tool that’s best for you.
Docker is an open platform for developing, shipping, and running applications in a loosely isolated environment called a container. Since Microsoft’s recent embrace of Docker and Linux, it’s become an even more versatile tool.
Containers package applications with their own dedicated file system, storage, CPU, RAM, and other requirements, guaranteeing that the apps will always run the same without virtualizing the hardware itself.
Docker applications are portable, lightweight, and easily installed. Needless to say, Docker apps may be deployed on a cloud computing service, and Shawn Powers has everything you need to get started in DevOps.
Configuration Management and Orchestration Tools
There is a long journey between when a developer edits code and when customers can enjoy the benefits of the work. Files must be copied, software built and tested, and runtime elements deployed to the end servers — whether they’re bare-metal, in a cloud environment, or both. Numerous tools are available for automating this workflow.
Here are some of the most important:
Jenkins is a free, extensible, open-source, automation server that supports continuous deployment. Jenkins can integrate with the source-control system so that jobs can be triggered when source-code changes are detected. Here’s a full list of CI tools.
Puppet is one of the longest standing configuration management tools and is known for its maturity and stability. It is available in a free, open-source version, or a paid enterprise version. Which one might be right for you? Shawn Powers can help you decide.
Chef is a configuration management and automation platform from Opscode, based on the paradigm of creating system-configuration “recipes” that can be grouped together into a “cookbook.” It is available as a free, open-source version, or a paid enterprise version.
Version control systems help software teams manage changes to source code over time. They keep track of all modifications to the code. This allows developers to turn back the clock to retrieve earlier versions of the code, and allow developers to create and merge branches.
Earlier versions of version control systems included SCCS (source code control system) and SVN (subversion). Today, the most popular version control system is Git, a distributed version control system that allows you to maintain a local repository, as well as push changes to remote repositories.
Several web-based services are available for hosting remote git repositories:
GitHub allows you to create unlimited public reports and has become the primary platform for open-source projects. It allows users to create public pages and has an increasing number of project management features. For private repositories, GitHub has a variety of paid plans.
BitBucket is the web-based git service run by Atlassian, that integrates with Jira, also an Atlassian product. BitBucket allows unlimited free public and private repositories with five users or fewer. For over five users, there are costs that correlate with the number of users.
AWS CodeCommit is Amazon’s contribution to the web-based Git-service market. It allows unlimited public and private repositories with five users or fewer and costs $1/month for each additional user. Additional modest charges can accrue if you exceed a generous number gigabytes or Git requests per month.
The field of DevOps has grown in parallel with cloud computing services, and the two fields are intimately related, which shows in both the types of tools and the sheer quantity of tools.
While we tried to highlight the most popular ten tools, there are literally thousands of tools you can use to build, automate, test, and deploy software.
Not a CBT Nuggets subscriber? Start your free week now.
CBT Nuggets has everything you need to learn new IT skills and advance your career — unlimited video training and Transcender® Practice Exams, Virtual Labs, validated learning with in-video Quizzes, Accountability Coaching, and access to our exclusive community of IT professionals
Learn more about the CBT Nuggets Learning Experience.