DevOps: a journey from microservice to cloud based containerization
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....
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Elektronisch E-Book |
Sprache: | English |
Veröffentlicht: |
Gistrup, Denmark
River Publishers
[2023]
|
Schriftenreihe: | River Publishers series in computing and information science and technology
|
Schlagworte: | |
Online-Zugang: | FHI01 URL des Erstveröffentlichers Taylor & Francis |
Zusammenfassung: | 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. 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 |
Beschreibung: | 1 Online-Ressource (xxii, 172 Seiten) |
ISBN: | 9788770228817 8770228817 9781003807728 1003807720 9781032624310 1032624310 9781003807759 1003807755 |
Internformat
MARC
LEADER | 00000nmm a2200000 c 4500 | ||
---|---|---|---|
001 | BV049489238 | ||
003 | DE-604 | ||
005 | 00000000000000.0 | ||
007 | cr|uuu---uuuuu | ||
008 | 240108s2023 |||| o||u| ||||||eng d | ||
020 | |a 9788770228817 |9 9788770228817 | ||
020 | |a 8770228817 |9 8770228817 | ||
020 | |a 9781003807728 |9 9781003807728 | ||
020 | |a 1003807720 |9 1003807720 | ||
020 | |a 9781032624310 |9 9781032624310 | ||
020 | |a 1032624310 |9 1032624310 | ||
020 | |a 9781003807759 |9 9781003807759 | ||
020 | |a 1003807755 |9 1003807755 | ||
024 | 7 | |a 10.1201/9781032624310 |2 doi | |
035 | |a (OCoLC)1418701793 | ||
035 | |a (DE-599)BVBBV049489238 | ||
040 | |a DE-604 |b ger |e rda | ||
041 | 0 | |a eng | |
049 | |a DE-573 | ||
100 | 1 | |a Sharma, Hitesh Kumar |e Verfasser |0 (DE-588)1314905031 |4 aut | |
245 | 1 | 0 | |a DevOps |b a journey from microservice to cloud based containerization |c Hitesh Kumar Sharma, Anuj Kumar, Sangeeta Pant, Mangey Ram |
264 | 1 | |a Gistrup, Denmark |b River Publishers |c [2023] | |
300 | |a 1 Online-Ressource (xxii, 172 Seiten) | ||
336 | |b txt |2 rdacontent | ||
337 | |b c |2 rdamedia | ||
338 | |b cr |2 rdacarrier | ||
490 | 0 | |a River Publishers series in computing and information science and technology | |
505 | 8 | |a Preface xiii List of Figures xv List of Table xix List of Abbreviations xxi 1 DevOps: An Introduction 1 1.1 Introduction 1 1.2 DevOps: A Culture 2 1.3 DevOps Environment 3 1.4 Benefits of DevOps Culture 5 1.4.1 Ensuring faster development 6 1.4.2 Balancing in the workplace 6 1.4.3 Improved quality 6 1.4.4 Room for innovation 6 1.4.5 Supports agility 6 1.4.6 Continuous delivery of the product 7 1.4.7 Dependable problem-solving techniques 7 1.4.8 Transparency 7 1.4.9 Cost efficient 7 1.4.10 Better manage unplanned work 7 1.5 Best Practices of DevOps Culture 7 1.5.1 Project management with agility 8 1.5.2 Shift left with CI/CD 8 1.5.3 Using the right tools 8 1.5.4 Implementing automation 9 1.5.5 Monitor the CI/CD pipeline 9 1.5.6 Gather continuous feedback 9 1.5.7 Cultural change 9 1.6 Challenges in DevOps Culture 10 1.6.1 Overcoming the mentality of Dev V/S Ops 10 1.6.2 Ordinary understanding of continuous-delivery practices in an organisation 10 1.6.3 Moving on to microservices from | |
505 | 8 | |a legacy infrastructure and architecture 11 1.6.4 Implementing the strategy of test automation 11 1.6.5 Emphasising more on tools 12 1.6.6 Resistance to new change 12 1.6.7 Dev and Ops toolset conflicts 13 1.7 Conclusion 13 References 14 2 Microservice versus Monolithic Architecture 17 2.1 Introduction 17 2.1.1 Monolithic architecture examples 19 2.1.2 Advantages of monolithic architecture 19 2.1.3 Disadvantages of monolithic architecture 21 2.2 Microservices 22 2.2.1 Advantages of microservices architecture 24 2.2.2 Disadvantages of microservices architecture 25 2.3 Monolithic versus Microservices 26 2.4 Conclusion 27 References 27 3 Implementation of Microservice 31 3.1 Introduction 31 3.2 Building Microservices 32 3.2.1 Create monolithic architecture 32 3.2.2 Organise your teams properly 33 3.2.3 Create microservices architecture by splitting monolith architecture 34 3.3 Principles of Microservices 39 3.3.1 Decentralisation 41 3.3.2 Modelled around the business domain 41 3.3.3 | |
505 | 8 | |a Isolated failure 41 3.3.4 Culture of automation 42 3.3.5 Deploy independently 42 3.3.6 Highly observable 42 3.3.7 Hide implementation details 42 3.4 Major Consideration for Microservices Architecture 42 3.4.1 Bounded context 43 3.4.2 Dynamic scale up and scale down 43 3.4.3 Monitoring 43 3.4.4 Fault tolerance 43 3.4.5 Cyclic dependency 44 3.4.6 DevOps culture 44 3.5 Microservices Components 44 3.5.1 API 44 3.5.2 Containers 44 3.5.3 Service mesh 45 3.5.4 Software development approach (SOA) 45 3.5.5 Cloud 45 3.6 Best Practices for Microservices 45 3.7 Core Benefits of Microservices 46 3.7.1 Agility 46 3.7.2 Small but focused teams 46 3.7.3 Small code base 47 3.7.4 Mix of technologies 47 3.7.5 Fault isolation 47 3.7.6 Scalability 47 3.7.7 Data isolation 47 3.8 Conclusion 47 References 48 4 Container: A Solution of Diverse Platform 51 4.1 Introduction 51 4.2 Container as Microservice 53 4.3 Container Storage 54 4.4 Security 55 4.5 Container Monitoring 56 4.5.1 Options for container | |
505 | 8 | |a monitoring 57 4.6 Conclusion 58 References 58 5 Container Monitoring: A Container Health Check Process 61 5.1 Introduction 61 5.2 Container Monitoring 62 5.2.1 Monitoring Docker container 63 5.3 Container Monitoring Tools 63 5.3.1 Sematext 63 5.3.2 Datadog 64 5.3.3 Dynatrace 66 5.3.4 Elasticsearch and Kibana 66 5.3.5 SolarWinds server and application monitor 67 5.3.6 AppOptics Docker monitoring with APM 68 5.4 Conclusion 68 References 69 6 Docker: An Open-Source Containerisation Platform 71 6.1 Introduction 71 6.2 Docker: A Containerisation Platform 71 6.2.1 Working of Docker 71 6.2.2 Purpose of Docker 72 6.2.3 Benefits of Docker 72 6.3 Significance of Docker 72 6.3.1 Performance 73 6.3.2 Portability 73 6.3.3 Security 73 6.4 Container Operations 74 6.5 Docker installation 75 6.5.1 Docker installation on windows 75 6.5.2 Installation on Mac 77 6.5.3 Docker installation on Ubuntu 79 6.6 Docker Hub 80 6.6.1 Features of the Docker Hub 80 6.7 AWS Fargate 81 6.8 Docker Lifecycle 81 6.8.1 | |
505 | 8 | |a Development 81 6.8.2 Build code and Dockerising application 81 6.8.3 Pushing the Docker image into a private registry 82 6.8.4 Deploying it into the testing environment 82 6.8.5 Host 82 6.9 Conclusion 82 References 83 7 Docker Container: Volume and Network 85 7.1 Introduction 85 7.2 Docker Architecture 86 7.2.1 Parts of Docker 86 7.3 Docker in Software Development Life Cycle 87 7.3.1 Build 87 7.3.2 Testing 87 7.3.3 Deploy and maintain 87 7.4 Managing Data in Docker 88 7.5 Docker Volumes 88 7.5.1 Use cases for volumes 88 7.5.2 Utilisations of volumes 90 7.5.3 Docker volume commands 90 7.5.4 Docker volume with Jenkins 92 7.6 Docker Network 94 7.6.1 Docker network drivers 96 7.6.2 Basic Docker networking commands 102 7.7 Conclusion 105 References 106 8 Container Orchestration: Managing Cluster of Containers 107 8.1 Introduction 107 8.2 Container Orchestration 108 8.3 Need for Container Orchestration 108 8.4 Working of Container Orchestration 110 8.5 Container Orchestration Tools 111 | |
505 | 8 | |a 8.5.1 Kubernetes 111 8.5.2 Docker swarm 111 8.5.3 Apache Mesos 112 8.6 Docker Swarm Container Orchestration Versus Kubernetes Container Orchestration 112 8.7 Some Other Container Orchestration Tools 113 8.8 Docker Swarm 115 8.8.1 Features of Docker swarm 118 8.8.2 Working with Docker swarm 118 8.9 Conclusion 119 References 120 9 Kubernetes: An Advanced Orchestration Platform 123 9.1 Introduction 123 9.2 Kubernetes 124 9.2.1 Virtual machines versus Kubernetes 124 9.2.2 Advantages 125 9.3 Installation of Kubernetes 125 9.3.1 Update the repositories 125 9.3.2 Turn off swap space 125 9.3.3 Update the hostname 126 9.3.4 Note the IP address 126 9.3.5 Update the hosts file 126 9.3.6 Set a static IP address 126 9.3.7 Install OpenSSH server 126 9.3.8 Install curl 126 9.3.9 Install the required dependencies and packages 127 9.3.10 Update the Kubernetes configuration 127 9.4 Companies using Kubernetes 127 9.4.1 Kubernetes on google cloud 128 9.4.2 Kubernetes in DevOps pipeline 129 9.5 Kubernetes | |
505 | 8 | |a Features 130 9.6 Docker and Kubernetes 131 9.7 Kubernetes Play Pokemon Go: A Case Study of Pokemon Go 132 9.8 Kubernetes Architecture 133 9.8.1 Worker nodes 133 9.8.2 Container run time 134 9.8.3 Kubelet 135 9.8.4 Kube proxy 135 9.8.5 Master node 136 9.8.6 Kubernetes control plane (AKA master node) 136 9.8.7 Node 137 9.8.8 Pod 138 9.8.9 Service 139 9.8.10 Ingress 139 9.8.11 ConfigMap 139 9.8.12 Secret 141 9.8.13 Volume 141 9.8.14 Deployments 141 9.9 POD Lifecycle 142 9.9.1 Waiting 142 9.9.2 Running 142 9.9.3 Terminated 142 9.10 Conclusion 143 References 143 10 Containerisation Services on Cloud Computing Platforms 145 10.1 Introduction 145 10.2 Containers in the Cloud 146 10.3 Cloud-based Containers Working 147 10.4 Virtual Machines and Containers in a Cloud Environment 149 10.5 Bridging Containers and the Cloud: Challenges and Solutions 149 10.5.1 Migration 149 10.5.2 Container security 150 10.5.3 Container networking 150 10.6 Cloud Computing Platforms 151 10.6.1 Amazon web services | |
505 | 8 | |a (AWS) 151 10.6.2 Microsoft Azure 152 10.6.3 Google cloud platform (GCP) 152 10.7 Amazon Web Services (AWS) Containerisation Service 153 10.7.1 Benefits 154 10.7.2 AWS global infrastructure 155 10.7.3 Identity access management 157 10.7.4 Features of identity access management 157 10.8 Amazon Elastic Container Service (Amazon ECS) 158 10.8.1 ECS terminology 160 10.8.2 Types of startups 160 10.9 Microsoft Azure Containerisation Services 161 10.9.1 Azure Kubernetes services (AKS) 162 10.9.2 Advantages of Azure containerisation services 164 10.9.3 Use cases of Azure containerisation services 165 10.10 Conclusion 166 References 166 Index 169 About the Authors 171 | |
520 | 3 | |a 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. 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 | |
653 | 0 | |a Computer software / Development | |
653 | 0 | |a Software container technologies | |
653 | 0 | |a COMPUTERS / Computer Architecture | |
653 | 0 | |a COMPUTERS / Artificial Intelligence | |
700 | 1 | |a Kumar, Anuj |e Sonstige |4 oth | |
700 | 1 | |a Pant, Sangeeta |e Sonstige |4 oth | |
700 | 1 | |a Ram, Mangey |d 1980- |e Sonstige |0 (DE-588)1144926335 |4 oth | |
776 | 0 | 8 | |i Erscheint auch als |n Druck-Ausgabe |z 9788770228466 |
856 | 4 | 0 | |u https://ieeexplore.ieee.org/book/10243505 |x Aggregator |z URL des Erstveröffentlichers |3 Volltext |
856 | 4 | 0 | |u https://www.taylorfrancis.com/books/9781032624310 |3 Taylor & Francis |
912 | |a ZDB-37-RPEB | ||
999 | |a oai:aleph.bib-bvb.de:BVB01-034834593 | ||
966 | e | |u https://ieeexplore.ieee.org/book/10243505 |l FHI01 |p ZDB-37-RPEB |x Verlag |3 Volltext |
Datensatz im Suchindex
_version_ | 1804186285875658752 |
---|---|
adam_txt | |
any_adam_object | |
any_adam_object_boolean | |
author | Sharma, Hitesh Kumar |
author_GND | (DE-588)1314905031 (DE-588)1144926335 |
author_facet | Sharma, Hitesh Kumar |
author_role | aut |
author_sort | Sharma, Hitesh Kumar |
author_variant | h k s hk hks |
building | Verbundindex |
bvnumber | BV049489238 |
collection | ZDB-37-RPEB |
contents | Preface xiii List of Figures xv List of Table xix List of Abbreviations xxi 1 DevOps: An Introduction 1 1.1 Introduction 1 1.2 DevOps: A Culture 2 1.3 DevOps Environment 3 1.4 Benefits of DevOps Culture 5 1.4.1 Ensuring faster development 6 1.4.2 Balancing in the workplace 6 1.4.3 Improved quality 6 1.4.4 Room for innovation 6 1.4.5 Supports agility 6 1.4.6 Continuous delivery of the product 7 1.4.7 Dependable problem-solving techniques 7 1.4.8 Transparency 7 1.4.9 Cost efficient 7 1.4.10 Better manage unplanned work 7 1.5 Best Practices of DevOps Culture 7 1.5.1 Project management with agility 8 1.5.2 Shift left with CI/CD 8 1.5.3 Using the right tools 8 1.5.4 Implementing automation 9 1.5.5 Monitor the CI/CD pipeline 9 1.5.6 Gather continuous feedback 9 1.5.7 Cultural change 9 1.6 Challenges in DevOps Culture 10 1.6.1 Overcoming the mentality of Dev V/S Ops 10 1.6.2 Ordinary understanding of continuous-delivery practices in an organisation 10 1.6.3 Moving on to microservices from legacy infrastructure and architecture 11 1.6.4 Implementing the strategy of test automation 11 1.6.5 Emphasising more on tools 12 1.6.6 Resistance to new change 12 1.6.7 Dev and Ops toolset conflicts 13 1.7 Conclusion 13 References 14 2 Microservice versus Monolithic Architecture 17 2.1 Introduction 17 2.1.1 Monolithic architecture examples 19 2.1.2 Advantages of monolithic architecture 19 2.1.3 Disadvantages of monolithic architecture 21 2.2 Microservices 22 2.2.1 Advantages of microservices architecture 24 2.2.2 Disadvantages of microservices architecture 25 2.3 Monolithic versus Microservices 26 2.4 Conclusion 27 References 27 3 Implementation of Microservice 31 3.1 Introduction 31 3.2 Building Microservices 32 3.2.1 Create monolithic architecture 32 3.2.2 Organise your teams properly 33 3.2.3 Create microservices architecture by splitting monolith architecture 34 3.3 Principles of Microservices 39 3.3.1 Decentralisation 41 3.3.2 Modelled around the business domain 41 3.3.3 Isolated failure 41 3.3.4 Culture of automation 42 3.3.5 Deploy independently 42 3.3.6 Highly observable 42 3.3.7 Hide implementation details 42 3.4 Major Consideration for Microservices Architecture 42 3.4.1 Bounded context 43 3.4.2 Dynamic scale up and scale down 43 3.4.3 Monitoring 43 3.4.4 Fault tolerance 43 3.4.5 Cyclic dependency 44 3.4.6 DevOps culture 44 3.5 Microservices Components 44 3.5.1 API 44 3.5.2 Containers 44 3.5.3 Service mesh 45 3.5.4 Software development approach (SOA) 45 3.5.5 Cloud 45 3.6 Best Practices for Microservices 45 3.7 Core Benefits of Microservices 46 3.7.1 Agility 46 3.7.2 Small but focused teams 46 3.7.3 Small code base 47 3.7.4 Mix of technologies 47 3.7.5 Fault isolation 47 3.7.6 Scalability 47 3.7.7 Data isolation 47 3.8 Conclusion 47 References 48 4 Container: A Solution of Diverse Platform 51 4.1 Introduction 51 4.2 Container as Microservice 53 4.3 Container Storage 54 4.4 Security 55 4.5 Container Monitoring 56 4.5.1 Options for container monitoring 57 4.6 Conclusion 58 References 58 5 Container Monitoring: A Container Health Check Process 61 5.1 Introduction 61 5.2 Container Monitoring 62 5.2.1 Monitoring Docker container 63 5.3 Container Monitoring Tools 63 5.3.1 Sematext 63 5.3.2 Datadog 64 5.3.3 Dynatrace 66 5.3.4 Elasticsearch and Kibana 66 5.3.5 SolarWinds server and application monitor 67 5.3.6 AppOptics Docker monitoring with APM 68 5.4 Conclusion 68 References 69 6 Docker: An Open-Source Containerisation Platform 71 6.1 Introduction 71 6.2 Docker: A Containerisation Platform 71 6.2.1 Working of Docker 71 6.2.2 Purpose of Docker 72 6.2.3 Benefits of Docker 72 6.3 Significance of Docker 72 6.3.1 Performance 73 6.3.2 Portability 73 6.3.3 Security 73 6.4 Container Operations 74 6.5 Docker installation 75 6.5.1 Docker installation on windows 75 6.5.2 Installation on Mac 77 6.5.3 Docker installation on Ubuntu 79 6.6 Docker Hub 80 6.6.1 Features of the Docker Hub 80 6.7 AWS Fargate 81 6.8 Docker Lifecycle 81 6.8.1 Development 81 6.8.2 Build code and Dockerising application 81 6.8.3 Pushing the Docker image into a private registry 82 6.8.4 Deploying it into the testing environment 82 6.8.5 Host 82 6.9 Conclusion 82 References 83 7 Docker Container: Volume and Network 85 7.1 Introduction 85 7.2 Docker Architecture 86 7.2.1 Parts of Docker 86 7.3 Docker in Software Development Life Cycle 87 7.3.1 Build 87 7.3.2 Testing 87 7.3.3 Deploy and maintain 87 7.4 Managing Data in Docker 88 7.5 Docker Volumes 88 7.5.1 Use cases for volumes 88 7.5.2 Utilisations of volumes 90 7.5.3 Docker volume commands 90 7.5.4 Docker volume with Jenkins 92 7.6 Docker Network 94 7.6.1 Docker network drivers 96 7.6.2 Basic Docker networking commands 102 7.7 Conclusion 105 References 106 8 Container Orchestration: Managing Cluster of Containers 107 8.1 Introduction 107 8.2 Container Orchestration 108 8.3 Need for Container Orchestration 108 8.4 Working of Container Orchestration 110 8.5 Container Orchestration Tools 111 8.5.1 Kubernetes 111 8.5.2 Docker swarm 111 8.5.3 Apache Mesos 112 8.6 Docker Swarm Container Orchestration Versus Kubernetes Container Orchestration 112 8.7 Some Other Container Orchestration Tools 113 8.8 Docker Swarm 115 8.8.1 Features of Docker swarm 118 8.8.2 Working with Docker swarm 118 8.9 Conclusion 119 References 120 9 Kubernetes: An Advanced Orchestration Platform 123 9.1 Introduction 123 9.2 Kubernetes 124 9.2.1 Virtual machines versus Kubernetes 124 9.2.2 Advantages 125 9.3 Installation of Kubernetes 125 9.3.1 Update the repositories 125 9.3.2 Turn off swap space 125 9.3.3 Update the hostname 126 9.3.4 Note the IP address 126 9.3.5 Update the hosts file 126 9.3.6 Set a static IP address 126 9.3.7 Install OpenSSH server 126 9.3.8 Install curl 126 9.3.9 Install the required dependencies and packages 127 9.3.10 Update the Kubernetes configuration 127 9.4 Companies using Kubernetes 127 9.4.1 Kubernetes on google cloud 128 9.4.2 Kubernetes in DevOps pipeline 129 9.5 Kubernetes Features 130 9.6 Docker and Kubernetes 131 9.7 Kubernetes Play Pokemon Go: A Case Study of Pokemon Go 132 9.8 Kubernetes Architecture 133 9.8.1 Worker nodes 133 9.8.2 Container run time 134 9.8.3 Kubelet 135 9.8.4 Kube proxy 135 9.8.5 Master node 136 9.8.6 Kubernetes control plane (AKA master node) 136 9.8.7 Node 137 9.8.8 Pod 138 9.8.9 Service 139 9.8.10 Ingress 139 9.8.11 ConfigMap 139 9.8.12 Secret 141 9.8.13 Volume 141 9.8.14 Deployments 141 9.9 POD Lifecycle 142 9.9.1 Waiting 142 9.9.2 Running 142 9.9.3 Terminated 142 9.10 Conclusion 143 References 143 10 Containerisation Services on Cloud Computing Platforms 145 10.1 Introduction 145 10.2 Containers in the Cloud 146 10.3 Cloud-based Containers Working 147 10.4 Virtual Machines and Containers in a Cloud Environment 149 10.5 Bridging Containers and the Cloud: Challenges and Solutions 149 10.5.1 Migration 149 10.5.2 Container security 150 10.5.3 Container networking 150 10.6 Cloud Computing Platforms 151 10.6.1 Amazon web services (AWS) 151 10.6.2 Microsoft Azure 152 10.6.3 Google cloud platform (GCP) 152 10.7 Amazon Web Services (AWS) Containerisation Service 153 10.7.1 Benefits 154 10.7.2 AWS global infrastructure 155 10.7.3 Identity access management 157 10.7.4 Features of identity access management 157 10.8 Amazon Elastic Container Service (Amazon ECS) 158 10.8.1 ECS terminology 160 10.8.2 Types of startups 160 10.9 Microsoft Azure Containerisation Services 161 10.9.1 Azure Kubernetes services (AKS) 162 10.9.2 Advantages of Azure containerisation services 164 10.9.3 Use cases of Azure containerisation services 165 10.10 Conclusion 166 References 166 Index 169 About the Authors 171 |
ctrlnum | (OCoLC)1418701793 (DE-599)BVBBV049489238 |
format | Electronic eBook |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>11149nmm a2200613 c 4500</leader><controlfield tag="001">BV049489238</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">00000000000000.0</controlfield><controlfield tag="007">cr|uuu---uuuuu</controlfield><controlfield tag="008">240108s2023 |||| o||u| ||||||eng d</controlfield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9788770228817</subfield><subfield code="9">9788770228817</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">8770228817</subfield><subfield code="9">8770228817</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9781003807728</subfield><subfield code="9">9781003807728</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">1003807720</subfield><subfield code="9">1003807720</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9781032624310</subfield><subfield code="9">9781032624310</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">1032624310</subfield><subfield code="9">1032624310</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9781003807759</subfield><subfield code="9">9781003807759</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">1003807755</subfield><subfield code="9">1003807755</subfield></datafield><datafield tag="024" ind1="7" ind2=" "><subfield code="a">10.1201/9781032624310</subfield><subfield code="2">doi</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)1418701793</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV049489238</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rda</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-573</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Sharma, Hitesh Kumar</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)1314905031</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">DevOps</subfield><subfield code="b">a journey from microservice to cloud based containerization</subfield><subfield code="c">Hitesh Kumar Sharma, Anuj Kumar, Sangeeta Pant, Mangey Ram</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Gistrup, Denmark</subfield><subfield code="b">River Publishers</subfield><subfield code="c">[2023]</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">1 Online-Ressource (xxii, 172 Seiten)</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">c</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">cr</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="490" ind1="0" ind2=" "><subfield code="a">River Publishers series in computing and information science and technology</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">Preface xiii List of Figures xv List of Table xix List of Abbreviations xxi 1 DevOps: An Introduction 1 1.1 Introduction 1 1.2 DevOps: A Culture 2 1.3 DevOps Environment 3 1.4 Benefits of DevOps Culture 5 1.4.1 Ensuring faster development 6 1.4.2 Balancing in the workplace 6 1.4.3 Improved quality 6 1.4.4 Room for innovation 6 1.4.5 Supports agility 6 1.4.6 Continuous delivery of the product 7 1.4.7 Dependable problem-solving techniques 7 1.4.8 Transparency 7 1.4.9 Cost efficient 7 1.4.10 Better manage unplanned work 7 1.5 Best Practices of DevOps Culture 7 1.5.1 Project management with agility 8 1.5.2 Shift left with CI/CD 8 1.5.3 Using the right tools 8 1.5.4 Implementing automation 9 1.5.5 Monitor the CI/CD pipeline 9 1.5.6 Gather continuous feedback 9 1.5.7 Cultural change 9 1.6 Challenges in DevOps Culture 10 1.6.1 Overcoming the mentality of Dev V/S Ops 10 1.6.2 Ordinary understanding of continuous-delivery practices in an organisation 10 1.6.3 Moving on to microservices from </subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">legacy infrastructure and architecture 11 1.6.4 Implementing the strategy of test automation 11 1.6.5 Emphasising more on tools 12 1.6.6 Resistance to new change 12 1.6.7 Dev and Ops toolset conflicts 13 1.7 Conclusion 13 References 14 2 Microservice versus Monolithic Architecture 17 2.1 Introduction 17 2.1.1 Monolithic architecture examples 19 2.1.2 Advantages of monolithic architecture 19 2.1.3 Disadvantages of monolithic architecture 21 2.2 Microservices 22 2.2.1 Advantages of microservices architecture 24 2.2.2 Disadvantages of microservices architecture 25 2.3 Monolithic versus Microservices 26 2.4 Conclusion 27 References 27 3 Implementation of Microservice 31 3.1 Introduction 31 3.2 Building Microservices 32 3.2.1 Create monolithic architecture 32 3.2.2 Organise your teams properly 33 3.2.3 Create microservices architecture by splitting monolith architecture 34 3.3 Principles of Microservices 39 3.3.1 Decentralisation 41 3.3.2 Modelled around the business domain 41 3.3.3 </subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">Isolated failure 41 3.3.4 Culture of automation 42 3.3.5 Deploy independently 42 3.3.6 Highly observable 42 3.3.7 Hide implementation details 42 3.4 Major Consideration for Microservices Architecture 42 3.4.1 Bounded context 43 3.4.2 Dynamic scale up and scale down 43 3.4.3 Monitoring 43 3.4.4 Fault tolerance 43 3.4.5 Cyclic dependency 44 3.4.6 DevOps culture 44 3.5 Microservices Components 44 3.5.1 API 44 3.5.2 Containers 44 3.5.3 Service mesh 45 3.5.4 Software development approach (SOA) 45 3.5.5 Cloud 45 3.6 Best Practices for Microservices 45 3.7 Core Benefits of Microservices 46 3.7.1 Agility 46 3.7.2 Small but focused teams 46 3.7.3 Small code base 47 3.7.4 Mix of technologies 47 3.7.5 Fault isolation 47 3.7.6 Scalability 47 3.7.7 Data isolation 47 3.8 Conclusion 47 References 48 4 Container: A Solution of Diverse Platform 51 4.1 Introduction 51 4.2 Container as Microservice 53 4.3 Container Storage 54 4.4 Security 55 4.5 Container Monitoring 56 4.5.1 Options for container </subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">monitoring 57 4.6 Conclusion 58 References 58 5 Container Monitoring: A Container Health Check Process 61 5.1 Introduction 61 5.2 Container Monitoring 62 5.2.1 Monitoring Docker container 63 5.3 Container Monitoring Tools 63 5.3.1 Sematext 63 5.3.2 Datadog 64 5.3.3 Dynatrace 66 5.3.4 Elasticsearch and Kibana 66 5.3.5 SolarWinds server and application monitor 67 5.3.6 AppOptics Docker monitoring with APM 68 5.4 Conclusion 68 References 69 6 Docker: An Open-Source Containerisation Platform 71 6.1 Introduction 71 6.2 Docker: A Containerisation Platform 71 6.2.1 Working of Docker 71 6.2.2 Purpose of Docker 72 6.2.3 Benefits of Docker 72 6.3 Significance of Docker 72 6.3.1 Performance 73 6.3.2 Portability 73 6.3.3 Security 73 6.4 Container Operations 74 6.5 Docker installation 75 6.5.1 Docker installation on windows 75 6.5.2 Installation on Mac 77 6.5.3 Docker installation on Ubuntu 79 6.6 Docker Hub 80 6.6.1 Features of the Docker Hub 80 6.7 AWS Fargate 81 6.8 Docker Lifecycle 81 6.8.1 </subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">Development 81 6.8.2 Build code and Dockerising application 81 6.8.3 Pushing the Docker image into a private registry 82 6.8.4 Deploying it into the testing environment 82 6.8.5 Host 82 6.9 Conclusion 82 References 83 7 Docker Container: Volume and Network 85 7.1 Introduction 85 7.2 Docker Architecture 86 7.2.1 Parts of Docker 86 7.3 Docker in Software Development Life Cycle 87 7.3.1 Build 87 7.3.2 Testing 87 7.3.3 Deploy and maintain 87 7.4 Managing Data in Docker 88 7.5 Docker Volumes 88 7.5.1 Use cases for volumes 88 7.5.2 Utilisations of volumes 90 7.5.3 Docker volume commands 90 7.5.4 Docker volume with Jenkins 92 7.6 Docker Network 94 7.6.1 Docker network drivers 96 7.6.2 Basic Docker networking commands 102 7.7 Conclusion 105 References 106 8 Container Orchestration: Managing Cluster of Containers 107 8.1 Introduction 107 8.2 Container Orchestration 108 8.3 Need for Container Orchestration 108 8.4 Working of Container Orchestration 110 8.5 Container Orchestration Tools 111 </subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">8.5.1 Kubernetes 111 8.5.2 Docker swarm 111 8.5.3 Apache Mesos 112 8.6 Docker Swarm Container Orchestration Versus Kubernetes Container Orchestration 112 8.7 Some Other Container Orchestration Tools 113 8.8 Docker Swarm 115 8.8.1 Features of Docker swarm 118 8.8.2 Working with Docker swarm 118 8.9 Conclusion 119 References 120 9 Kubernetes: An Advanced Orchestration Platform 123 9.1 Introduction 123 9.2 Kubernetes 124 9.2.1 Virtual machines versus Kubernetes 124 9.2.2 Advantages 125 9.3 Installation of Kubernetes 125 9.3.1 Update the repositories 125 9.3.2 Turn off swap space 125 9.3.3 Update the hostname 126 9.3.4 Note the IP address 126 9.3.5 Update the hosts file 126 9.3.6 Set a static IP address 126 9.3.7 Install OpenSSH server 126 9.3.8 Install curl 126 9.3.9 Install the required dependencies and packages 127 9.3.10 Update the Kubernetes configuration 127 9.4 Companies using Kubernetes 127 9.4.1 Kubernetes on google cloud 128 9.4.2 Kubernetes in DevOps pipeline 129 9.5 Kubernetes </subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">Features 130 9.6 Docker and Kubernetes 131 9.7 Kubernetes Play Pokemon Go: A Case Study of Pokemon Go 132 9.8 Kubernetes Architecture 133 9.8.1 Worker nodes 133 9.8.2 Container run time 134 9.8.3 Kubelet 135 9.8.4 Kube proxy 135 9.8.5 Master node 136 9.8.6 Kubernetes control plane (AKA master node) 136 9.8.7 Node 137 9.8.8 Pod 138 9.8.9 Service 139 9.8.10 Ingress 139 9.8.11 ConfigMap 139 9.8.12 Secret 141 9.8.13 Volume 141 9.8.14 Deployments 141 9.9 POD Lifecycle 142 9.9.1 Waiting 142 9.9.2 Running 142 9.9.3 Terminated 142 9.10 Conclusion 143 References 143 10 Containerisation Services on Cloud Computing Platforms 145 10.1 Introduction 145 10.2 Containers in the Cloud 146 10.3 Cloud-based Containers Working 147 10.4 Virtual Machines and Containers in a Cloud Environment 149 10.5 Bridging Containers and the Cloud: Challenges and Solutions 149 10.5.1 Migration 149 10.5.2 Container security 150 10.5.3 Container networking 150 10.6 Cloud Computing Platforms 151 10.6.1 Amazon web services </subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">(AWS) 151 10.6.2 Microsoft Azure 152 10.6.3 Google cloud platform (GCP) 152 10.7 Amazon Web Services (AWS) Containerisation Service 153 10.7.1 Benefits 154 10.7.2 AWS global infrastructure 155 10.7.3 Identity access management 157 10.7.4 Features of identity access management 157 10.8 Amazon Elastic Container Service (Amazon ECS) 158 10.8.1 ECS terminology 160 10.8.2 Types of startups 160 10.9 Microsoft Azure Containerisation Services 161 10.9.1 Azure Kubernetes services (AKS) 162 10.9.2 Advantages of Azure containerisation services 164 10.9.3 Use cases of Azure containerisation services 165 10.10 Conclusion 166 References 166 Index 169 About the Authors 171</subfield></datafield><datafield tag="520" ind1="3" ind2=" "><subfield code="a">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. 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</subfield></datafield><datafield tag="653" ind1=" " ind2="0"><subfield code="a">Computer software / Development</subfield></datafield><datafield tag="653" ind1=" " ind2="0"><subfield code="a">Software container technologies</subfield></datafield><datafield tag="653" ind1=" " ind2="0"><subfield code="a">COMPUTERS / Computer Architecture</subfield></datafield><datafield tag="653" ind1=" " ind2="0"><subfield code="a">COMPUTERS / Artificial Intelligence</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Kumar, Anuj</subfield><subfield code="e">Sonstige</subfield><subfield code="4">oth</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Pant, Sangeeta</subfield><subfield code="e">Sonstige</subfield><subfield code="4">oth</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Ram, Mangey</subfield><subfield code="d">1980-</subfield><subfield code="e">Sonstige</subfield><subfield code="0">(DE-588)1144926335</subfield><subfield code="4">oth</subfield></datafield><datafield tag="776" ind1="0" ind2="8"><subfield code="i">Erscheint auch als</subfield><subfield code="n">Druck-Ausgabe</subfield><subfield code="z">9788770228466</subfield></datafield><datafield tag="856" ind1="4" ind2="0"><subfield code="u">https://ieeexplore.ieee.org/book/10243505</subfield><subfield code="x">Aggregator</subfield><subfield code="z">URL des Erstveröffentlichers</subfield><subfield code="3">Volltext</subfield></datafield><datafield tag="856" ind1="4" ind2="0"><subfield code="u">https://www.taylorfrancis.com/books/9781032624310</subfield><subfield code="3">Taylor & Francis</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">ZDB-37-RPEB</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-034834593</subfield></datafield><datafield tag="966" ind1="e" ind2=" "><subfield code="u">https://ieeexplore.ieee.org/book/10243505</subfield><subfield code="l">FHI01</subfield><subfield code="p">ZDB-37-RPEB</subfield><subfield code="x">Verlag</subfield><subfield code="3">Volltext</subfield></datafield></record></collection> |
id | DE-604.BV049489238 |
illustrated | Not Illustrated |
index_date | 2024-07-03T23:19:25Z |
indexdate | 2024-07-10T10:08:42Z |
institution | BVB |
isbn | 9788770228817 8770228817 9781003807728 1003807720 9781032624310 1032624310 9781003807759 1003807755 |
language | English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-034834593 |
oclc_num | 1418701793 |
open_access_boolean | |
owner | DE-573 |
owner_facet | DE-573 |
physical | 1 Online-Ressource (xxii, 172 Seiten) |
psigel | ZDB-37-RPEB |
publishDate | 2023 |
publishDateSearch | 2023 |
publishDateSort | 2023 |
publisher | River Publishers |
record_format | marc |
series2 | River Publishers series in computing and information science and technology |
spelling | Sharma, Hitesh Kumar Verfasser (DE-588)1314905031 aut DevOps a journey from microservice to cloud based containerization Hitesh Kumar Sharma, Anuj Kumar, Sangeeta Pant, Mangey Ram Gistrup, Denmark River Publishers [2023] 1 Online-Ressource (xxii, 172 Seiten) txt rdacontent c rdamedia cr rdacarrier River Publishers series in computing and information science and technology Preface xiii List of Figures xv List of Table xix List of Abbreviations xxi 1 DevOps: An Introduction 1 1.1 Introduction 1 1.2 DevOps: A Culture 2 1.3 DevOps Environment 3 1.4 Benefits of DevOps Culture 5 1.4.1 Ensuring faster development 6 1.4.2 Balancing in the workplace 6 1.4.3 Improved quality 6 1.4.4 Room for innovation 6 1.4.5 Supports agility 6 1.4.6 Continuous delivery of the product 7 1.4.7 Dependable problem-solving techniques 7 1.4.8 Transparency 7 1.4.9 Cost efficient 7 1.4.10 Better manage unplanned work 7 1.5 Best Practices of DevOps Culture 7 1.5.1 Project management with agility 8 1.5.2 Shift left with CI/CD 8 1.5.3 Using the right tools 8 1.5.4 Implementing automation 9 1.5.5 Monitor the CI/CD pipeline 9 1.5.6 Gather continuous feedback 9 1.5.7 Cultural change 9 1.6 Challenges in DevOps Culture 10 1.6.1 Overcoming the mentality of Dev V/S Ops 10 1.6.2 Ordinary understanding of continuous-delivery practices in an organisation 10 1.6.3 Moving on to microservices from legacy infrastructure and architecture 11 1.6.4 Implementing the strategy of test automation 11 1.6.5 Emphasising more on tools 12 1.6.6 Resistance to new change 12 1.6.7 Dev and Ops toolset conflicts 13 1.7 Conclusion 13 References 14 2 Microservice versus Monolithic Architecture 17 2.1 Introduction 17 2.1.1 Monolithic architecture examples 19 2.1.2 Advantages of monolithic architecture 19 2.1.3 Disadvantages of monolithic architecture 21 2.2 Microservices 22 2.2.1 Advantages of microservices architecture 24 2.2.2 Disadvantages of microservices architecture 25 2.3 Monolithic versus Microservices 26 2.4 Conclusion 27 References 27 3 Implementation of Microservice 31 3.1 Introduction 31 3.2 Building Microservices 32 3.2.1 Create monolithic architecture 32 3.2.2 Organise your teams properly 33 3.2.3 Create microservices architecture by splitting monolith architecture 34 3.3 Principles of Microservices 39 3.3.1 Decentralisation 41 3.3.2 Modelled around the business domain 41 3.3.3 Isolated failure 41 3.3.4 Culture of automation 42 3.3.5 Deploy independently 42 3.3.6 Highly observable 42 3.3.7 Hide implementation details 42 3.4 Major Consideration for Microservices Architecture 42 3.4.1 Bounded context 43 3.4.2 Dynamic scale up and scale down 43 3.4.3 Monitoring 43 3.4.4 Fault tolerance 43 3.4.5 Cyclic dependency 44 3.4.6 DevOps culture 44 3.5 Microservices Components 44 3.5.1 API 44 3.5.2 Containers 44 3.5.3 Service mesh 45 3.5.4 Software development approach (SOA) 45 3.5.5 Cloud 45 3.6 Best Practices for Microservices 45 3.7 Core Benefits of Microservices 46 3.7.1 Agility 46 3.7.2 Small but focused teams 46 3.7.3 Small code base 47 3.7.4 Mix of technologies 47 3.7.5 Fault isolation 47 3.7.6 Scalability 47 3.7.7 Data isolation 47 3.8 Conclusion 47 References 48 4 Container: A Solution of Diverse Platform 51 4.1 Introduction 51 4.2 Container as Microservice 53 4.3 Container Storage 54 4.4 Security 55 4.5 Container Monitoring 56 4.5.1 Options for container monitoring 57 4.6 Conclusion 58 References 58 5 Container Monitoring: A Container Health Check Process 61 5.1 Introduction 61 5.2 Container Monitoring 62 5.2.1 Monitoring Docker container 63 5.3 Container Monitoring Tools 63 5.3.1 Sematext 63 5.3.2 Datadog 64 5.3.3 Dynatrace 66 5.3.4 Elasticsearch and Kibana 66 5.3.5 SolarWinds server and application monitor 67 5.3.6 AppOptics Docker monitoring with APM 68 5.4 Conclusion 68 References 69 6 Docker: An Open-Source Containerisation Platform 71 6.1 Introduction 71 6.2 Docker: A Containerisation Platform 71 6.2.1 Working of Docker 71 6.2.2 Purpose of Docker 72 6.2.3 Benefits of Docker 72 6.3 Significance of Docker 72 6.3.1 Performance 73 6.3.2 Portability 73 6.3.3 Security 73 6.4 Container Operations 74 6.5 Docker installation 75 6.5.1 Docker installation on windows 75 6.5.2 Installation on Mac 77 6.5.3 Docker installation on Ubuntu 79 6.6 Docker Hub 80 6.6.1 Features of the Docker Hub 80 6.7 AWS Fargate 81 6.8 Docker Lifecycle 81 6.8.1 Development 81 6.8.2 Build code and Dockerising application 81 6.8.3 Pushing the Docker image into a private registry 82 6.8.4 Deploying it into the testing environment 82 6.8.5 Host 82 6.9 Conclusion 82 References 83 7 Docker Container: Volume and Network 85 7.1 Introduction 85 7.2 Docker Architecture 86 7.2.1 Parts of Docker 86 7.3 Docker in Software Development Life Cycle 87 7.3.1 Build 87 7.3.2 Testing 87 7.3.3 Deploy and maintain 87 7.4 Managing Data in Docker 88 7.5 Docker Volumes 88 7.5.1 Use cases for volumes 88 7.5.2 Utilisations of volumes 90 7.5.3 Docker volume commands 90 7.5.4 Docker volume with Jenkins 92 7.6 Docker Network 94 7.6.1 Docker network drivers 96 7.6.2 Basic Docker networking commands 102 7.7 Conclusion 105 References 106 8 Container Orchestration: Managing Cluster of Containers 107 8.1 Introduction 107 8.2 Container Orchestration 108 8.3 Need for Container Orchestration 108 8.4 Working of Container Orchestration 110 8.5 Container Orchestration Tools 111 8.5.1 Kubernetes 111 8.5.2 Docker swarm 111 8.5.3 Apache Mesos 112 8.6 Docker Swarm Container Orchestration Versus Kubernetes Container Orchestration 112 8.7 Some Other Container Orchestration Tools 113 8.8 Docker Swarm 115 8.8.1 Features of Docker swarm 118 8.8.2 Working with Docker swarm 118 8.9 Conclusion 119 References 120 9 Kubernetes: An Advanced Orchestration Platform 123 9.1 Introduction 123 9.2 Kubernetes 124 9.2.1 Virtual machines versus Kubernetes 124 9.2.2 Advantages 125 9.3 Installation of Kubernetes 125 9.3.1 Update the repositories 125 9.3.2 Turn off swap space 125 9.3.3 Update the hostname 126 9.3.4 Note the IP address 126 9.3.5 Update the hosts file 126 9.3.6 Set a static IP address 126 9.3.7 Install OpenSSH server 126 9.3.8 Install curl 126 9.3.9 Install the required dependencies and packages 127 9.3.10 Update the Kubernetes configuration 127 9.4 Companies using Kubernetes 127 9.4.1 Kubernetes on google cloud 128 9.4.2 Kubernetes in DevOps pipeline 129 9.5 Kubernetes Features 130 9.6 Docker and Kubernetes 131 9.7 Kubernetes Play Pokemon Go: A Case Study of Pokemon Go 132 9.8 Kubernetes Architecture 133 9.8.1 Worker nodes 133 9.8.2 Container run time 134 9.8.3 Kubelet 135 9.8.4 Kube proxy 135 9.8.5 Master node 136 9.8.6 Kubernetes control plane (AKA master node) 136 9.8.7 Node 137 9.8.8 Pod 138 9.8.9 Service 139 9.8.10 Ingress 139 9.8.11 ConfigMap 139 9.8.12 Secret 141 9.8.13 Volume 141 9.8.14 Deployments 141 9.9 POD Lifecycle 142 9.9.1 Waiting 142 9.9.2 Running 142 9.9.3 Terminated 142 9.10 Conclusion 143 References 143 10 Containerisation Services on Cloud Computing Platforms 145 10.1 Introduction 145 10.2 Containers in the Cloud 146 10.3 Cloud-based Containers Working 147 10.4 Virtual Machines and Containers in a Cloud Environment 149 10.5 Bridging Containers and the Cloud: Challenges and Solutions 149 10.5.1 Migration 149 10.5.2 Container security 150 10.5.3 Container networking 150 10.6 Cloud Computing Platforms 151 10.6.1 Amazon web services (AWS) 151 10.6.2 Microsoft Azure 152 10.6.3 Google cloud platform (GCP) 152 10.7 Amazon Web Services (AWS) Containerisation Service 153 10.7.1 Benefits 154 10.7.2 AWS global infrastructure 155 10.7.3 Identity access management 157 10.7.4 Features of identity access management 157 10.8 Amazon Elastic Container Service (Amazon ECS) 158 10.8.1 ECS terminology 160 10.8.2 Types of startups 160 10.9 Microsoft Azure Containerisation Services 161 10.9.1 Azure Kubernetes services (AKS) 162 10.9.2 Advantages of Azure containerisation services 164 10.9.3 Use cases of Azure containerisation services 165 10.10 Conclusion 166 References 166 Index 169 About the Authors 171 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. 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 Computer software / Development Software container technologies COMPUTERS / Computer Architecture COMPUTERS / Artificial Intelligence Kumar, Anuj Sonstige oth Pant, Sangeeta Sonstige oth Ram, Mangey 1980- Sonstige (DE-588)1144926335 oth Erscheint auch als Druck-Ausgabe 9788770228466 https://ieeexplore.ieee.org/book/10243505 Aggregator URL des Erstveröffentlichers Volltext https://www.taylorfrancis.com/books/9781032624310 Taylor & Francis |
spellingShingle | Sharma, Hitesh Kumar DevOps a journey from microservice to cloud based containerization Preface xiii List of Figures xv List of Table xix List of Abbreviations xxi 1 DevOps: An Introduction 1 1.1 Introduction 1 1.2 DevOps: A Culture 2 1.3 DevOps Environment 3 1.4 Benefits of DevOps Culture 5 1.4.1 Ensuring faster development 6 1.4.2 Balancing in the workplace 6 1.4.3 Improved quality 6 1.4.4 Room for innovation 6 1.4.5 Supports agility 6 1.4.6 Continuous delivery of the product 7 1.4.7 Dependable problem-solving techniques 7 1.4.8 Transparency 7 1.4.9 Cost efficient 7 1.4.10 Better manage unplanned work 7 1.5 Best Practices of DevOps Culture 7 1.5.1 Project management with agility 8 1.5.2 Shift left with CI/CD 8 1.5.3 Using the right tools 8 1.5.4 Implementing automation 9 1.5.5 Monitor the CI/CD pipeline 9 1.5.6 Gather continuous feedback 9 1.5.7 Cultural change 9 1.6 Challenges in DevOps Culture 10 1.6.1 Overcoming the mentality of Dev V/S Ops 10 1.6.2 Ordinary understanding of continuous-delivery practices in an organisation 10 1.6.3 Moving on to microservices from legacy infrastructure and architecture 11 1.6.4 Implementing the strategy of test automation 11 1.6.5 Emphasising more on tools 12 1.6.6 Resistance to new change 12 1.6.7 Dev and Ops toolset conflicts 13 1.7 Conclusion 13 References 14 2 Microservice versus Monolithic Architecture 17 2.1 Introduction 17 2.1.1 Monolithic architecture examples 19 2.1.2 Advantages of monolithic architecture 19 2.1.3 Disadvantages of monolithic architecture 21 2.2 Microservices 22 2.2.1 Advantages of microservices architecture 24 2.2.2 Disadvantages of microservices architecture 25 2.3 Monolithic versus Microservices 26 2.4 Conclusion 27 References 27 3 Implementation of Microservice 31 3.1 Introduction 31 3.2 Building Microservices 32 3.2.1 Create monolithic architecture 32 3.2.2 Organise your teams properly 33 3.2.3 Create microservices architecture by splitting monolith architecture 34 3.3 Principles of Microservices 39 3.3.1 Decentralisation 41 3.3.2 Modelled around the business domain 41 3.3.3 Isolated failure 41 3.3.4 Culture of automation 42 3.3.5 Deploy independently 42 3.3.6 Highly observable 42 3.3.7 Hide implementation details 42 3.4 Major Consideration for Microservices Architecture 42 3.4.1 Bounded context 43 3.4.2 Dynamic scale up and scale down 43 3.4.3 Monitoring 43 3.4.4 Fault tolerance 43 3.4.5 Cyclic dependency 44 3.4.6 DevOps culture 44 3.5 Microservices Components 44 3.5.1 API 44 3.5.2 Containers 44 3.5.3 Service mesh 45 3.5.4 Software development approach (SOA) 45 3.5.5 Cloud 45 3.6 Best Practices for Microservices 45 3.7 Core Benefits of Microservices 46 3.7.1 Agility 46 3.7.2 Small but focused teams 46 3.7.3 Small code base 47 3.7.4 Mix of technologies 47 3.7.5 Fault isolation 47 3.7.6 Scalability 47 3.7.7 Data isolation 47 3.8 Conclusion 47 References 48 4 Container: A Solution of Diverse Platform 51 4.1 Introduction 51 4.2 Container as Microservice 53 4.3 Container Storage 54 4.4 Security 55 4.5 Container Monitoring 56 4.5.1 Options for container monitoring 57 4.6 Conclusion 58 References 58 5 Container Monitoring: A Container Health Check Process 61 5.1 Introduction 61 5.2 Container Monitoring 62 5.2.1 Monitoring Docker container 63 5.3 Container Monitoring Tools 63 5.3.1 Sematext 63 5.3.2 Datadog 64 5.3.3 Dynatrace 66 5.3.4 Elasticsearch and Kibana 66 5.3.5 SolarWinds server and application monitor 67 5.3.6 AppOptics Docker monitoring with APM 68 5.4 Conclusion 68 References 69 6 Docker: An Open-Source Containerisation Platform 71 6.1 Introduction 71 6.2 Docker: A Containerisation Platform 71 6.2.1 Working of Docker 71 6.2.2 Purpose of Docker 72 6.2.3 Benefits of Docker 72 6.3 Significance of Docker 72 6.3.1 Performance 73 6.3.2 Portability 73 6.3.3 Security 73 6.4 Container Operations 74 6.5 Docker installation 75 6.5.1 Docker installation on windows 75 6.5.2 Installation on Mac 77 6.5.3 Docker installation on Ubuntu 79 6.6 Docker Hub 80 6.6.1 Features of the Docker Hub 80 6.7 AWS Fargate 81 6.8 Docker Lifecycle 81 6.8.1 Development 81 6.8.2 Build code and Dockerising application 81 6.8.3 Pushing the Docker image into a private registry 82 6.8.4 Deploying it into the testing environment 82 6.8.5 Host 82 6.9 Conclusion 82 References 83 7 Docker Container: Volume and Network 85 7.1 Introduction 85 7.2 Docker Architecture 86 7.2.1 Parts of Docker 86 7.3 Docker in Software Development Life Cycle 87 7.3.1 Build 87 7.3.2 Testing 87 7.3.3 Deploy and maintain 87 7.4 Managing Data in Docker 88 7.5 Docker Volumes 88 7.5.1 Use cases for volumes 88 7.5.2 Utilisations of volumes 90 7.5.3 Docker volume commands 90 7.5.4 Docker volume with Jenkins 92 7.6 Docker Network 94 7.6.1 Docker network drivers 96 7.6.2 Basic Docker networking commands 102 7.7 Conclusion 105 References 106 8 Container Orchestration: Managing Cluster of Containers 107 8.1 Introduction 107 8.2 Container Orchestration 108 8.3 Need for Container Orchestration 108 8.4 Working of Container Orchestration 110 8.5 Container Orchestration Tools 111 8.5.1 Kubernetes 111 8.5.2 Docker swarm 111 8.5.3 Apache Mesos 112 8.6 Docker Swarm Container Orchestration Versus Kubernetes Container Orchestration 112 8.7 Some Other Container Orchestration Tools 113 8.8 Docker Swarm 115 8.8.1 Features of Docker swarm 118 8.8.2 Working with Docker swarm 118 8.9 Conclusion 119 References 120 9 Kubernetes: An Advanced Orchestration Platform 123 9.1 Introduction 123 9.2 Kubernetes 124 9.2.1 Virtual machines versus Kubernetes 124 9.2.2 Advantages 125 9.3 Installation of Kubernetes 125 9.3.1 Update the repositories 125 9.3.2 Turn off swap space 125 9.3.3 Update the hostname 126 9.3.4 Note the IP address 126 9.3.5 Update the hosts file 126 9.3.6 Set a static IP address 126 9.3.7 Install OpenSSH server 126 9.3.8 Install curl 126 9.3.9 Install the required dependencies and packages 127 9.3.10 Update the Kubernetes configuration 127 9.4 Companies using Kubernetes 127 9.4.1 Kubernetes on google cloud 128 9.4.2 Kubernetes in DevOps pipeline 129 9.5 Kubernetes Features 130 9.6 Docker and Kubernetes 131 9.7 Kubernetes Play Pokemon Go: A Case Study of Pokemon Go 132 9.8 Kubernetes Architecture 133 9.8.1 Worker nodes 133 9.8.2 Container run time 134 9.8.3 Kubelet 135 9.8.4 Kube proxy 135 9.8.5 Master node 136 9.8.6 Kubernetes control plane (AKA master node) 136 9.8.7 Node 137 9.8.8 Pod 138 9.8.9 Service 139 9.8.10 Ingress 139 9.8.11 ConfigMap 139 9.8.12 Secret 141 9.8.13 Volume 141 9.8.14 Deployments 141 9.9 POD Lifecycle 142 9.9.1 Waiting 142 9.9.2 Running 142 9.9.3 Terminated 142 9.10 Conclusion 143 References 143 10 Containerisation Services on Cloud Computing Platforms 145 10.1 Introduction 145 10.2 Containers in the Cloud 146 10.3 Cloud-based Containers Working 147 10.4 Virtual Machines and Containers in a Cloud Environment 149 10.5 Bridging Containers and the Cloud: Challenges and Solutions 149 10.5.1 Migration 149 10.5.2 Container security 150 10.5.3 Container networking 150 10.6 Cloud Computing Platforms 151 10.6.1 Amazon web services (AWS) 151 10.6.2 Microsoft Azure 152 10.6.3 Google cloud platform (GCP) 152 10.7 Amazon Web Services (AWS) Containerisation Service 153 10.7.1 Benefits 154 10.7.2 AWS global infrastructure 155 10.7.3 Identity access management 157 10.7.4 Features of identity access management 157 10.8 Amazon Elastic Container Service (Amazon ECS) 158 10.8.1 ECS terminology 160 10.8.2 Types of startups 160 10.9 Microsoft Azure Containerisation Services 161 10.9.1 Azure Kubernetes services (AKS) 162 10.9.2 Advantages of Azure containerisation services 164 10.9.3 Use cases of Azure containerisation services 165 10.10 Conclusion 166 References 166 Index 169 About the Authors 171 |
title | DevOps a journey from microservice to cloud based containerization |
title_auth | DevOps a journey from microservice to cloud based containerization |
title_exact_search | DevOps a journey from microservice to cloud based containerization |
title_exact_search_txtP | DevOps a journey from microservice to cloud based containerization |
title_full | DevOps a journey from microservice to cloud based containerization Hitesh Kumar Sharma, Anuj Kumar, Sangeeta Pant, Mangey Ram |
title_fullStr | DevOps a journey from microservice to cloud based containerization Hitesh Kumar Sharma, Anuj Kumar, Sangeeta Pant, Mangey Ram |
title_full_unstemmed | DevOps a journey from microservice to cloud based containerization Hitesh Kumar Sharma, Anuj Kumar, Sangeeta Pant, Mangey Ram |
title_short | DevOps |
title_sort | devops a journey from microservice to cloud based containerization |
title_sub | a journey from microservice to cloud based containerization |
url | https://ieeexplore.ieee.org/book/10243505 https://www.taylorfrancis.com/books/9781032624310 |
work_keys_str_mv | AT sharmahiteshkumar devopsajourneyfrommicroservicetocloudbasedcontainerization AT kumaranuj devopsajourneyfrommicroservicetocloudbasedcontainerization AT pantsangeeta devopsajourneyfrommicroservicetocloudbasedcontainerization AT rammangey devopsajourneyfrommicroservicetocloudbasedcontainerization |