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.
JIRA is the tracker for teamsplanning and building greatproducts. Thousands of teamschoose JIRA to capture andorganize issues, assign work,and follow team activity.
For creating a rich interactive application prototyping.
Confluence is your team workspace where knowledge and collaboration meet toachieve great things.
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.
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
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.
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.
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
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.
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.
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:
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.
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.
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:
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.
Pros:
- It’s an open source so it is free.
- Integrates very well with APM products like New-Relic,Dynatrace.
Cons:
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