DevOps in 30 days
To understand DevOps, we have to understand Devlopment and Operations first.

In a traditional IT environment, development (DEV), IT Operations (IT OPS) and Quality Assurance (QA) are three different teams. Development team is responsible for the application devlopment, Quality Assurance team is responsible the testing and service delivery and the IT Operations team is responsible for the servers and applications maintenance.

The problem in traditional IT enviornment is that the IT Operations focus on ensuring the service reliability and availability which only allow planned deployment within maintenance window but it contradicts to the new Agile software development methodology in development team which emphasises in software engineering nowadays. In addition, the QA team would not take the risk for releasing an application which is not well tested.

To bridge the gap between DEV, IT OPS and QA teams, DevOps is advocated to resolve the conflicts.

DevOps is not a technology, tool or framework.
DevOps is a cultural movement, mindset, philosophy to coordinate in order to produce better and more reliable products by automating infrastructure, workflow and continuously measuring application performance for which they use a lot of tools.
The DevOps Infinity Loop

The story starts from Plan.
Planning is where development and IT operations teams, as well as other stakeholders, decide on the list of features to be included in each project phase, as well as an iteration value and criteria. To participate in the development plan, developers, system administrators, product management, marketing employees, and technical writers all need a seat at the table.
Project plans should be stored in a safe, centralized location like Atlassian Jira or Confluence. Furthermore, every team member should be able to access the project plans at any time and from any location.
Common Project Management Certification
PRINCE2 (Project in Controlled Environments), PMP (Project Management Professional) by PMI, CAPM (Certified Associate in Project Management) by PMI
After Planning, it comes to Code.
During the code phase, developers do the coding tasks that have been given to them. Generally, they use some IDEs to code their assigned tasks.
Common IDE in 2021
Microsoft Visual Studio, Atom by GitHub, Sublime Text, Eclipse, Netbeans, IntelliJ IDEA, JetBrains’ PhpStorm, JetBrains’ WebStorm, JetBrains’ PyCharm, Code::Blocks, Apple Xcode, Aptana Studio, Komodo Edit, Notepad++, Brackets, Amazon Cloud9, CodePen
What is the best IDE for beginners?
NetBeans and Eclipse are the two of the most user-friendly web development IDEs anyone can get accustomed to easily.
Which IDE should I prefer for web development?
While the IDE you should go with really depends on your needs, NetBeans stands tall among the list of other IDEs as far as web development is concerned. That’s because it can help you create robust and reliable web applications in no time. The IDE works with almost all the languages, including JavaScript, HTML5, PHP, and C/C++.
Which IDE do most companies use?
Most companies use Eclipse IDE for developing websites – primarily because it’s easy to use and offers all the functions one would ever need while web development.
What are other IDEs for web development?
IntelliJ IDEA
RubyMine
Bluefish
CKEditor
Visual Studio Code
Light Table
They check their work into a centralized source code repository, such as GitLab or GitHub, as they finish their jobs, which must act as the single source of truth for code. While committing the changes sometimes other static code checks like Sonarqube check runs on the committed code. Sonarqube is used for continuous inspection of code quality.
After going through the coding phase, the new features have been implement. We need to Build the application.
The build step comprises using an automated program like Chef and Puppet to retrieve software code from a centralized repository. This automation tool generates software code into a binary artifact, runs functional tests, and stores the artifact in a centralized shared repository. Generally, these repositories are configured in such a way that after each commit the code is automatically built.
Continuous integration is a DevOps software development strategy in which developers merge their code changes into a common repository on a regular basis, followed by automated builds and tests. The build or integration stage of the software release process is most commonly referred to as continuous integration, and it includes both an automated component (e.g., a CI or build service) and a culture component (e.g. learning to integrate frequently). Continuous integration’s main goals are to detect and fix defects faster, increase software quality, and shorten the time it takes to validate and deploy new software upgrades.
Testing. DevOps testing relies on intelligent automation, but it won’t replace the software development team’s human testers. Developers can achieve continuous testing by using tools like Selenium or JUnit to test various codebases in parallel. JMeter can be used to test the server’s loading. An automated testing technique assures that an application’s functionality is flawless.
Automated testing also generates comprehensive reports on the codebase. Stakeholders in a company can use this reporting to learn more about the development cycle and product maturity.
At the end of the development cycle, DevOps eliminates the all-hands-on-deck manual method.
Continuous deployment is a DevOps software deployment strartegy which automated the software deploy process.
Every code change is immediately routed through the complete pipeline and deployed to production with continuous deployment. Based on the requirements and pace of its team, a company can schedule as many deployments per day as it requires. In this process generally, all the deployments are automated, so after each build generated output along with all the dependencies is deployed into target servers.
Operate. IT administrators oversee software in production during this stage of the DevOps process. Management and data collecting capabilities, as well as operational views into production applications, are provided by tools like Ansible, Puppet, PowerShell, Chef, Salt, and Otter.
Continuous monitoring is a DevOps software monitoring strartegy which the development and operations teams should monitor their production applications at all times. All organizations require access to information about the application’s health. Install collaboration and communication channels as well to alert all teams to any production concerns that arise.
New Relic, Datadog, Grafana, Wireshark, Splunk, and Nagios are some of the most popular monitoring tools for this phase.