Guide to Evaluating Tools for Agile DevOps

January 19, 2021

Overview

Without tools, it’s hard to automate. Without automation, DevOps is moredream than reality. Thus, tooling is a critical part of making the transition.

There are more important parts of DevOps than tools, but tools are very muchnecessary. Choosing the right tools is, therefore, critical to DevOps success.

There are a variety of tools that support a DevOps transformation, whether it’susing a tool at the bottom level of daily operation or tying together the manyother tools into a complete operation.

This Whitepaper provides a summary of the use cases for the tools used inDevOps.

Planning & Collaboration Tools:

Scrum and Kanban are a form of Agile softwaremethodologies. Agile software development is an approach under whichrequirements and solutions evolve through the collaborative effort ofself-organizing and cross-functional teams and their customers and end users.

Image of Jira Tool Logo
JIRA is the tracker for teamsplanning and building greatproducts. Thousands of teamschoose JIRA to capture andorganize issues, assign work,and follow team activity.

Image of Invision Tool Logo
For creating a rich interactive application prototyping.

Image of Confluence Tool Logo
Confluence is your team workspace where knowledge and collaboration meet toachieve great things.

Image of Slack Tool Logo
Keep conversations organised in Slack, the smart alternative to email.

SCM & Code Review Tools:

  • Software changes over time. This shouldn’t surprise anyone interested inDevOps. With experience in creating software comes the realization that anability to track history and jump around to different versions of the sourcecode is indispensable.
  • There are many options available for software version control. Because of itsembrace of open source, distributed nature, high performance, andremarkable support for multiple workflows, Git has emerged as the de factostandard.
Image of Bitbucket Tool Logo
Image of Gerrit Review Tool Logo

Continuous Integration Tools:

  • A dedicated build server can trigger builds for every commit that gets pushedto the canonical repository.
  • This means that every time there’s an update to the source code, it’sintegrated into a build that’s ready for automated testing, manual testing,acceptance testing, and possibly even immediate deployment to production.
  • Teams that work in isolation tend to have problems when they try tointegrate. Continuous integration means integrating work early and often soissues get addressed as quickly and effectively as possible
Image of Bamboo Tool Logo
Image of Circleci Tool Logo

Continuous Deployment Tools:

Spinnaker was built to be multi cloud so there is a strong case forusing it to deploy to cloud services like AWS and FCP but the way Kuberneteswas built makes it a perfect fit for spinnaker.

Image of Spinakker Tool Logo

Pros

  • It provides deployment pipelH2ines, easy rollbacks and scaling (rightfromthe
  • console)

  • Open Source
  • It integrates seamlessly with email, Slack, and Hipchat thus makingpipelinenotification a breeze
  • You get to use it for all types of Kubernetes resources not limited todeployments.
  • It supports Helm Charts
  • It handles blue/green and canary deployments and ships with support foranyCItool and cloud provider.
  • It will monitor your Kubernetes app’s (and cluster’s) health.

Cons

  • Only supports the Continuous Delivery (CD) phase of a DevOpscycle.
  • Normalized taxonomy does not apply across cloud providers. For example,anAmazon ECS cluster does not map to any core Spinnaker concept. So theseneedtobe set up separately, thus diminishing the value that Spinnaker canprovide.
  • Cloud providers differ in how they deploy and manage applications,thus eventually users need to get down to individually understandingeach provider.
  • Spinnaker does not support OpenStack.
  • Only available in Self-hosted and managed option. No Cloud version ofSpinnaker.
  • steeper learning curve – Pipeline expression language uses a customsyntax, which entails a learning curve for users. Moreover, some stringmanipulation and other expression evaluation requires use of java codewithin the expression language. Nested expressions are not supported inPipeline expression logic, this can be a limitation in some scenarios.

Continuous Deployment:

Octopus Deploy

DevOps teams use Octopus to automate even the most complicateddeployments. Octopus comes with over 300+ deployment steps, and support fordeployment patterns like Canary, Blue/Green and rolling deployments.

Image of Octopus Deploy Tool Logo

GitLab
GitLab’s Integrated CD solutions allows you to ship code with zero touch be iton one or one thousands server. deployments can be automated to multipleenvironments like staging and production, and the system just know what to dowithout being told – even for more advanced patterns like canary deployments

Image of Gitlab Tool Logo

Unit Test Framework tools:

  • Developers use unit test frameworks most frequently to write small tests withlimited scope that execute extremely quickly.
  • This is primarily to drive fast feedback during the development process. Suchtests are adept at catching regressions too.
  • These tools are beneficial for other types of tests as well and have usefulfeatures for selecting which tests run in which contexts.
  • Unit test frameworks exist for close to every language known.
