Skip to main content

Command Palette

Search for a command to run...

Day 1 :- Introduction to DevOps

Updated
4 min read
Day 1 :- Introduction to DevOps
A

"I'm a 3rd-year Computer Engineering student at Marwadi University with skills in C++, web development (MERN stack), and DevOps tools like Kubernetes. I contribute to open-source projects and share tech knowledge on GitHub and LinkedIn. I'm learning cloud technologies and app deployment. As an Internshala Student Partner, I help others find jobs and courses." now currently focusing on #90DaysOfDevops

Day 1 :- TASK

• What is Devops ?

Devops is a culture. Devops is a process of improving the application delivery with

  • Automation

  • Quality

  • Continuous monitoring

  • Continuous testing

In essence, DevOps acts as a bridge between the Development and Operations teams to enhance the quality and speed of application deployment.

• What is Automation ?

Automation is use the technology to perform task with minimal time and reduce human error. Basically There are some Automation technique are there Example :-

  • Automated Testing

  • Continuous Integration (CI)

  • Continuous Deployment (CD)

  • Infrastructure as Code (IaC)

  • Configuration Management

  • Monitoring and Logging

• What is Scaling ?

Scaling in software development means ensuring that a system or application can manage increased load or demand effectively. This should be done without compromising performance, reliability, or user experience.

  • Horizontal Scaling: Adding more instances of a resource, such as servers or containers, to distribute the load across multiple units. This is often used to handle increased traffic or workload.

  • Vertical Scaling: Increasing the capacity of a single resource, such as adding more CPU, memory, or storage to a server. This is typically used when an application requires more power to handle its tasks.

  • Auto-Scaling: Auto-Scaling automatically adjusts the number of resources based on predefined metrics and thresholds. This allows the system to dynamically respond to changes in demand without needing manual intervention.

  • Load Balancing: Distributing incoming network traffic across multiple servers or instances to ensure no single resource is overwhelmed. This helps maintain performance and availability.

  • Elasticity: The ability to quickly scale resources up or down as needed, ensuring that the system can adapt to changing demands efficiently.

What is infrastructure?

In DevOps, infrastructure refers to all the physical and virtual resources that support the development, deployment, and operation of software applications. This includes:

  • Servers: Computers that run applications and store data.

  • Networks: Connections that allow different parts of the system to communicate with each other.

  • Storage: Systems that store data, such as databases and file systems.

  • Cloud Services: Online services that provide computing power, storage, and other resources on demand.

  • Containers: Lightweight, portable units that package applications and their dependencies, making them easy to deploy and run consistently across different environments.

In simple terms, infrastructure is the foundation that supports all the software, hardware and network services in a DevOps environment.

• What Devops engineer do ?

Devops Engineer can communicate with devlopment team he can make allocate instance , storage , cloud services etc to their project work. Devops Engineer should mainly focus on testing , quality , automtaion and minimal time of application deployment

• Why Devops is more important in Application devlopment/deployment ?

DevOps is important in a project because it:

  • Speeds up software delivery

  • Improves collaboration between teams

  • Ensures higher quality through continuous testing

  • Increases efficiency with automation

  • Enhances scalability and reliability

  • Provides better monitoring and quick issue resolution

  • Integrates security throughout the development process

Overall, DevOps helps deliver faster, more reliable, and higher-quality software.

• What is devops life cycle ?

  1. Plan

    • Define the goals of the software development and plan the tasks required to achieve those goals.

    • Activities: Requirement gathering, analysis, and project planning.

    • Tools: Jira, Basecamp.

  2. Code

    • Developers write and commit code to version control systems.

    • Tools: Git, GitHub.

  3. Build

    • Commit the code into the shared code repository.

    • Tools: Jenkins, Maven, Gradle.

  4. Test

    • Verify that the code functions as intended and identify and fix any defects.

    • Types of testing: Unit testing, Integration testing, etc.

    • Tools: JUnit, Selenium.

  5. Release

    • The build is ready to deploy on the production environment at this phase.

    • Once the build passes all tests, the operations team schedules the releases or deploys multiple releases to production, depending on the organizational needs.

    • Tools: Jenkins.

  6. Deploy

    • Deploy the application to a staging or production environment.

    • Automated deployment.

    • Tools: Jenkins, Ansible, Docker.

  7. Operate

    • The release is live now for use by customers.

    • Monitor and maintain the deployed application in production.

    • Tools: Nagios.

Monitor

  • The DevOps pipeline is monitored based on data collected from customer behavior, application performance, etc.

  • Tools: Prometheus, Grafana, Nagios.

• Summary

provides an introduction to DevOps, explaining its importance and key concepts. It covers the definition of DevOps, the role of automation, and the significance of scaling in software development. The blog also outlines the components of infrastructure in a DevOps environment and describes the responsibilities of a DevOps engineer. Additionally, it highlights the benefits of DevOps in application development and deployment, and details the DevOps lifecycle, including planning, coding, building, testing, releasing, deploying, operating, and monitoring. The blog aims to give readers a comprehensive understanding of DevOps and its impact on software delivery.

Thank you for reading!

© 2024 Anand Raval. All rights reserved.

90DaysOfDevops

Part 49 of 49

So In This Series I am following 90 DaysOfDevops challenge , what i will learn in my devops journey i will share with you with my blogs ,You will get blog on tools which used by devops engineer , example :- Linux,ansible,terraform,docker,etc

Start from the beginning

Day 45: Deploy Wordpress website on AWS

Over 30% of all websites on the internet use WordPress as their content management system (CMS). It is most often used to run blogs, but it can also be used to run e-commerce sites, message boards, and many other popular things. This guide will show ...

More from this blog

A

Anand Raval

118 posts

Hello I am Anand Raval , i contributed my work in robotics(arduino uno) , fronted web devloper,competitive programming, now currently focusing on #90DaysOfDevops