What is DevOps?
You can answer it by describing what DevOps means to you and/or rely on how companies define it. I’ve put here a couple of examples.
“DevOps is the combination of cultural philosophies, practices, and tools that increases an organization’s ability to deliver applications and services at high velocity: evolving and improving products at a faster pace than organizations using traditional software development and infrastructure management processes. This speed enables organizations to better serve their customers and compete more effectively in the market.”
“DevOps is the union of people, process, and products to enable continuous delivery of value to our end users. The contraction of “Dev” and “Ops” refers to replacing siloed Development and Operations to create multidisciplinary teams that now work together with shared and efficient practices and tools. Essential DevOps practices include agile planning, continuous integration, continuous delivery, and monitoring of applications.”
“DevOps describes approaches to speeding up the processes by which an idea (like a new software feature, a request for enhancement, or a bug fix) goes from development to deployment in a production environment where it can provide value to the user. These approaches require that development teams and operations teams communicate frequently and approach their work with empathy for their teammates. Scalability and flexible provisioning are also necessary. With DevOps, those that need power the most, get it—through self service and automation. Developers, usually coding in a standard development environment, work closely with IT operations to speed software builds, tests, and releases—without sacrificing reliability.”
“…The organizational and cultural movement that aims to increase software delivery velocity, improve service reliability, and build shared ownership among software stakeholders”
What are the benefits of DevOps? What can it help us to achieve?
- Improved delivery
How would you describe a successful DevOps engineer or a team?
The answer can focus on:
- Set up and improve workflows and processes (related to testing, delivery, …)
- Dealing with issues
Things to think about:
- What DevOps teams or engineers should NOT focus on or do?
- Do DevOps teams or engineers have to be innovative or practice innovation as part of their role?
Can you describe which tool or platform you chose to use in some of the following areas and how?
- Provisioning infrastructure
- Configuration Management
- Monitoring & alerting
- Code review
- Code coverage
- Issue Tracking
- Containers and Containers Orchestration
- CI/CD – Jenkins, Circle CI, Travis, Drone, Argo CD, Zuul
- Provisioning infrastructure – Terraform, CloudFormation
- Configuration Management – Ansible, Puppet, Chef
- Monitoring & alerting – Prometheus, Nagios
- Logging – Logstash, Graylog, Fluentd
- Code review – Gerrit, Review Board
- Code coverage – Cobertura, Clover, JaCoCo
- Issue tracking – Jira, Bugzilla
- Containers and Containers Orchestration – Docker, Podman, Kubernetes, Nomad
- Tests – Robot, Serenity, Gauge