Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletter Hub
Free Learning
Arrow right icon
timer SALE ENDS IN
0 Days
:
00 Hours
:
00 Minutes
:
00 Seconds
Practical DevOps
Practical DevOps

Practical DevOps: Harness the power of DevOps to boost your skill set and make your IT organization perform better

Arrow left icon
Profile Icon joakim verona
Arrow right icon
$19.99 per month
Full star icon Full star icon Full star icon Full star icon Half star icon 4.7 (6 Ratings)
Paperback Feb 2016 240 pages 1st Edition
eBook
$27.98 $39.99
Paperback
$48.99
Subscription
Free Trial
Renews at $19.99p/m
Arrow left icon
Profile Icon joakim verona
Arrow right icon
$19.99 per month
Full star icon Full star icon Full star icon Full star icon Half star icon 4.7 (6 Ratings)
Paperback Feb 2016 240 pages 1st Edition
eBook
$27.98 $39.99
Paperback
$48.99
Subscription
Free Trial
Renews at $19.99p/m
eBook
$27.98 $39.99
Paperback
$48.99
Subscription
Free Trial
Renews at $19.99p/m

What do you get with a Packt Subscription?

Free for first 7 days. $19.99 p/m after that. Cancel any time!
Product feature icon Unlimited ad-free access to the largest independent learning library in tech. Access this title and thousands more!
Product feature icon 50+ new titles added per month, including many first-to-market concepts and exclusive early access to books as they are being written.
Product feature icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Product feature icon Thousands of reference materials covering every tech concept you need to stay up to date.
Subscribe now
View plans & pricing
Table of content icon View table of contents Preview book icon Preview Book

Practical DevOps

Chapter 2. A View from Orbit

The DevOps process and Continuous Delivery pipelines can be very complex. You need to have a grasp of the intended final results before starting the implementation.

This chapter will help you understand how the various systems of a Continuous Delivery pipeline fit together, forming a larger whole.

In this chapter, we will read about:

  • An overview of the DevOps process, a Continuous Delivery pipeline implementation, and the participants in the process
  • Release management
  • Scrum, Kanban, and the delivery pipeline
  • Bottlenecks

The DevOps process and Continuous Delivery – an overview

There is a lot of detail in the following overview image of the Continuous Delivery pipeline, and you most likely won't be able to read all the text. Don't worry about this just now; we are going to delve deeper into the details as we go along.

For the time being, it is enough to understand that when we work with DevOps, we work with large and complex processes in a large and complex context.

An example of a Continuous Delivery pipeline in a large organization is introduced in the following image:

The DevOps process and Continuous Delivery – an overview

While the basic outline of this image holds true surprisingly often, regardless of the organization. There are, of course, differences, depending on the size of the organization and the complexity of the products that are being developed.

The early parts of the chain, that is, the developer environments and the Continuous Integration environment, are normally very similar.

The number and types of testing environments vary greatly...

Release management

We have so far assumed that the release process is mostly automatic. This is the dream scenario for people working with DevOps.

This dream scenario is a challenge to achieve in the real world. One reason for this is that it is usually hard to reach the level of test automation needed in order to have complete confidence in automated deploys. Another reason is simply that the cadence of business development doesn't always the match cadence of technical development. Therefore, it is necessary to enable human intervention in the release process.

A faucet is used in the following figure to symbolize human interaction—in this case, by a dedicated release manager.

Release management

How this is done in practice varies, but deployment systems usually have a way to support how to describe which software versions to use in different environments.

The integration test environments can then be set to use the latest versions that have been deployed to the binary artifact repository. The staging...

Scrum, Kanban, and the delivery pipeline

How does the Continuous Delivery pipeline that we have described in this chapter support Agile processes such as Scrum and Kanban?

Scrum focuses on sprint cycles, which can occur biweekly or monthly. Kanban can be said to focus more on shorter cycles, which can occur daily.

The philosophical differences between Scrum and Kanban are a bit deeper, although not mutually exclusive. Many organizations use both Kanban and Scrum together.

From a software-deployment viewpoint, both Scrum and Kanban are similar. Both require frequent hassle-free deployments. From a DevOps perspective, a change starts propagating through the Continuous Delivery pipeline toward test systems and beyond when it is deemed ready enough to start that journey. This might be judged on subjective measurements or objective ones, such as "all unit tests are green."

Our pipeline can manage both the following types of scenarios:

  • The build server supports the generation of the objective...

Wrapping up – a complete example

So far, we have covered a lot of information at a cursory level.

