DEV Community

Shreyas Vithalkar
Shreyas Vithalkar

Posted on

πŸš€ Day 1 of My 90-Day DevOps Journey: Understanding DevOps

Introduction

Hi! I’m Shreyas πŸ‘‹, a developer on a 90-day mission to master DevOps. I’ll be learning and sharing my progress daily with bite-sized insights. If you're curious about DevOps or just starting your journey, let’s explore it together! πŸ’‘

So this is the Day 1 of my journey. Lets gets started:

What is DevOps?

DevOps is a culture, methodology, and set of practices that unify software development (Dev) and IT operations (Ops). It emphasizes:

  • Collaboration: Developers and operations teams work together.
  • Automation: Replacing manual tasks with tools and scripts.
  • Continuous Integration/Continuous Deployment (CI/CD): Ensuring rapid, reliable software delivery.

Key Benefits of DevOps

  • Speed: Faster release cycles and quicker feedback.
  • Quality: Automated testing reduces bugs.
  • Scalability: Efficient processes make scaling applications seamless.

The DevOps Lifecycle

Image description
Image from: www.freepik.com

  1. Plan: Define the project goals, requirements, and workflows.
  2. Develop: Write and collaborate on code using tools like Git.
  3. Build: Package the code into deployable artifacts.
  4. Test: Validate functionality to catch bugs early.
  5. Release: Manage versions and prepare for deployment.
  6. Deploy: Push code to production or staging environments.
  7. Operate: Maintain infrastructure and application stability.
  8. Monitor: Observe performance and gather feedback for improvements.

What is CI/CD?

Image description

Continuous Integration (CI)

A devOps software development practice where the developer regularly merge their code changes into a central repository, after which automated builds and tests are run.

How it works:

  • Developers push code changes to a version control system (like Git).
  • A CI server (e.g., Jenkins, GitHub Actions) automatically builds and tests the code.
  • If the build or tests fail, the developer is notified.

Benefits of CI:

  • Prevents integration issues (the "it works on my machine" problem).
  • Ensures a stable codebase.
  • Saves time by identifying bugs early.

Continuous Deployment/Delivery (CD)

  • Continuous Delivery: Ensures code changes are always in a deployable state. Deployment is manual but can be triggered with a single click.
  • Continuous Deployment: Takes Continuous Delivery one step further by automating the deployment process. Code changes that pass tests are automatically deployed to production.

How CD works:

  • After successful CI, the application is built and packaged. Automated tools deploy the application to staging and production environments.
  • Monitoring tools ensure the new version works as expected.

Benefits of CD:

  • Reduces manual effort and risk of human error.
  • Speeds up the feedback loop between users and developers.
  • Allows teams to focus on building features rather than deployment.

Key Takeaway

Day 1 was all about setting the foundation for my DevOps journey. Understanding the principles of DevOps, the lifecycle, and the concepts of CI/CD has been an exciting start! πŸš€

I’m thrilled to continue this learning adventure, diving deeper into tools, technologies, and best practices in the coming days. Stay tuned, and let’s master DevOps together one step at a time! πŸ’‘

πŸ’¬ Got any tips or favorite tools? Let me know in the comments!

Top comments (0)