Image of Jasmine Tool Logo
Image of Junit Tool Logo

Browser Automation Tools : Selenium

  • Browser automation tools are useful for testing as a user would, from end toend in the system via the user interface.
  • Such tests are usually the slowest of all automated tests. However, they havethe greatest scope and are the most complete in the problems they canidentify.
  • They are also more susceptible to false positives and are relatively hard tomaintain for these reasons, they’re necessary but should be a minority of theautomated tests written by a team.
Image of Selenium Tool Logo

Application Monitoring Tools:

identifying issues (performance,regression, or otherwise) and fixing them quickly as part of a team’s iteration.

Key things to consider:

  • Programming language support
  • Cloud support (Azure, AWS, Heroku, etc)
  • SaaS vs On-premise
  • Pricing
  • Ease of use
  • Support for Kubernetes Monitoring.
  • AI Power Analytics
  • Based on the above, Inventive-IT recommends:

Image of New Relic Tool Logo
Image of Dynatrace Tool Logo

Infrastructure Monitoring Tools:

The other side of the coin to application performance monitoring isinfrastructure monitoring.

There are many, many tools for this, including SaaS solutions such asPrometheus and DataDog.

Image of Prometheus Tool Logo

Pros:

  • De-facto standard for Kubernetes data aggregation.
  • Great Visualization
  • Powerful query language support to
  • Open Source

Cons:

  • Need configuration. Not as easy to deploy as Data Dog.
Image of Datadog Tool Logo

Pros:

  • Easy setup
  • Powerful integrations like with New Relic to provide Applicationperformance monitoring.
  • Great Visualization

Cons:

  • Cost: $15 per node per month.

Logs Monitoring Tools:

Analysing logs is a crucial part of the iterative improvement cycle and is acritical part of system troubleshooting, debugging, and security incidentresponse.

Popular log analysis tools include:

Image of Splunk Tool Logo

Pros:

  • Integrates very well with APM products like New-Relic,Dynatrace.
  • Fast consolidations of logs to be able to search data and findinsights.

Cons:

  • It’s a proprietary software with price tag. It is a bit costly.
  • Complexity of setting it up and maintaining it. It has relatively steeplearning curve and can take time to get going properly and manage on anongoing basis.
Image of Elx Tool Logo

Pros:

  • It’s an open source so it is free.
  • Integrates very well with APM products like New-Relic,Dynatrace.

Cons:

  • Hidden cost involve with infrastructure.

    ELK = Elasticsearch, Logstash & Kibana

  • Elasticsearch – a no sql database which uses Lucene searchengine.
  • Logstash – It is a transportation pipeline used to populateElasticsearch with data
  • Kibana – It is a dashboard working on top of Elasticsearch andprovidedata analysis through visualizations and dashboards.

In Conclusion

As you tell from reading this Whitepaper, there are a wide array of availabletools that can be used for DevOps.

Inventive-IT offers free assessments to review your tech stack for DevOps toidentify which tools would be best for your organization.

Please book your assessment with one of team members to see which tools willassist you in reaching your organizational goals.

Schedule your Assessment Today

Related Articles
Application development life cycle guide

Do you know that a lot can happen in the life of your product, software, or application? Assuming your company has conceived an idea for a product, there are certain processes this idea must go through before it can eventually be released as a product. Application development life cycle is used in the management of […]

A Brief Explanation About What is Infrastructure as Code

Managing infrastructure used to be a tedious task in the past. System admins had to manually configure and manage all of the software and hardware required for applications to function. However, events have changed dramatically in recent years. Trends such as cloud computing have improved and revolutionized the way companies design, build, and manage their […]

avoid employee burnout

Staff burnout refers to extreme work stress that the employees go through. It has serious implications such as reduced productivity, task delays, and depleted morale. Burnout spreads like fire amongst your employees. If you are not careful, it can wipe out your entire team. Employees are the most integral asset when it comes to running […]

Have you ever taken a minute to wonder how all the information technology services rendered to billions of people all over the world are organized? Have you thought about how these services alongside billions of data points are managed efficiently? This process is called IT service management or ITSM. Let’s find out what ITSM is, […]

The concept of outsourcing is nothing new to the world of technology. There was a time when the idea of “onshoring” was trendy. But the quality and efficiency of talent from anywhere around the world can make a company’s core product and business stronger. This concept is commonly referred to as “outsourcing”. There are many […]