DevOps: Continuous Delivery, Integration, and Deployment with DevOps - Sricharan Vadapalli - E-Book

DevOps: Continuous Delivery, Integration, and Deployment with DevOps E-Book

Sricharan Vadapalli

0,0
31,19 €

-100%
Sammeln Sie Punkte in unserem Gutscheinprogramm und kaufen Sie E-Books und Hörbücher mit bis zu 100% Rabatt.

Mehr erfahren.
Beschreibung

DevOps is the most widely used software engineering culture and practice that aim sat software development and operation. Continuous integration is a cornerstone technique of DevOps that merges software code updates from developers into a shared central mainline.
This book takes a practical approach and covers the tools and strategies of DevOps. It starts with familiarizing you with DevOps framework and then shows how toper form continuous delivery, integration, and deployment with DevOps. You will explore DevOps process maturity frameworks and progression models with checklist templates for each phase of DevOps. You will also be familiar with agile terminology, methodology, and the benefits accrued by an organization by adopting it. You will also get acquainted with popular tools such as Git, Jenkins ,Maven, Gerrit, Nexus, Selenium, and so on.You will learn configuration, automation, and the implementation of infrastructure automation (Infrastructure as Code) with tools such as Chef and Ansible.

This book is ideal for engineers, architects, and developers, who wish to learn the core strategies of DevOps.

This book is embedded with useful assessments that will help you revise the concepts you have learned in this book. This book is repurposed for this specific learning experience from material from Packt's Hands-on DevOps by Sricharan Vadapalli.

Das E-Book können Sie in Legimi-Apps oder einer beliebigen App lesen, die das folgende Format unterstützen:

EPUB
MOBI

Seitenzahl: 100

Veröffentlichungsjahr: 2018

Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



Table of Contents

DevOps: Continuous Delivery, Integration, and Deployment with DevOps
Credits
Meet Your Expert
Preface
What's in It for Me?
What Will I Get from This Book?
Prerequisites
1. Introduction to DevOps
DevOps application - business scenarios
Business drivers for DevOps adoption to big data
Data explosion
Cloud computing
Big data
Data science and machine learning
In-memory computing
Planning the DevOps strategy
Benefits of DevOps
Summary
Assessments
2. DevOps Framework
DevOps Process
DevOps Best Practices
DevOps Process
Source Code Management
Code Review
Configuration Management
Build Management
Artifacts Repository Management
Release Management
Test Automation
Continuous Integration
Continuous Delivery
Continuous Deployment
Infrastructure as Code
Routine Automation
Key Application Performance Monitoring/Indicators
DevOps Frameworks
DevOps Maturity Life Cycle
DevOps Maturity Map
DevOps Progression Framework/Readiness Model
DevOps Maturity Checklists
Agile Framework for DevOps Process Projects
Agile Ways of Development
Summary
Assessments
3. DevOps – Continuous Integration and Delivery
Best Practices for CI/CD
Jenkins Setup
Prerequisites to Install Jenkins
Standalone Installation
Linux System Installation on Ubuntu
Git (SCM) Integration with Jenkins
Integrating GitHub with Jenkins
Maven (Build) Tool Integration with Jenkins
Building Jobs with Jenkins
Source Code Review – Gerrit
Installation of Gerrit
Repository Management
Testing with Jenkins
Setting up Unit Testing
Automated Test Suite
Continuous Delivery- Build Pipeline
Jenkins Features
Security in Jenkins
Summary
Assessments
4. DevOps Continuous Deployment
Chef
Chef Landscape Components
Chef Server
Features of Chef Server
Chef Client on nodes
Ohai
Workstations
Chef Repo
Extended Features of Chef
Habitat
InSpec
Chef Automate Workflow
Compliance
Ansible
Prominent Features
Benefits of Ansible
Ansible Terminology, Key Concepts, Workflow, and Usage
CMDB
Playbooks
Modules
Inventory
Plugins
Ansible Tower
Ansible Vault
Ansible Galaxy
Testing Strategies with Ansible
Monitoring
Splunk
Nagios Monitoring Tool for Infrastructure
Nagios – Enterprise Server and Network Monitoring Software
Integrated Dashboards for Network Analysis, Monitoring, and Bandwidth
Summary
Assessments
A. Assessment Answers
Lesson 1: Introduction to DevOps
Lesson 2: DevOps Framework
Lesson 3: DevOps - Continuous Integration and Delivery
Lesson 4: DevOps Continuous Deployment