To make it more clear, let's have a look at what happens to a concrete change as it propagates through the systems, using an example:

  • The development team has been given the responsibility to develop a change to the organization's system. The change revolves around adding new roles to the authentication system. This seemingly simple task is hard in reality because many different systems will be affected by the change.
  • To make life easier, it is decided that the change will be broken down into several smaller changes, which will be tested independently and mostly automatically by automated regression tests.
  • The first change, the addition of a new role to the authentication system, is developed locally on developer machines and given best-effort local testing. To really know if it works, the developer needs access to systems not available in his or her local environment; in this...

Identifying bottlenecks

As is apparent from the previous example, there is a lot going on for any change that propagates through the pipeline from development to production. It is important for this process to be efficient.

As with all Agile work, keep track of what you are doing, and try to identify problem areas.

When everything is working as it should, a commit to the code repository should result in the change being deployed to integration test servers within a 15-minute time span.

When things are not working well, a deploy can take days of unexpected hassles. Here are some possible causes:

  • Database schema changes.
  • Test data doesn't match expectations.
  • Deploys are person dependent, and the person wasn't available.
  • There is unnecessary red tape associated with propagating changes.
  • Your changes aren't small and therefore require a lot of work to deploy safely. This might be because your architecture is basically a monolith.

We will examine these challenges further in the chapters...

The DevOps process and Continuous Delivery – an overview


There is a lot of detail in the following overview image of the Continuous Delivery pipeline, and you most likely won't be able to read all the text. Don't worry about this just now; we are going to delve deeper into the details as we go along.

For the time being, it is enough to understand that when we work with DevOps, we work with large and complex processes in a large and complex context.

An example of a Continuous Delivery pipeline in a large organization is introduced in the following image:

While the basic outline of this image holds true surprisingly often, regardless of the organization. There are, of course, differences, depending on the size of the organization and the complexity of the products that are being developed.

The early parts of the chain, that is, the developer environments and the Continuous Integration environment, are normally very similar.

The number and types of testing environments vary greatly. The production...

Left arrow icon Right arrow icon

Key benefits

  • Get to know the background of DevOps so you understand the collaboration between different aspects of an IT organization and a software developer
  • Improve your organization's performance to ensure smooth production of software and services
  • Deploy top-quality software and ensure software maintenance and release management with this practical guide

Description

DevOps is a practical field that focuses on delivering business value as efficiently as possible. DevOps encompasses all the flows from code through testing environments to production environments. It stresses the cooperation between different roles, and how they can work together more closely, as the roots of the word imply—Development and Operations. After a quick refresher to DevOps and continuous delivery, we quickly move on to looking at how DevOps affects architecture. You'll create a sample enterprise Java application that you’ll continue to work with through the remaining chapters. Following this, we explore various code storage and build server options. You will then learn how to perform code testing with a few tools and deploy your test successfully. Next, you will learn how to monitor code for any anomalies and make sure it’s running properly. Finally, you will discover how to handle logs and keep track of the issues that affect processes

Who is this book for?

This book is aimed at developers and system administrators who wish to take on larger responsibilities and understand how the infrastructure that builds today's enterprises works. This book is also great for operations personnel who would like to better support developers. You do not need to have any previous knowledge of DevOps.

What you will learn

  • Appreciate the merits of DevOps and continuous delivery and see how DevOps supports the agile process
  • Understand how all the systems fit together to form a larger whole
  • Set up and familiarize yourself with all the tools you need to be efficient with DevOps
  • Design an application that is suitable for continuous deployment systems with Devops in mind
  • Store and manage your code effectively using different options such as Git, Gerrit, and Gitlab
  • Configure a job to build a sample CRUD application
  • Test the code using automated regression testing with Jenkins Selenium
  • Deploy your code using tools such as Puppet, Ansible, Palletops, Chef, and Vagrant
  • Monitor the health of your code with Nagios, Munin, and Graphite
  • Explore the workings of Trac—a tool used for issue tracking

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Feb 16, 2016
Length: 240 pages
Edition : 1st
Language : English
ISBN-13 : 9781785882876
Vendor :
Docker
Concepts :
Tools :

What do you get with a Packt Subscription?

Free for first 7 days. $19.99 p/m after that. Cancel any time!
Product feature icon Unlimited ad-free access to the largest independent learning library in tech. Access this title and thousands more!
Product feature icon 50+ new titles added per month, including many first-to-market concepts and exclusive early access to books as they are being written.
Product feature icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Product feature icon Thousands of reference materials covering every tech concept you need to stay up to date.
Subscribe now
View plans & pricing

Product Details

Publication date : Feb 16, 2016
Length: 240 pages
Edition : 1st
Language : English
ISBN-13 : 9781785882876
Vendor :
Docker
Concepts :
Tools :

Packt Subscriptions

See our plans and pricing
Modal Close icon
$19.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
$199.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just $5 each
Feature tick icon Exclusive print discounts
$279.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just $5 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total $ 103.98
Learning Docker
$54.99
Practical DevOps
$48.99
Total $ 103.98 Stars icon

