1. What is DevOps?
Welcome to the Introduction to DevOps course! Throughout this course, we will discover many exciting topics about overall technology, software engineering, data engineering, and project management. Let's dive right into it.
2. Technology driven world
It is no secret that we are living in a technology-driven world. Everyone loves and uses technology to improve their quality of life. Every day, the technology industry creates more online products to serve these needs and increase their impact. With the increasing demand, online products and services get more complicated.
3. Organizational structure
From the organization's point of view, developing and maintaining online products becomes more challenging and expensive. The software powering online products is developed and supported by a large diversity of teams and hundreds to thousands of engineers.
Organizations need to define the methods and tools for these teams to collaborate and create the software in the best way possible.
4. Quality vs. cost
Quality comes with a price. To achieve higher-quality software, organizations may have to increase their spending substantially. But, not every investment creates the same level of increase in software quality. Organizations must optimize their software project investments to avoid spending too much and losing the investments.
5. DevOps
DevOps is one of the best ways to optimize software development and maintenance efforts. DevOps is a general term for a combination of methods, tools, and cultural behavior that revolutionalize how companies operate and develop software.
6. Traditional vs. DevOps
Before DevOps, software development life cycle was managed through Traditional Change Management models. These models are used to securely develop and maintain software. In these models, different teams such as IT Infrastructure and Software Development work independently from each other to develop and maintain software.
The main difference DevOps introduces is bringing various teams together and increasing collaboration. With DevOps, the team brings together experts and developers from different areas. This collaboration principle saves a lot of time and resources for organizations. DevOps is as an overall improvement over the traditional models.
7. Traditional release
Another big difference DevOps brings is the release and feedback cycles. In traditional software management systems, the development teams go through the planning, development, and release cycles, and they release their complete product at the end. This approach increases the risks significantly because there is no way to tell if the product will be successful or not. The teams had to build the end product, release it to the market, and hope for the best. But if the product fails, the costs would be enormous.
8. MVP
DevOps takes a much safer approach. In DevOps, the products are created and released in cycles. Firstly, the most basic functionality of a product is created and released, and this first output is called a Minimum Viable Product (MVP). MVP's are cheaper to build compared to an end product, and they can go to market rapidly.
9. Product improvements
If the MVP produces the expected results, the team continues with the new development cycle, improving the product and investing more resources. If any cycles do not please the end users, they react by understanding the reasons and adapt the product, or they drop the development without much damage.
Also, with the DevOps model, if the users do not like our product, we have a quick turnaround time to go back, revamp, and improve our product.
10. DevOps benefits
DevOps produces better products because they use customer feedback in development. But even if the end products are the same, DevOps has many advantages over traditional systems. First, MVPs have a quicker time to market than end products, and speed helps us deliver innovation to our customers before the competitors.
11. Let's practice!
Now, let's hop onto the exercises and start practicing the benefits of DevOps.