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
Leaderships family day at Jadhavgadh with Inventive bosses

Team Inventive, on February 19th, went into an extended V-Day mode, as they got an opportunity to interact with their colleagues at the picturesque Fort Jadhavgadh, where they could bring in their family to meet their super bosses from the Americas   Waking up to a beautiful Sunday to meet workmates may seem like an […]

application development

Organizations worldwide are transforming their business growth by using software applications. IT software plays a vital role in transforming users’ experiences, creating new revenue channels, making businesses more innovative, and reaching a wider audience. To benefit from the availability of web-based applications, developers and maintainers must have a strategy that aligns with the needs of […]

Kubernetes Trends

More and more companies are deploying Kubernetes to meet their hybrid, multi-cloud requirements. To unify and bring a consistent approach to our digital capabilities across the public and private cloud environments, Kubernetes’ declarative APIs and robust reconciliation loops are essential. More than 75% of global businesses will use containerized apps in production by 2022, according […]

Active Directory

Microsoft created Active Directory as a specialized software solution to help security management teams and administrators of Windows domain networks to manage and deliver network changes, as well as system or security policy modifications to all machines linked to the domain, or to designated subsets of users or endpoints. The first version of Active Directory […]

CI/CD Pipeline Security

CI/CD pipeline security entails securing everything that passes through your software pipeline, but the pipeline itself might become a target. You can put a halt to it with these CI/CD precautions. Many companies make the transition from DevOps to DevSecOps by including continuous security validation into their CI/CD pipelines. A shift-left approach incorporates security into […]