Sharma H. DevOps. A Journey from Microservice..Cloud Based Containerization 2023
- Type:
- Other > E-books
- Files:
- 1
- Size:
- 17.71 MiB (18574323 Bytes)
- Uploaded:
- 2023-12-12 12:58 GMT
- By:
- andryold1
- Seeders:
- 45
- Leechers:
- 5
- Info Hash: 3CCED1497BB2F114483E2A713525E1DFBDE87482
Textbook in PDF format Transitioning to DevOps requires a change in culture and mindset. At its simplest, DevOps is about removing the barriers between two traditionally siloed teams, development, and operations. In some organizations, there may not even be separate development and operations teams; engineers may do both. With DevOps, the two teams work together to optimize both the productivity of developers and the reliability of operations. They strive to communicate frequently, increase efficiencies, and improve the quality of services they provide to customers. They take full ownership for their services, often beyond where their stated roles or titles have traditionally been scoped by thinking about the end customer’s needs and how they can contribute to meeting those needs.?Quality assurance and security teams may also become tightly integrated within these teams. Organizations using a DevOps model, regardless of their organizational structure, have teams that view the entire development and infrastructure lifecycle as part of their responsibilities. The use of automation tools is also important in the DevOps culture. Automation tools make the development process much faster and more streamlined while reducing human intervention: Identifying and fixing errors: Automation tools are essential to find errors using automatic testing tools like Selenium and fix them as soon as possible. This is part of the continuous integration in the DevOps culture. Collaboration: In a development environment, multiple developers work on the same source code; so it is important to maintain a level of communication and collaboration. Tools like GitHub and JIRA help to achieve this goal. Deployment: The goal of DevOps is to deploy a well-defined culture and functioning in the production environment. As soon as the product is ready and well-tested, it is sent for immediate delivery, and this is known as continuous delivery and continuous deployment. Docker is widely used for implementing this. While automation tools are a core of the culture, we cannot just implement tools and call it DevOps culture. DevOps culture requires a complete shift from traditional methods and requires an individual change in the perception of teams, trust and transparency. In this book, we introduce the DevOps culture, and the tools and techniques under this technical cultural umbrella. We explain microservice, containers, Docker Container, Kubernetes, etc., and the significance of these in adopting the DevOps culture for successful software development. Docker containers have many components in their ecosystems. Docker volume and Docker network are two main components. Docker volume is used for persisting the data inside a container and the Docker network is used for connecting the different containers to make them communicable with each other. Using a Docker volume, containers can also share the data. In this chapter, we have explained the significance of Docker volume and Docker network and the commands related to these components. Container Orchestration is needed for the management of multiple containers in an automated manner. In a real-time production environment, we have to start multiple containers for multiple microservices. Manual checking of the health of these containers is not possible. Start/Stop/Suspend/Resume all these states could not be checked manually at run time for such a large number of containers. Kubernetes is one of the most useful tools donated by Google for container orchestration. In this chapter, we have explained the architecture of Kubernetes and the components in the Kubernetes ecosystem. To understand the need for a tool such as Kubernetes, we should understand how the deployment of applications took place. We have two options while deploying our application. One of them is the traditional method wherein various applications are deployed on the same physical server in a data centre. This requires a lot of maintenance such as that for the operating system and code. The second option is through deploying the code on virtual machines