DevOps: Continuous Delivery, Integration, and Deployment with DevOps

DevOps: Continuous Delivery, Integration, and Deployment with DevOps

Copyright © 2018 Packt Publishing

All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.

Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.

Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.

First published: March 2018

Production reference: 1080318

Published by Packt Publishing Ltd.

Livery Place, 35 Livery Street

Birmingham B3 2PB, UK.

ISBN: 978-1-78913-299-1

www.packtpub.com

Credits

This book is a blend of text and quizzes, all packaged up keeping your journey in mind. It includes content from the following Packt product:

Hands-on DevOps by Sricharan Vadapalli

Meet Your Expert

We have the best works of the following esteemed author to ensure that your learning journey is smooth:

Sricharan Vadapalli is an Information Technology leader with over 2 decades of experience in leading IT strategy and developing Next Generation IT solutions. Passionate with technology, build practices around DevOps, Big Data, cloud, SAP HANA and EIM (Enterprise Information Management) associated with tech startups, instrumental in devising Go-Market strategy, strong proponent of open source tools adoption, microservices, and containers. Played leadership roles with MNC's such as TCS, Infosys, CSC, Virtusa Polaris, handled fortune client engagements across multiple domains such as BSFI, retail, telecom and manufacturing.

Preface

This book is about DevOps which is the most widely used software engineering culture and practice that aims at software development and operation. Continuous integration is a cornerstone technique of DevOps that merges software code updates from developers into a shared central mainline.

So, if you want to implement the strategy of DevOps, you are in the right path.

What's in It for Me?

Maps are vital for your journey, especially when you're holidaying in another continent. When it comes to learning, a roadmap helps you in giving a definitive path for progressing towards the goal. So, here you're presented with a roadmap before you begin your journey.

This book is meticulously designed and developed in order to empower you with all the right and relevant information on DevOps. We've created this Learning Path for you that consists of four lessons:

Lesson 1, Introduction to DevOps, focuses on business trends, drivers, market propellers of evolution, and adoption of DevOps. The key technological concepts are introduced for big data, cloud, data sciences, and in-memory computing. You will also get to know DevOps application scenarios and the benefits of adoption for an organization.

Lesson 2, DevOps Framework, covers source code management, build, repository, release managements, and test automation. Continuous integration, delivery, deployment is also covered along with infrastructure automation for configuration (Infrastructure as Code), application monitoring, and so on.

Lesson 3, DevOps – Continuous Integration and Delivery, describes the CI/CD methodology with open source popular tools such as Git, Maven, Gerrit, Nexus, Selenium, and Jenkins. You will also learn different tools and plugins compatible with Jenkins.

Lesson 4, DevOps Continuous Deployment, shows the popular continuous deployment tools Ansible and Chef; their advanced features such as Habitat, Automate, and Compliance for security. You will go through the core components, architecture, and terminology of Chef, cookbooks knife, Playbooks, and towers. You will also understand how to improve the code quality by using continuous monitoring tools such as Splunk and Nagios.

What Will I Get from This Book?

Get familiar with life cycle models, maturity states, progression and best practices of DevOps frameworksLearn to set up Jenkins and integrate it with GitKnow how to build jobs and perform testing with JenkinsImplement infrastructure automation (Infrastructure as Code) with tools such as Chef and AnsibleUnderstand continuous monitoring process with tools such as Splunk and NagiosLearn how Splunk improves the code quality

Prerequisites

This book is for engineers, architects, and developers, who wish to learn the core strategies of DevOps. Some of the prerequisites that is required before you begin this book are:

Prior knowledge on fundamentals of software development life cycle and systemsWorking knowledge of Linux commands

Chapter 1. Introduction to DevOps

