万本电子书0元读

万本电子书0元读

顶部广告

Practical DevOps电子书

售       价:¥

1人正在读 | 0人评论 9.8

作       者:Joakim Verona

出  版  社:Packt Publishing

出版时间:2018-05-30

字       数:28.2万

所属分类: 进口书 > 外文原版书 > 电脑/网络

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
Understand the benefits of DevOps and continuous delivery and see how they support the agile software development process About This Book ? Learn how DevOps can accelerate your entire software development life cycle ? Improve your organization's performance to ensure the smooth production of software and services ? Get hands-on experience in using efficient DevOps tools to better effect Who This Book Is For If you're a developer or system administrator looking to take on larger responsibilities and understand how the infrastructure that builds today's enterprises works, this is the book for you. This book will also help you greatly if you're an operations worker who would like to better support developers. You do not need any previous knowledge of DevOps to understand the concepts in this book. What You Will Learn ? Understand how all deployment systems fit together to form a larger system ? Set up and familiarize yourself with all the tools you need to be efficient with DevOps ? Design an application suitable for continuous deployment systems with DevOps in mind ? Store and manage your code effectively using Git, Gerrit, Gitlab, and more ? Configure a job to build a sample CRUD application ? Test your code using automated regression testing with Jenkins Selenium ? Deploy your code using tools such as Puppet, Ansible, Palletops, Chef, and Vagrant In Detail DevOps is a practical field that focuses on delivering business value as efficiently as possible. DevOps encompasses all code workflows from testing environments to production environments. It stresses cooperation between different roles, and how they can work together more closely, as the roots of the word imply—Development and Operations. Practical DevOps begins with a quick refresher on DevOps and continuous delivery and quickly moves on to show you how DevOps affects software architectures. You'll create a sample enterprise Java application that you’'ll continue to work with through the remaining chapters. Following this, you will explore various code storage and build server options. You will then learn how to test your code with a few tools and deploy your test successfully. In addition to this, you will also see how to monitor code for any anomalies and make sure that it runs as expected. Finally, you will discover how to handle logs and keep track of the issues that affect different processes. By the end of the book, you will be familiar with all the tools needed to deploy, integrate, and deliver efficiently with DevOps. Style and approach This book is primarily a technical guide to DevOps with practical examples suitable for people who like to learn by implementing concrete working code.
目录展开

Title Page

Copyright and Credits

Practical DevOps Second Edition

Packt Upsell

Why subscribe?

PacktPub.com

Contributors

About the author

About the reviewer

Packt is searching for authors like you

Preface

Who this book is for

What this book covers

To get the most out of this book

Download the example code files

Download the color images

Conventions used

Get in touch

Reviews

Introducing DevOps and Continuous Delivery

Introducing DevOps

How fast is fast?

The Agile wheel of wheels

Beware the cargo cult Agile fallacy

DevOps and ITIL

Summary

A View from Orbit

The DevOps process and CD – an overview

The developers

The Revision Control System

The build server

The artifact repository

Package managers

Test environments

Staging/production

Release management

Scrum, Kanban, and the delivery pipeline

Wrapping up – a complete example

Identifying bottlenecks

Summary

How DevOps Affects Architecture

Introducing software architecture

The monolithic scenario

The Twelve Factors

Factor 1 – code base

Factor 2 – dependencies

Factor 3 – config

Factor 4 – backing services

Factor 5 – build, release, run

Factor 6 – processes

Factor 7 – port binding

Factor 8 – concurrency

Factor 9 – disposability

Factor 10 – dev/prod parity

Factor 11 – logs

Factor 12 – admin processes

Architecture rules of thumb

The separation of concerns

The principle of cohesion

Coupling

Back to the monolithic scenario

A practical example

Three-tier systems

The presentation tier

The logic tier

The data tier

Handling database migrations

Rolling upgrades

Hello world in Liquibase

The changelog file

The pom.xml file

Manual installation

Microservices

Interlude – Conway's law

How to keep service interfaces forward compatible

Microservices and the data tier

DevOps, architecture, and resilience

Summary

Everything is Code

The need for source code control

The history of source code management

Roles and code

Which source code management system?

A word about source code management system migrations

Choosing a branching strategy

Branching problem areas

Artifact version naming

Choosing a client

Setting up a basic Git server

Shared authentication

Hosted Git servers

Large binary files

Trying out different Git server implementations

Docker intermission

Gerrit

Installing the git-review package

The value of history revisionism

The pull request model

GitLab

Summary

Building the Code

Why do we build code?

The many faces of build systems

The Jenkins build server

Managing build dependencies

The final artifact

Cheating with FPM

Continuous Integration

Continuous Delivery

Jenkins plugins

The host server

Build slaves

Software on the host

Triggers

Job chaining and build pipelines

A look at the Jenkins filesystem layout

Build servers and Infrastructure as Code

Building by dependency order

Build phases

Alternative build servers

Collating quality measures

About build status visualization

Taking build errors seriously

Robustness

Summary

Testing the Code

Manual testing

Pros and cons with test automation

Unit testing

xUnit in general and JUnit in particular

A JUnit example

Mocking

Test coverage

Automated integration testing

Docker in automated testing

Arquillian

Performance testing

Automated acceptance testing

Automated GUI testing

Integrating Selenium tests in Jenkins

JavaScript testing

Testing backend integration points

Test-driven development

REPL-driven development

A complete test automation scenario

Manually testing our web application

Running the automated test

Finding a bug

Test walkthrough

Handling tricky dependencies with Docker

Summary

Deploying the Code

Why are there so many deployment systems?

Configuring the base OS

Describing clusters

Delivering packages to a system

Virtualization stacks

Executing code on the client

A note about the exercises

The Puppet master and Puppet agents

Ansible

Deploying with Chef

Deploying with SaltStack

Salt versus Ansible versus Puppet execution models

Vagrant

Deploying with Docker

Comparison tables

Cloud solutions

AWS

Azure

Summary

Monitoring the Code

Nagios

Munin

Ganglia

Graphite

Log handling

Client-side logging libraries

The ELK stack

Summary

Issue Tracking

What are issue trackers used for?

Some examples of workflows and issues

What do we need from an issue tracker?

Problems with issue tracker proliferation

All the trackers

Bugzilla

Trac

Redmine

The GitLab issue tracker

Jira

Summary

The Internet of Things and DevOps

Introducing the IoT and DevOps

The future of the IoT according to the market

Machine-to-machine communication

IoT deployment affects software architecture

IoT deployment security

Okay, but what about DevOps and the IoT again?

A hands-on lab with an IoT device for DevOps

Summary

Other Books You May Enjoy

Leave a review - let other readers know what you think

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部