Table of Contents

11 Chapters
1. Introduction to DevOps and Continuous Delivery Chevron down icon Chevron up icon
2. A View from Orbit Chevron down icon Chevron up icon
3. How DevOps Affects Architecture Chevron down icon Chevron up icon
4. Everything is Code Chevron down icon Chevron up icon
5. Building the Code Chevron down icon Chevron up icon
6. Testing the Code Chevron down icon Chevron up icon
7. Deploying the Code Chevron down icon Chevron up icon
8. Monitoring the Code Chevron down icon Chevron up icon
9. Issue Tracking Chevron down icon Chevron up icon
10. The Internet of Things and DevOps Chevron down icon Chevron up icon
Index Chevron down icon Chevron up icon

Customer reviews

Top Reviews
Rating distribution
Full star icon Full star icon Full star icon Full star icon Half star icon 4.7
(6 Ratings)
5 star 66.7%
4 star 33.3%
3 star 0%
2 star 0%
1 star 0%
Filter icon Filter
Top Reviews

Filter reviews by




Mary Anne Thygesen Mar 18, 2016
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Nicely written book. I shared it with my DevOps class
Amazon Verified review Amazon
Danny Mar 31, 2017
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Quality book.
Amazon Verified review Amazon
Per Hedman Feb 17, 2016
Full star icon Full star icon Full star icon Full star icon Full star icon 5
This book provides an insightful overview of how to get started with DevOps.The author makes the specific components of DevOps understandable and easily accessible both for developers and operations. The book is littered with examples and practical solutions to real world problems.The book nicely summarised all the aspects of the field of DevOps. It was an easy read and I highly recommended for anyone whose interested in DevOps.This book is an excellent primer in the field!
Amazon Verified review Amazon
T. Cooke Jul 27, 2017
Full star icon Full star icon Full star icon Full star icon Full star icon 5
This book is a real eye-opener. I've been an IT professional for longer than I'd care to admit, most recently working outside the IT function - but engaged closely with IT colleagues - in a large business with complex internal and outsourced development and likewise infrastructure. While I recognise the philosophy/approach described in the book, I'd never come across most of the specific tools or appreciated how they can provide the sort of integrated approach described here. The book is high-level enough to explain the approach, interleaved with how-tos and examples that would give a flying start on actually implementing. Highly recommended.
Amazon Verified review Amazon
Ian Stirk Apr 26, 2016
Full star icon Full star icon Full star icon Full star icon Empty star icon 4
Hi,I have written a detailed chapter-by-chapter review of this book on www DOT i-programmer DOT info, the first and last parts of this review are given here. For my review of all chapters, search i-programmer DOT info for STIRK together with the book's title.This book aims to provide an introduction to DevOps from a practical perspective, how does it fare?DevOps is a skill increasingly in demand, it’s purpose is ‘...to make faster, more correct releases by bringing people working with different disciplines closer together.’The book is aimed at developers and system administrators. While no previous knowledge of DevOps is required, some background knowledge of Agile, Scrum, Kanban, Puppet etc is needed to get the most out of the book. It contains 210 working pages, spread over 10 chapters.Below is a chapter-by-chapter exploration of the topics covered.Chapter 1 Introduction to DevOps and Continuous DeliveryThe book opens with some history about DevOps, being a combination of the words ‘development’ and ‘operation’, it’s concerned with removing the wall between the two. It overlaps with Agile, automation and continuous delivery. The importance of communication, shared tools, cooperation between roles, and the meaning of waiting is discussed (waiting suggests something is wrong).The chapter continues with a look at the different cycles within Agile, including Scrum, and Kanban, explaining DevOps supports all cycles, and encourages cooperation between groups. Some examples of how DevOps benefits Agile cycles are given (e.g. faster regular deployments). The importance of doing Agile/DevOps for improved measurable results rather than just following the steps (i.e. cargo cults), is noted. DevOps aims to make interaction with new systems faster and easier, for everyone.The chapter ends with a brief look at how DevOps interacts with other ways of working. Typically, Agile or Lean frameworks work well with DevOps (since it came from Agile), however ITIL sometimes has problems, since it can be viewed as less flexible.This chapter provides a useful background about what DevOps is, where it came from, and how it interacts with other frameworks. The emphasis on interaction and communication is noted.The chapter is easy to read, well written, with useful diagrams, and helpful links to other chapters. It’s apparent that some knowledge of Agile, Scrum, Kanban, Puppet etc is needed to get the most out of the book. Perhaps these terms should have been defined here to ensure all reader are at the same level? I note Kanban is described in chapter 9. These traits apply to the whole of the book....ConclusionThis book aims to provide an introduction to DevOps from a practical perspective, and succeeds. The book is generally easy to read, well written, with useful diagrams, and helpful links to other chapters. The place of DevOps in the various stages of the Continuous Delivery pipeline is described well, and there are plenty of practical example problems and suggested solutions.It’s apparent that some background knowledge of Agile, Scrum, Kanban, Puppet etc is needed to get the most out of the book. It would have been useful to have defined some of these basic terms in Chapter 1, to ensure all readers are at the same assumed level of understanding.Some chapters, for example Chapter 3, have areas that aren’t cohesive, with subsections appearing without sufficient context or linkage.If you come from a Windows development/admin background you can expect a few more problems reading the text than if you’re from a Unix/Java background.Overall, this is a useful introduction and overview to DevOps.
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

