DevOps Fundamentals
What is DevOps?
DevOps is a mindset, a culture, and a set of technical practices that increases an organization’s ability to deliver applications and services at high velocity.
How DevOps works?
The term DevOps is made up of two words: development and operations. It facilitates communication, integration, automation, and tight collaboration amongst all parties involved in the planning, development, testing, deployment, delivery, and maintenance of a Solution.
There is frequently tremendous tension between individuals who design solutions and those who support and maintain those solutions in the absence of DevOps. Imagine a future where product owners, development, quality assurance, IT operations, and information security collaborate not only to help each other but also to assure the success of the entire organization. They enable the fast flow of planned work into production while maintaining world-class stability, reliability, availability, and security by working together toward a common goal.
“DevOps, in a sense, is about setting up a value delivery factory — a streamlined, waste-free pipeline through which value can be delivered to the business with a predictably fast cycle time.”
By Mark Schwartz ‘The Art of Business Value’
DevOps Practices
Continuous integration is a DevOps software development approach in which developers integrate their code changes into a central repository on a regular basis, followed by automated builds and tests. It improves quality, reduces risk, and establishes a fast, reliable, and sustainable development pace.
Continuous delivery is a software development practice where code changes are automatically built, tested, and prepared for a release to production. It expands upon continuous integration by deploying all code changes to a testing environment and/or a production environment after the build stage. When continuous delivery is implemented properly, developers will always have a deployment-ready build artifact that has passed through a standardized test process. It reduces the cost, time, and risk of delivering incremental changes.
Continuous Deployment is the process that takes validated Features in a staging environment and deploys them into the production environment, where they are readied for release. A company performing continuous deployment might release code or feature changes several times each and every day.
Continuous Monitoring: This practice involves continuous monitoring of both the code in operation and the underlying infrastructure that supports it. A feedback loop that reports on bugs or issues then makes its way back to development
Infrastructure as code is a practice in which infrastructure is provisioned and managed using code and software development techniques, such as version control and continuous integration. The cloud’s API-driven model enables developers and system administrators to interact with infrastructure programmatically, and at scale, instead of needing to manually set up and configure resources. For instance, developers might build a storage volume on-demand from Docker, Kubernetes, or OpenShift. This practice also enables operations teams to monitor environment configurations, track changes, and simplify the rollback of configurations
Thank you for reading this article all the way through. Please leave a comment, share, and press that 👏a few times if you enjoyed it (up to 50 times). It will assist others in discovering this knowledge, and perhaps it will also assist someone else.
If you want to see more articles like this, follow me on Medium.