In the traditional approach to application development and maintenance, multiple stakeholders, departments, groups, and vendors are involved in the overall software development life cycle (SDLC). Most of us are familiar with the stages of application life cycle management: the business requirements are gathered by a business analyst, then developed by the development team (or could have been outsourced), and tested by QA teams (also could have been outsourced) for functionality and fitness for purpose. Performance and stress testing were also performed in applicable scenarios, by appropriate groups with relevant tools. Then the production deployment process, with a checklist and approvals, was managed by the IT teams at the organization, followed by monitoring and support by maintenance teams. And we notice that each stage of the maturity cycle, from functionality development to usability and maintenance, is managed in silos, by independent teams, departments, processes, and tools. This approach is often fragmented by techniques, frameworks, processes, people, and tools impacting the final product in terms of features, cost, schedule, quality, performance, and other administrative overheads such as interfacing and integration between vendors. Also, in this method the maintenance, support costs, and skill needs are often overlooked. However, both from application life cycle and business points of view, maintenance and support activities are key and important to assess, evaluate, and estimate well in advance.

In this lesson, we will cover the following topics:

Introduction to DevOpsBusiness application of DevOps.Business drivers/market trendsDevOps strategyBenefits of DevOps

Many technological innovations have taken place to challenge the traditional method of IT management in almost every segment. The technological advances and changes are quite profound, rapid, and often intermingled, encompassing multiple fields such as agile methodology, DevOps, big data, cloud, and so on. A comprehensive and holistic approach will undoubtedly be rewarding and derive maximum value for organizations. Many institutions have already embarked on this journey towards the future, adopting these technologies.

The pre-DevOps software development challenges are reluctant to change in systems; deployments fraught with risk, lack of consistency across environments (it works on my machine syndrome), the impact of silos--toss problems across the wall such as teams resulting in duplication of effort, skill sets, and in-fighting. To mitigate the mentioned issues and bridge this gap DevOps emerged as a popular choice.

DevOps (Development plus Operations) has recently taken center stage in the SDLC. DevOps offers process frameworks augmented with open source tools to integrate all the phases of the application life cycle, and ensure they function as a cohesive unit. It helps to align and automate the process across the phases of development, testing, deployment, and support. It includes best practices such as code repositories, build automation, continuous deployment, and others.

DevOps adoption for systems including big data systems and projects is a cultural shift compared to traditional development cycles. The purpose of this book is to put forth the concepts and adoption strategy for an organization, covering the technology areas of DevOps, big data, cloud, data science, in-memory technology, and others. Adopting and adhering to DevOps practices will be rewarding for any organization and allow it to improve on its performance and efficiency.

Acceptance of open source tools for each segment of IT functionality, their popularity, and versatility, is increasing day by day, across the world. As a matter of fact, many new tool variants have been introduced to the market for each segment. The open source tools for DevOps are major contributors to the success of DevOps' adoption in the market by institutions, which is discussed in detail in coming sections.

As we can see, across industries DevOps adoption has seen steady growth year on year:

DevOps penetration in enterprises shows a healthy trend, as per the following figure:

DevOps application - business scenarios

Application of DevOps varies for multiple scenarios, with accrued benefits as listed:

Automation of development cycle: Business needs are met with minimal manual intervention, and a developer can run a build with a choice of open tools through a code repository; the QA team can create a QA system as a replica, and deploy it to production seamlessly and quickly.Single version of truth - source code management: There are multiple versions of the code, but it is difficult to ascertain the appropriate code for the purpose. We lack a single version of the truth. Code review feedback is through emails and not recorded, leading to confusion and rework.Consistent configuration management: We develop, test, and build source code on different systems. Validating the platforms and compatibility versions of dependencies is manual and error-prone. It's really challenging to ensure all the systems speak the same language, and have the same versions of the tools, compilers, and so on. Our code works fine on build systems but doesn't when moved to production systems, causing embarrassment regarding business deliverables, and cost overheads to react.Product readiness to markets: We have a process to develop code, test, and build through defined timelines. There are many manual checks and validations in the process; the integrations between different groups cause our commitments and delivery dates to be unpredictable. We wish to know how close our product is to delivery and its quality periodically, to plan in advance rather than being reactive.Automation of manual processes