What is included in a Packt subscription? Chevron down icon Chevron up icon

A subscription provides you with full access to view all Packt and licnesed content online, this includes exclusive access to Early Access titles. Depending on the tier chosen you can also earn credits and discounts to use for owning content

How can I cancel my subscription? Chevron down icon Chevron up icon

To cancel your subscription with us simply go to the account page - found in the top right of the page or at https://subscription.packtpub.com/my-account/subscription - From here you will see the ‘cancel subscription’ button in the grey box with your subscription information in.

What are credits? Chevron down icon Chevron up icon

Credits can be earned from reading 40 section of any title within the payment cycle - a month starting from the day of subscription payment. You also earn a Credit every month if you subscribe to our annual or 18 month plans. Credits can be used to buy books DRM free, the same way that you would pay for a book. Your credits can be found in the subscription homepage - subscription.packtpub.com - clicking on ‘the my’ library dropdown and selecting ‘credits’.

What happens if an Early Access Course is cancelled? Chevron down icon Chevron up icon

Projects are rarely cancelled, but sometimes it's unavoidable. If an Early Access course is cancelled or excessively delayed, you can exchange your purchase for another course. For further details, please contact us here.

Where can I send feedback about an Early Access title? Chevron down icon Chevron up icon

If you have any feedback about the product you're reading, or Early Access in general, then please fill out a contact form here and we'll make sure the feedback gets to the right team. 

Can I download the code files for Early Access titles? Chevron down icon Chevron up icon

We try to ensure that all books in Early Access have code available to use, download, and fork on GitHub. This helps us be more agile in the development of the book, and helps keep the often changing code base of new versions and new technologies as up to date as possible. Unfortunately, however, there will be rare cases when it is not possible for us to have downloadable code samples available until publication.

When we publish the book, the code files will also be available to download from the Packt website.

How accurate is the publication date? Chevron down icon Chevron up icon

The publication date is as accurate as we can be at any point in the project. Unfortunately, delays can happen. Often those delays are out of our control, such as changes to the technology code base or delays in the tech release. We do our best to give you an accurate estimate of the publication date at any given time, and as more chapters are delivered, the more accurate the delivery date will become.

How will I know when new chapters are ready? Chevron down icon Chevron up icon

We'll let you know every time there has been an update to a course that you've bought in Early Access. You'll get an email to let you know there has been a new chapter, or a change to a previous chapter. The new chapters are automatically added to your account, so you can also check back there any time you're ready and download or read them online.

I am a Packt subscriber, do I get Early Access? Chevron down icon Chevron up icon

Yes, all Early Access content is fully available through your subscription. You will need to have a paid for or active trial subscription in order to access all titles.

How is Early Access delivered? Chevron down icon Chevron up icon

Early Access is currently only available as a PDF or through our online reader. As we make changes or add new chapters, the files in your Packt account will be updated so you can download them again or view them online immediately.

How do I buy Early Access content? Chevron down icon Chevron up icon

Early Access is a way of us getting our content to you quicker, but the method of buying the Early Access course is still the same. Just find the course you want to buy, go through the check-out steps, and you’ll get a confirmation email from us with information and a link to the relevant Early Access courses.

What is Early Access? Chevron down icon Chevron up icon

Keeping up to date with the latest technology is difficult; new versions, new frameworks, new techniques. This feature gives you a head-start to our content, as it's being created. With Early Access you'll receive each chapter as it's written, and get regular updates throughout the product's development, as well as the final course as soon as it's ready.We created Early Access as a means of giving you the information you need, as soon as it's available. As we go through the process of developing a course, 99% of it can be ready but we can't publish until that last 1% falls in to place. Early Access helps to unlock the potential of our content early, to help you start your learning when you need it most. You not only get access to every chapter as it's delivered, edited, and updated, but you'll also get the finalized, DRM-free product to download in any format you want when it's published. As a member of Packt, you'll also be eligible for our exclusive offers, including a free course every day, and discounts on new and popular titles.