Limit search to available items
99 results found. Sorted by relevance | date | title .
Book Cover
E-book
Author Sharma, Hitesh Kumar, author.

Title DevOps : a journey from microservice to cloud based containerization / Hitesh Kumar Sharma, Anuj Kumar, Sangeeta Pant, Mangey Ram
Published [United States] : River Publishers, [2023]
©2023

Copies

Description 1 online resource
Series River Publishers series in computing and information science and technology
River Publishers series in computing and information science and technology
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
Summary 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
Notes Dr. Hitesh Kumar Sharma is an Associate Professor at the School of Computer Science, University of Petroleum and Energy Studies, Dehradun, Uttarakhand, India. He completed his Ph.D. in database performance tuning in 2016 and his M.Tech. in 2009. Currently, he is also working in machine learning, deep learning, image processing and IoT with Blockchain. He has authored more than 70 research articles for journals and conferences of national and international repute. Dr. Sharma has authored three books and numerous book chapters with various international publishers. He is an active guest editor/reviewer of various referred international journals. He has delivered various keynote/guest speeches in India and abroad. He has obtained many certifications in DevOps in the last two years and has also published 3 patents in the last few years. Dr. Anuj Kumar is an Associate Professor of Mathematics at University of Petroleum and Energy Studies (UPES), Dehradun, India. Before joining UPES, he worked as an Assistant Professor (Mathematics) in The ICFAI University, Dehradun, India. He obtained his master’s and doctorate degrees in Mathematics from G. B. Pant University of Agriculture and Technology, Pantnagar, India. His areas of interest are reliability analysis, optimization, MCDM, and artificial intelligence. He has published many research articles in journals of national and international repute. He is an Associate Editor of the International Journal of Mathematical, Engineering and Management Sciences. He is also a regular reviewer of various journals of Elsevier, IEEE, Springer, Taylor & Francis and Emerald. Dr. Sangeeta Pant received her doctorate from G. B. Pant University of Agriculture and Technology, Pantnagar, India. Presently, she is working with the Department of Mathematics, School of Engineering and Computing, Dev Bhoomi Uttarakhand University, Dehradun as an Associate Professor. Prior to this, she worked as an Assistant Professor-SG (Mathematics) at the University of Petroleum and Energy Studies, Dehradun, India. She has published around 45 research articles in journals/books of national/international repute in her area of interest and has been instrumental in various other research related activities like editing/reviewing for various reputed journals and organizing/participating in conferences. Her areas of interest are numerical optimization, artificial intelligence, nature inspired algorithms and multi-criteria decision making. Dr. Mangey Ram received his Ph.D. degree major in mathematics and minor in computer science from G. B. Pant University of Agriculture and Technology, Pantnagar, India. He has been a Faculty Member for around thirteen years and has taught several core courses in pure and applied mathematics at undergraduate, postgraduate, and doctorate levels. He is currently the Research Professor at Graphic Era (Deemed to be University), Dehradun, India and Visiting Professor at Peter the Great St. Petersburg Polytechnic University, Saint Petersburg, Russia. He is Editor-in-Chief of International Journal of Mathematical, Engineering and Management Sciences; Journal of Reliability and Statistical Studies; Journal of Graphic Era University; Series Editor of six Book Series with Elsevier, CRC Press-A Taylor and Frances Group, Walter De Gruyter, and River Publishers, and is guest editor and associate editor of various journals. He has published 250 plus research publications in IEEE, Taylor & Francis, Springer Nature, Elsevier, Emerald, World Scientific publications and many other national and international journals and conferences. He has also published more than 50 books (authored/edited) with international publishers. His fields of research are reliability theory and applied mathematics. Dr. Ram is a Senior Member of the IEEE, Senior Life Member of Operational Research Society of India, Society for Reliability Engineering, Quality and Operations Management in India, and the Indian Society of Industrial and Applied Mathematics
Title details screen
Subject Computer software -- Development.
Software container technologies.
COMPUTERS / Computer Architecture
COMPUTERS / Artificial Intelligence
Form Electronic book
Author Kumar, Anuj, author
Pant, Sangeeta, author
Ram, Mangey, author
ISBN 9788770228817
8770228817
9781003807728
1003807720
9781032624310
1032624310
9781003807759
1003807755