Ambily K K
Hyderabad, India
Any source code or other supplementary material referenced by the author in this book is available to readers on GitHub via the books product page, located at www.apress.com/978-1-4842-6411-9 . For more detailed information, please visit www.apress.com/source-code .
ISBN 978-1-4842-6411-9 e-ISBN 978-1-4842-6412-6
https://doi.org/10.1007/978-1-4842-6412-6
Ambily K K 2020
This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed.
The use of general descriptive names, registered names, trademarks, service marks, etc. in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use.
The publisher, the authors and the editors are safe to assume that the advice and information in this book are believed to be true and accurate at the date of publication. Neither the publisher nor the authors or the editors give a warranty, expressed or implied, with respect to the material contained herein or for any errors or omissions that may have been made. The publisher remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Distributed to the book trade worldwide by Springer Science+Business Media LLC, 1 New York Plaza, Suite 4600, New York, NY 10004. Phone 1-800-SPRINGER, fax (201) 348-4505, e-mail orders-ny@springer-sbm.com, or visit www.springeronline.com. Apress Media, LLC is a California LLC and the sole member (owner) is Springer Science + Business Media Finance Inc (SSBM Finance Inc). SSBM Finance Inc is a Delaware corporation.
Introduction
DevOps is one of the mandatory elements of the entire IT spectrum, which integrates people, process, and technology with an objective of delivering value faster. At the same time, DevOps comes in many varieties with varying levels of understanding, which can be an obstacle for many implementations. In this book, we will explore the various concepts of DevOps and take you on a DevOps journey using Azure DevOps. Well look at the end-to-end process of DevOps implementation using Azure DevOps.
Specifically, the following are the topics covered:
Project management including user and permission management
Requirement management
Version control management
Test management
Build automation and release management
Test management
Continuous feedback
Also, we will discuss the current IT landscape and how we can leverage the benefits of DevOps in various areas such as support projects. Every concept will be covered from different perspectives, including a novice view, a DevOps developer view, a DevOps architect view, and a business view.
This book is intended for novices in DevOps who want to learn the concepts of DevOps across a modern application spectrum. Also, it provides enough information for DevOps engineers to fine-tune their skills in various aspects of DevOps.
Acknowledgments
Writing a book is harder than I thought and more rewarding than I could have ever imagined. Im grateful to my teachers, and Ive been lucky enough to have a lot of great teachers, but one in particular shaped the person I am today: Minu K K. My heartfelt thanks to him for being an inspiration throughout my life.
I am grateful to my loving husband, Rajeev, for all his support and caring. To my little children, Pranav and Pavitra: thank you for letting me spend time on writing.
A very special thanks to my mentor, Bala Peddigari, who inspired me to write articles and books.
Finally, to all those who have been part of my getting there: Smriti Srivastava, Matthew Moodie, Shrikant Vishwakarma, and Swapneelkumar Deshpande.
About the Author
Ambily K K
For more than a dozen years Ambily has worked on cloud adoption and accelerating software delivery through DevOps. As the head of Azure, DevOps, and UI practices at TCS HiTech Industry, she supports major public- and private-sector companies across the globe in their cloud journeys and DevOps implementations. Ambily blogs about her experiences and speaks at conferences to share what she has learned. You can find her blog at https://ambilykk.com/ .
About the Technical Reviewer
Swapneelkumar Deshpande
is a software engineer. He is a Microsoft Certified Professional and Microsoft Certified Trainer. Swapneel has been working and leading teams in various aspects of the software development life cycle for more than 20 years.
Ambily K K 2020
A. K K Azure DevOps for Web Developers https://doi.org/10.1007/978-1-4842-6412-6_1
1. DevOps Basics and Variations
Software development processes and the release requirements can change over time in order to continue bringing value to customers and gaining market adoption. To scale up and get some early feedback, many organizations have adopted a frequent release methodology for new features or defect fixes. These releases are deployed to the production system as often as once a week, and sometimes they are even once a day, once an hour, or even every ten seconds. To maintain this edge in the market or gain this quick feedback cycle, companies are adopting DevOps practices such as continuous delivery and continuous deployment. In this chapter, you will get an introduction to DevOps concepts and practices.
Software Development
The software development industry gradually adopted the agile model after many years of following the waterfall model. The agile development model provides the ability to adapt to changing requirements, and it offers better collaboration between teams and improved productivity. In a waterfall model, application development is done as a sequential operation, and the application is released at the end of the project. Sometimes, though, the development process takes a long time to complete, and the relevance of lot of features envisioned at the start may not be useful anymore. Moreover, this approach lacks the end-user feedback loop, the expectations of the end user and any feedback will be received only after the entire development/deployment is complete.