What is DevOps
it’s cultural pratice in an organization by development team and oprations team to use each other’s tool to smooth out process of software delivery.
What is DevOps CAMS
Culture: brings the dev and ops teams together to focus on common goals.
Automation: Automating repetitive tasks saves time and reduces the chances of human error. It’s essential for moving fast without breaking things, which is key in DevOps.
Measurement: it’s important to track how things are going. Measurement means gathering data so you know what’s working and what isn’t.
Sharing: Sharing information freely among team members is critical. This includes everything from knowledge about the code to lessons learned from mistakes.
There are three way to implement devops in organization.
- Flow Thinking (not recommended)
In the traditional workflow, development teams hand off projects to operations with limited communication. This often leads to delays, as operations teams may not know the project’s current status or requirements, impacting the speed and accuracy of deployment.
- Amplify Feedback (recommended)
In a DevOps environment, feedback between dev and ops is essential. If the ops team has ongoing priorities, they should inform the devs early to avoid bottlenecks.
- Experiment and Learn (depend on you)
DevOps encourages continuous experimentation, which can feel risky but is vital for innovation. Companies may hesitate because experimenting with new tools and practices can disrupt current processes.
Terminologies
Provisioning: Preparing a server with an operating system, software, and networking configurations to make it ready for use.
Deployment: The process of adding or upgrading software on a server to ensure the latest version is available for users.
Orchestration: Coordinating operations across multiple systems or environments to ensure they work together seamlessly.
Configuration Management: Managing server settings like RAM, storage, dependencies, and software via configuration files to maintain consistency and avoid drift.
Imperative Approach: Executing specific commands or using APIs (like AWS APIs) to achieve the desired state. It defines how to achieve a state by following a series of steps.
Declarative Approach: Defining the desired end state, allowing tools to determine how to achieve it without specifying the exact steps. This is common in infrastructure-as-code (IaC) tools.
Idempotent: Repeatedly executing a task without changing the result after the first execution, ensuring consistency even with multiple attempts.
Blue-Green Deployment: Setting up identical environments (Blue and Green) where one is live and the other is used for testing. Switching between them allows for quick rollbacks and minimal downtime during deployment.
Continuous Integration (CI): Building and running unit tests automatically with every code check-in, ensuring code quality and functionality.
Continuous Delivery (CD): Deploying code changes to a production environment at every check-in after passing all tests, making updates available to end-users.
Continuous Deployment: Automatically deploying code changes to production in small, frequent batches after they pass unit tests, allowing for constant iteration and fast bug fixes.
DevOps is more than a set of tools—it's a cultural transformation that integrates collaboration, automation, and continuous learning into software delivery. By implementing DevOps practices, organizations can create a reliable, efficient, and scalable development environment that responds quickly to market needs. The CAMS framework and modern DevOps practices make the way for faster delivery cycles, higher quality products, and happier teams.