There is no short answer to the question: what is DevOps?
It isn't just automation. It's not one tool, or one principle and there is no single route to follow that will take you to DevOpsLand. To find out what is DevOps, look at it from different angles and put together the perfect definition for you.
Developer and Operations team brought together by DevOps practices
DevOps is a collection of principles, practices and software tools promoting speed, collaboration and open communication across the whole software development lifecycle — and beyond!. A DevOps method's goal is to help developer and operations teams plan, develop, deliver and operate modern applications, while having the least context switching and the most automation. (In other words, staying efficient, sane and not want to quit their jobs every morning.)
These collections are different for every team. What is DevOps and its ingredients vary by companies, product priorities, work methods and other aspects. The best DevOps solution and toolchain for your team will differ from what's best for the next team.
What is DevOps in business terms
DevOps is seen as something that benefits developers or IT professionals in general, but in reality it doesn't stop there.
A well-oiled DevOps workflow accelerates time to market, quicker customer feedback, shorter downtimes and more adversities avoided. Product managers and CEOs will listen when they hear that DevOps can push down costs, improve quality and delight customers. Through these qualities DevOps can positively affect brand recognition, customer retention and ultimately the bottom line of the business, too.
The fact that DevOps made inroads into software adjacent fields as well is not a surprise. If you have a working method to improve collaboration between teams and automate processes, it will pique the interest of other departments. They want to understand what is DevOps as well.
For example, ITSM, software infrastructure management or IT security can all benefit with the advent of terms like DevSecOps and GitOps.
What is DevOps according to big tech companies
DevOps tool collections will range from apps for planning, building, testing, CI/CD, monitoring and more. Providers of the solutions, such as Amazon, Atlassian, Microsoft, IBM and others will tell you all about their offerings. Find below a few pointers to help sifting through them and see what they mean when they tell you what DevOps is.
There is one important thing about DevOps that you can't buy from either of the below companies: culture.
Almost every software provider will tell you that you need a cultural shift for a successful DevOps implementation. A cultural shift towards cross-team collaboration, open communication, shared platforms and new processes. This might be the greatest challenge of introducing DevOps to an organization.
What is Atlassian DevOps?
Pretty much all of Atlassian's tools can have a place within a DevOps toolchain.
For planning and communications they are suggesting Jira Software and Slack.
To promote a shared knowledgebase and work on content like Documentation, Atlassian recommends Confluence to be also connected to Jira.
DevOps automation for Atlassian
To enable automation across all tools by Atlassian and by third-party providers, they rely on Automation for Jira. For more advanced features and tighter integrations the Atlassian DevOps Marketplace houses a selection of Atlassian-recommended, proven apps with various DevOps features.
What is AWS DevOps?
While Amazon AWS is the strongest player in running, scaling and managing web apps in the cloud, it lacks proprietary offerings for the planning and communications phase.
As for source control, Amazon has AWS CodeCommit to offer, a fully fledged private Git repository solution.
For constructing an automated continuous integration and continuous delivery workflow, AWS recommends AWS CodePipeline. You can attach additional build services to it like AWS CodeBuild, which automatically compiles your code, runs tests and produce deployment-ready software packages.
AWS is the king of serverless computing, so they don't miss offering you their Microservices, such as AWS Lambda. It's a key component of the AWS DevOps toolchain and pretty much defines what is AWS DevOps.
Another of Amazon's strong suits is Infrastructure as Code. AWS CloudFormation enables developers to handle software infrastructure configurations as code and manage, provision or templatize those resources.
CloudWatch is the AWS DevOps tool for monitoring your cloud applications running on AWS cloud. You can collect and track log files, monitor errors or set alarms for outages.
For the continuous deployment of cloud application you can tap into the capabilities of AWS Elastic Beanstalk. AWS DevOps would not be complete without this service. It allows developers to just upload their code and it automatically deploys without managing servers, load-balancers, server capacity or health monitoring.
DevOps automation for AWS
You can't answer the question, what is DevOps for AWS, without mentioning automation. The AWS DevOps toolchain doesn't have one specific automation part, but it's built-in to many of their offerings. Separate services also exist that implement automation for certain applications.
As part of the AWS CI/CD toolbox, AWS CodeDeploy is a deployment automation counterpart that automates code deployments to Amazon EC2 instances or self-managed servers.
Attached to the Infrastructure as Code offering, AWS has a more complex automation platform, AWS OpsWorks. It's a configuration management service that uses its own automation framework, named Chef. It automates how servers are managed, configured and deployed.
What is Azure DevOps?
Microsoft educates the visitor about the DevOps practices and cultural traits that are inevitable for having DevOps integrated into the application lifecycle management. Azure DevOps solutions cover the full plan-develop-deliver-operate pipeline with legacy tools as well as new additions like GitHub or third-party integrations.
Azure DevOps has Azure Boards and GitHub's project management features for planning your software product and ideate with the team.
Visual Studio and Visual Studio Code are the core parts of Azure DevOps in term of development tools.
For code-collaboration and version control you have GitHub, obviously. Azure Pipelines follows closely in the line of offerings, with automated testing and CI capabilities.
Part of the Azure DevOps toolchain is Azure DevTest Lab that provisions environments for testing and development with easy cost management.
Continuous delivery in Azure DevOps is offered by Kubernetes on Azure with enterprise-level automated deployments and support.
Azure DevOps offers Azure Monitor for operating and tracking your production applications. It features actionable alerts, all-around telemetry and insights into logs.
DevOps automation for Azure DevOps
Azure DevOps has a powerful infrastructure automation platform, aptly called Azure Automation. On top this offering, automation is also embedded in other services, too.
Examples are GitHub Actions for automating workflows from idea to production, or Kubernetes on Azure for automated deployments. You can also take advantage of the Azure Marketplace and use compatible apps like Chef Automate.
What is IBM DevOps?
IBM isn't generally viewed as an agile organization so it's refreshing to see that their cloud department has grown into a legitimate authority on the topic of DevOps.
IBM publishes good resources for learning about DevOps where they also explain how DevOps grew out of agile. It's an enabler of agile work for a wider set of traditionally more rigid organizations. Finding new ways for the dev and ops teams to collaborate allow enterprises move faster, react to changes quickly while still adhere to company policies.
The IBM DevOps offerings are pretty easy to grasp as well.
IBM DevOps offers IBM Architecture Room Live, a collaborative, browser-based application for planning and designing new architectures in real-time.
IBM Rational Test Workbench visualizes test environments for application testing if those are not readily available.
Continuous deployment with IBM tools is carried out choosing IBM UrbanCode Deploy which automates the deployment of code to different environments.
IBM UrbanCode Velocity orchestrates the continuous delivery process and grants you insights into how your delivery pipeline performs and where the bottlenecks might occur.
DevOps automation for IBM
IBM DevOps offer automation features built-in to most of the applications on the toolchain. Instead of having a single solution for automation, IBM allows the integration with third-party providers to implement automated builds, deployments, releases, infrastructure configuration and more. Integration partners for IBM DevOps automation include Automatic, Ansible or Chef.
DevOps solutions for your organization
As we learned, no single path leads to DevOpsLand and you can't skip dealing with cultural changes as well within your organization. Once you had an all-hands discussion about the planned changes and clarified the strategy, can you look for the right tools to achieve your DevOps goals. It only works in this order.