Real- world devops practices : case study approach / By B Thangaraju.
Material type:
TextPublication details: New Delhi : Wiley , 2025.Edition: 1st edDescription: xxix,534p. ; PB 24.4 cmISBN: - 9789357465946
- 1 005.768 THAB
| Item type | Current library | Collection | Call number | Status | Barcode | |
|---|---|---|---|---|---|---|
|
|
St Aloysius Institute of Management & Information Technology | MCA | 005.768 THAB (Browse shelf(Opens below)) | Available | MCA17379 |
It is designed to equip readers with the knowledge and practical skills necessary to effectively implement DevOps tools across various industries. It presents a clear, step-by-step method for DevOps adoption, covering tool selection, pipeline architecture, and overcoming growth challenges.
The book tests your grasp of DevOps through over 400 questions, including descriptive exercises, lab tasks, and MCQs. These are designed to test your understanding and application of DevOps concepts. Suitable for novices and experts alike, it lays a solid foundation in agile and DevOps principles, with practical applications demonstrated through real-life case studies. It also highlights the critical role of governance in ensuring the sustained improvement of DevOps projects.
This accessible, hands-on manual prepares you with the skills to excel in DevOps, regardless of your sector or experience level.
Preface
About the Book
Organisation of the Book
Who Should Read This Book?
How to Use This Book
About the Author
Acknowledgment
Part 1 Understanding DevOps
1 DevOps Fundamentals
1.1 Introduction to DevOps
1.1.1 History of DevOps
1.1.2 Definition of DevOps
1.1.3 DevOps: Key Components
1.1.4 DevOps: Key Advantages
1.1.5 Enterprise Application Evolving Themes
1.1.6 Why DevOps has Become Essential in Modern Software Development?
1.2 DevOps: Key Principels
1.2.1 Automation: The Role of Automation in Streamlining Processes
1.2.2 Dev and Ops: Collaboration and Integration
1.2.3 Continuous Delivery: The Concept of Continuous Delivery and Its Benefits
1.2.4 Monitoring and Feedback: Real-Time Monitoring and the Feedback Loop in DevOps
1.3 DevOps Toolchains
1.3.1 Robust DevOps Toolchain
1.4 Challenges in Adopting DevOps
1.4.1 Challenges in Adopting DevOps for Legacy Systems
1.4.2 Strategies to Overcome DevOps Challenges in Legacy Systems
1.5 Measuring DevOps Success
1.6 DevOps Myths
1.6.1 Common Myths About DevOps
Summary
Exercise
Further Reading
Part 2 DevOps Tool Chains Overviews
2 DevOps Tools: Version Control to Monitoring
2.1 Version Control System
2.1.1 Introduction
2.1.2 Version Control System: Key Features
2.1.3 Significance of Version Control in Collaborative Development
2.1.4 Global Information Tracker (Git)
2.1.5 Frequently Used Git Commands
2.1.6 Version Control System: A Look at Other Tools
2.2 Continuous Integration (CI) Tools
2.2.1 Introduction
2.2.2 Continuous Integration: Process and Advantages
2.2.3 Establishing Effective Continuous Integration
2.2.4 Exploring Popular CI Tools
2.3 Build Automation Tools
2.3.1 Introduction
2.3.2 Criteria for Choosing Build Automation Tools
2.3.3 Commonly Used Build Automation Tools
2.4 Testing Automation Tools
2.4.1 Introduction
2.4.2 Role of Testing Automation in Software Development
2.4.3 Various Types of Testing
2.4.4 Testing Automation Tools: Key Features and Evaluation Criteria
2.4.5 Test Automation Tools: A Selected List
2.5 Deployment Automation Tool
2.5.1 Benefits and Objectives of Deployment Automation
2.5.2 Deployment Automation: Challenges Addressed
2.5.3 Deployment Automation: Core Elements
2.5.4 Deployment Automation Tools: A Selected List
2.5.5 Auto DevOps
2.5.6 Continuous Delivery vs Continuous Deployment
2.6 DevOps: Monitoring Tools
2.6.1 DevOps Monitoring: Key Components
2.6.2 Monitoring Tools: Enhancing the DevOps Lifecycle
2.6.3 Metrics, Logs, and Traces: Key Concepts in DevOps Monitoring
2.6.4 Why Metrics, Logs, and Traces Matter?
2.6.5 Diverse Monitoring Tools
2.6.6 Application Performance Monitoring (APM) Tools
2.6.7 Log Management Tools
2.6.8 Distributed Tracing Tools
2.6.9 Tool Selection: Essential Factors
2.6.10 Tool Selection for Use Cases and Tech Stacks
2.6.11 Steps for Integrating Monitoring Tools with Existing Infrastructure
2.6.12 Key Considerations for Defining Metrics and Key Performance Indicator (KPIs) in Monitoring
2.6.13 Effective Alerting and Notification Strategies
2.6.14 Implementing Automated Responses to Detected Issues
Summary
Exercise
Multiple Choice Questions
3 Ansible: Configuration Management with Effective Practices
3.1 Introduction
3.2 Configuration Management: Key Features
3.3 Understanding IaC: Two Approaches
3.3.1 Declarative Approach (Functional)
3.3.2 Imperative Approach (Procedural)
3.4 IaC: Push and Pull Methodologies
3.4.1 ‘Push’ Method
3.4.2 ‘Pull’ Method
3.5 Ansible: Simplifying Automation and Configuration Management
3.5.1 Ansible: Key Features
3.5.2 Use Cases for Ansible
3.5.3 Ansible: Key Components
3.5.4 Ansible: Architecture
3.5.5 Ansible: Installation
3.6 Integrate Ansible with Jenkins
3.7 Understanding the Role of the Inventory File in Ansible Automation
3.7.1 Inventory File Creation
3.8 Illustrating Ansible Syntax and Playbooks for Common System Operations
3.8.1 Container Web Server Creation
3.8.2 Advanced Ansible Techniques and Best Practices
3.9 Ansible Debugging
3.9.1 Understanding Ansible Debugging
3.9.2 Key Debugging Techniques
3.10 Ansible Best Practices
3.10.1 List of a Few Other Popular Configuration Management Tools
Summary
Exercise
Multiple Choice Questions
4 Docker Fundamentals and Beyond
4.1 Introduction to Virtualisations
4.1.1 Advantages of Virtualisation
4.1.2 Evolution of the Infrastructure Path
4.2 Introduction to Container
4.2.1 Containerisation: Key Concepts
4.3 Container: Internal Mechanisms
4.4 Docker: A Comprehensive Introduction
4.5 Docker Engine: Core Components and Container Architecture
4.6 Docker: Architecture
4.7 Virtual Machine Vs Docker
4.8 Docker Installation
4.8.1 Basic Docker Commands
4.9 Dockerfile
4.9.1 Why Dockerfile is Essential for Creating Docker Containers?
4.9.2 Exploring Dockerfiles
4.9.3 Docker Buildx: Enhanced Docker Image Building
4.9.4 Using Docker Buildx
4.9.5 Dockerfile for Serving “Hello, World!” with Nginx
4.9.6 Multi-Stage Build
4.9.7 .dockerignore
4.9.8 Alpine Base Image: An Introduction
4.10 Docker Compose: A Comprehensive Introduction
4.10.1 Docker Compose: Key Features
4.10.2 Why Use Docker Compose?
4.10.3 Docker Compose: Key Elements
4.10.4 Docker Compose: Installation
4.10.5 Docker Compose YAML Configuration
4.10.6 Defining Services
4.10.7 Docker Compose: Network Integration
4.10.8 Managing Volumes
4.10.9 Environment Variables and Secrets
4.10.10 Scaling Services
4.10.11 Docker Compose Commands
4.10.12 Best Practices and Tips
4.11 Containerisation Tools Similar to Docker
4.12 Docker Compose vs. Kubernetes
Summary
Exercise
Multiple Choice Questions
Further Reading
5 Kubernetes in DevOps: Managing Containerised Applications
5.1 Kubernetes: A Historical Overview
5.2 Kubernetes: An Introduction
5.2.1 Kubernetes: Advantages and Key Features
5.3 Kubernetes Architecture
5.3.1 Synchronisation and Interaction of the Various Components of Kubernetes Worker Node
5.3.2 Kubernetes Installation
5.4 Minikube
5.4.1 Minikube: Architecture
5.4.2 Minikube: Advantages
5.4.3 Installing Minikube in Ubuntu Virtual Machine
5.4.4 Kubernetes YAML Files and Commonly Used Instructions
5.5 Exploration of Kubernetes Concepts and Practical Implementations
5.5.1 Namespaces in Kubernetes
5.5.2 Kubernetes Deployment
5.5.3 Kubernetes Services: Concepts, Features, and Management
5.5.4 Pod Replica in Kubernetes
5.5.5 Updating the Deployment: Changing the Image and Rollback Mechanism
5.5.6 LoadBalancer Service Type
5.5.7 Kubernetes Networking
5.5.8 Persistent Volume in Kubernetes
5.5.9 ConfigMaps in Kubernetes
5.5.10 Secrets
5.5.11 Pod Lifecycle Management
5.5.12 Init Containers in Kubernetes: An Overview
5.5.13 Sidecar Containers in Kubernetes
5.5.14 CronJobs in Kubernetes
5.5.15 Kubernetes: Live Updates
5.5.16 Failover Mechanisms in Kubernetes
5.5.17 Resource Quotas and Resource Limits in Kubernetes
5.5.18 Horizontal Pod Autoscaler (HPA) in Kubernetes
5.6 Debugging Kubernetes
5.6.1 Pod Debugging
5.6.2 Service Debugging
5.6.3 Node Debugging
5.6.4 Network Debugging
5.6.5 Resource Management Debugging
5.6.6 Storage Debugging
5.6.7 Security Debugging
5.6.8 Using Logs and Metrics
5.7 Integrating Kubernetes with Jenkins
5.8 Popular Container Orchestration Tools
Summary
Exercises
Multiple Choice Questions
Further Reading
6 Jenkins Unleashed: Features, Configuration, and Implementation Mastery
6.1 Jenkins: History and Introduction
6.1.1 Jenkins: Configuration
6.1.2 Jenkins: Architecture
6.1.3 Jenkins: Key Features
6.2 Jenkins: Installation and Configuration
6.2.1 Jenkins: Accessing and Initialising
6.3 Build Triggers
6.3.1 Build Periodically
6.3.2 Custom Workspace
6.3.3 Demonstrating Custom Workspace Setup in Jenkins
6.3.4 Parameterised Job
6.3.5 Trigger Builds Remotely
6.3.6 Using Poll SCM to Monitor Source Code Management
6.3.7 GitHub Hook Trigger for GITScm Polling
6.3.8 Orchestrating Job Dependencies in Jenkins
6.4 Email Notification
6.4.1 Email Notification: Configuring
6.4.2 Types of Email Notifications
6.4.3 Email Notifications: Advantages
6.4.4 Illustrating Email Notification in Jenkins
6.5 Role-Based Authentication Strategy
6.5.1 Key Features
6.5.2 Advantages of Role-Based Authentication Strategy
6.5.3 Setting Up Role-Based Authentication
6.5.4 Example Scenarios of Role-Based Authentication
6.5.5 Implementation of Role-Based Authentication for User Management in Jenkins
6.6 Jenkins Distributed Architecture
6.6.1 Jenkins Distributed Architecture: Configuration
6.6.2 Jenkins Distributed Architecture: Advantages
6.6.3 Configuring a Jenkins Distributed Architecture with Docker Containers
6.7 Jenkins Pipeline
6.7.1 Jenkins Pipeline: Architectures
6.7.2 Creating and Visualising a Jenkins Pipeline Demo
6.8 Debugging in Jenkins
Summary
Exercise
Multiple Choice Questions
Further Reading
Part 3 Real-World Case Study Approach
1 Transforming Theory into Practice: A DevOps Journey with a Calculator Program
C1.1 Introduction
C1.2 Objective
C1.3 DevOps Solution
C1.4 Getting Started with Project Creation and Maven
C1.4.1 Executing Maven Commands
C1.5 Integrating the XML into pom.xml
C1.6 Integrating Version Control with Git and GitHub
C1.7 Setting up Version Control and Preparing for Commit
C1.8 Pushing Local Changes to the Remote Repository
C1.9 Jenkins Integration
C1.10 Implementation of the Calculator Program
C1.11 Executing the Pipeline Automatically Using Git SCM Polling & NGROK
C1.12 Extracting the Log File from a Running Container
C1.13 Conclusion
2 Transformation Through DevOps: Evolving ‘E-Bill Pay’ Utilities Operations and Customer Experience
C2.1 Introduction
C2.2 Objectives
C2.3 DevOps Solution
C2.3.1 Application Architecture
C2.3.2 Implementation
C2.3.3 Implementation of DevOps Tools
C2.3.4 Continuous Integration (Jenkins) Pipeline
C2.4 Docker Containerisation
C2.4.1 Docker Compose
C2.4.2 Deployment using Ansible
C2.4.3 Logging and Monitoring with ELK Stack
C2.5 Monitoring
C2.5.1 Monitoring System Performance Using ‘Count of Records (Transactions)’
C2.6 Conclusion
C2.7 Future Roadmap
Further Reading
3 Revolutionising Mental Health Services: A DevOps Implementation Journey with Book My Buddy
C3.1 Introduction
C3.2 Challenges
C3.2.1 User Experience Challenges
C3.2.2 Buddy-Specific Challenges
C3.2.3 Administrative Challenges
C3.3 Overview and Significance of the MERN Stack
C3.3.1 Brief about the MERN components
C3.3.2 Significant Features and Benefits of the MERN Stack
C3.4 Objectives
C3.5 DevOps Solution
C3.5.1 DevOps Tool Chain
C3.5.2 Source Code Directory Structure
C3.6 Implementation
C3.6.1 Unit Testing
C3.6.2 Kubernetes and Docker Compose
C3.6.3 Docker Compose
C3.6.4 Ansible Deployment
C3.6.5 Ansible using Kubernetes
C3.6.6 Utilising Winston for Effective Logging in MERN Stack Applications
C3.6.7 Jenkins Pipeline
C3.6.8 ELK Screenshots for Application Performance Monitoring
C3.7 Conclusion
4 Pioneering Healthcare Data Management: MedWeb’s Innovative Consent System
C4.1 Introduction
C4.1.1 The Challenge
C4.1.2 Key Project Features
C4.2 Block Diagram of the MedWeb Application
C4.2.1 Patient
C4.2.2 Healthcare Providers
C4.2.3 Guardian/Legal Representative
C4.2.4 Emergency Personnel
C4.2.5 Consent Management System (CMS)
C4.2.6 Electronic Health Record (EHR) System
C4.2.7 Admin
C4.3 Problem Statement
C4.4 Adoption of DevOps Practices
C4.4.1 Objectives
C4.4.2 DevOps Solution
C4.5 Experimental Details
C4.5.1 Development and Local Testing
C4.5.2 Build and Packaging
C4.5.3 Source Code Management with GitHub
C4.5.4 Containerization
C4.5.5 Continuous Integration (CI) and Continuous Delivery (CD)
C4.5.6 Deployment
C4.5.7 Container Orchestration Using Kubernetes
C4.5.8 Logging
C4.5.9 Monitoring and Visualisation
C4.6 Results and Discussion
C4.7 Visualisation
C4.7.1 Top 11 Operations vs. PatientID
C4.7.2 Top 5 PatientID and Percentage of Info/Error Occurrences
C4.8 Challenges Encountered During Implementation and Their Resolutions
C4.8.1 Minikube Deployment Challenges
C4.8.2 GitHub Webhook Integration
C4.8.3 Dynamic Connection Details in application.yml
C4.8.4 Direct Access to Kubernetes Services
C4.8.5 JUnit Test Case Failures and Compilation
C4.9 Conclusion
C4.10 Future Roadmap
C4.10.1 Continuous Integration and Continuous Deployment Pipeline
C4.10.2 Proactive Monitoring and Incident Response
C4.10.3 Feedback and Iteration
C4.10.4 Infrastructure Scaling
5 Enhancing Assessment Excellence through DevOps-Powered Peer Grading
C5.1 Introduction
C5.2 Objectives
C5.3 Proposed DevOps-Driven Solution
C5.4 Implementation Strategy
C5.5 Navigating Challenges
C5.6 Architecture Diagram
C5.7 Experimental Details
C5.7.1 Source Code Management
C5.7.2 Continuous Integration
C5.7.3 Containerization
C5.7.4 Container Orchestration and Deployment
C5.7.5 Minikube Usage
C5.7.6 Azure and Azure Kubernetes Service for Cloud Deployment
C5.7.7 Jenkins Pipeline Script Explanation
C5.8 Application Dashboard
C5.9 Continuous Monitoring
C5.10 Benefits
C5.11 Conclusion
C5.12 Future Roadmap
*6 Transforming Education with NoteShare
*7 Fashion Pal’s Digital Transformation
*8 Optimising Academic Package Handling
*9 Streamlining Expense Management with ‘Splitter’
*10 Revolutionising Crowdfunding with CrowdContract
*11 Ekart: A Microservices-Driven E-Commerce Platform
*12 Optimising TA Management with DevOps
*13 Qubejudge: A Pluggable Code Execution Platform
*14 Revolutionising Food Courts with BAWARCHI
*15 Transforming Idle Lands with AutoSpot
*16 Enhancing Gameplay with DevOps and Machine Learning
Index
* Available online About the Author
Dr. B. Thangaraju is a professor at the International Institute of Information Technology, Bangalore (IIITB), with over 28 years of experience in Operating Systems Internals, Linux System and Kernel Programming, Embedded and Real-Time Linux, Linux System Administration, and DevOps. Throughout his distinguished career, Dr. Thangaraju has held key positions in academia and industry, including the Head of the Architects Team at Talent Transformation, Wipro Technologies, Bangalore, India.
There are no comments on this title.