Some say DevOps is a culture shift. Some say it’s all about tooling to improve software delivery and software maintenance and performance. We’re saying it’s all of the above! We have heard several great questions in and around DevOps. What are industry standards? What are the best tools to use? How do you start the process of restructuring your IT Operations and Development teams?
Read our compiled list of frequently asked questions by our clients and responses by our DevOps Solutions Architect Director, Chris Riley. We know that resources, like below, can assist with your DevOps transformation, but if you find that you have additional questions, sign up below and request a Lunch & Learn with one of our Atlassian certified experts.
Frequently Asked Questions
What usually goes wrong in a DevOps rollout?
Nothing usually goes wrong. DevOps rollout should be automated and based on tried and true deployments. So, if something goes wrong the CD code is not properly defined. People are reducing the level of effort by incorporating orchestration / infrastructure management tooling that helps reduce the likelihood of issues (e.g. Kubernetes, Ansible, Cloud Formation).
Do SysAdmins need to learn to code?
SysAdmins are being pushed into command line interfaces (CLIs), APIs and infrastructure automation technologies that use configuration and code to coordinate infrastructure resources (networking, storage, security etc.) Things can still be done manually within a GUI, however, this is not scalable, is error prone, and cannot be versioned controlled like code and configuration.
How do you overcome the friction between development and operations?
Some organizations have moved to a “you build it, you own it” approach. This forces teams to own operations. Some organizations have explicitly identified a DevOps org or including it within the Scrum Team to acquiesce the effort into a single individual. Organizations that don’t prescribe to either are aware of the challenges of how long software takes to get deployed, updated, and enhanced. Use of tooling helps increase communication and awareness of what is working and not.
How often should development talk about impacts with operations?
Dev and Operations should be in the same standups and same scrum team arriving at production quality solutions. Effectively they should always be talking.
Do developers get control over servers in DevOps?
For DEV environment, absolutely. As they progress into QA, UAT, Staging and Production, those environments should be automated and controlled by the DevOps individual or team.
Does DevOps automate people out of their jobs?
It does to some extent as tools are providing solutions that can support and perform repetitive actions and standardize the build, test, and release process. Teams like Release Engineering, Quality Assurance and Operations are impacted. Those roles are now formally being referred to as DevOps and the work they perform around build automation, test automation, and release automation is the work products they create.
Is there a one-stop-shop tool that can roll out DevOps?
If you are an AWS shop, then AWS tools and services can support a large portion of DevOps.
An alternative would be the Atlassian stack. This provides a different angle from Ideation, Portfolio Management, Source Code Management, CI/CD, real-time communications, and services status (it, however, relies on tools to enable build automation, test automation, and release automation).
Other options include Electric Cloud / Version One Continuum that try to be a one-stop shop as well, however, they also require integrating with solutions to support the automation activities.
How can you run DevOps in the Public Cloud?
Too many ways to count…primarily you use the CLI / APIs of the Cloud and whatever tools you like to automate / simplify that effort. Can also install tooling into the cloud and manage that way as well (Jenkins, BitBucket etc.).
If I select DC, how/what do I need to do in the Public Cloud (e.g. AWS)?
Here is a great article on the Atlassian website that discusses instantly scaling with AWS.
Article: Atlassian – Instantly scale with AWS
How do you manage multiple releases within my CI/CD stack?
People / Process component
1) Versioning Strategy (what does a version mean, amount of work or level of compatibility)
2) Version Identification (how do I share the version of a component, module, app, API etc.)
1) Atlassian supports a Release Hub to manage stories that go into a release, deploy plans to then deploy those releases to the appropriate environments.
2) Artifactory to version build artifacts for consumption and deployment.
3) Maven, Gradle, NPM provides versioning capabilities to support dependency management.
4) Kubernetes / Envoy and other Docker-centric infrastructure support routing of requests to the correct version along with labeling / service discovery
How do I monitor a multi-release API / Microservices architecture?
– Splunk MVP
– build it yourself
What types of roles exist in DevOps and can I move my existing personnel (QA, Operations, Release Engineers) into that?
I have seen specific roles within DevOps other than DevOps Engineer. Yes, we are seeing QA moving into it to support test automation development and we’re seeing Release Engineers move into that role to support Dependency Management / Artifact Management etc.
Learn even more about DevOps and Cprime’s approach for DevOps tooling and transformation, click here: DevOps Overview