Index
A
- Agile development
- cycles / The Agile wheel of wheels
- alternative build servers
- about / Alternative build servers
- Ansible
- about / Ansible
- implementing / Ansible
- versus Puppet / Salt versus Ansible versus Puppet versus PalletOps execution models
- Apache Commons Logging / Client-side logging libraries
- apache log4net
- about / Client-side logging libraries
- appender in log4j
- about / Client-side logging libraries
- architecture rules
- about / Architecture rules of thumb
- separation of concerns / The separation of concerns
- principle of cohesion / The principle of cohesion
- coupling / Coupling
- automated acceptance testing
- about / Automated acceptance testing
- automated GUI testing
- about / Automated GUI testing
- automated integration testing
- about / Automated integration testing
- Docker / Docker in automated testing
- Arquillian / Arquillian
- AWS
- about / AWS
- Azure
- about / Azure
B
- backend integration points
- testing / Testing backend integration points
- behavior-driven development
- about / Automated acceptance testing
- box / Vagrant
- branching problem
- defining / Branching problem areas
- branching strategy
- selecting / Choosing a branching strategy
- Bugzilla
- build chain
- about / Job chaining and build pipelines
- build dependencies
- managing / Managing build dependencies
- build errors
- taking seriously / Taking build errors seriously
- build phases
- about / Build phases
- build servers
- build slaves
- about / Build slaves
- build status visualization
- about / About build status visualization
- build systems
- faces / The many faces of build systems
C
- cargo cult Agile fallacy / Beware the cargo cult Agile fallacy
- Chef
- about / Deploying with Chef
- deploying with / Deploying with Chef
- client
- selecting / Choosing a client
- client-side logging libraries
- log4j / Client-side logging libraries
- logback / Client-side logging libraries
- cloud solutions
- about / Cloud solutions
- code
- defining / Roles and code
- building / Why do we build code?
- executing on client / Executing code on the client, A note about the exercises
- comparison tables
- about / Comparison tables
- Concurrent Versions System (CVS)
- Continuous Delivery
- about / Continuous Delivery
- Continuous Delivery, DevOps process
- about / The DevOps process and Continuous Delivery – an overview
- developers / The developers
- revision control system / The revision control system
- build server / The build server
- artifact repository / The artifact repository
- package managers / Package managers
- test environments / Test environments
- staging/production / Staging/production
- Continuous Integration
- about / Continuous Integration
- Continuous Integration cycle / The Agile wheel of wheels
- Conway's Law
- about / Interlude – Conway's Law
- cross-compiling / Build slaves
- CRUD (create, read, update, and delete) / Three-tier systems
D
- database migrations
- handling / Handling database migrations
- upgrades, rolling / Rolling upgrades
- hello world, in Liquibase / Hello world in Liquibase
- changelog file / The changelog file
- pom.xml file / The pom.xml file
- data tier
- about / The data tier
- delivery pipeline
- dependency order
- building by / Building by dependency order
- deployment systems
- about / Why are there so many deployment systems?
- base OS, configuring / Configuring the base OS
- clusters, describing / Describing clusters
- packages, delivering to system / Delivering packages to a system
- DevOps
- about / Introducing DevOps, DevOps, architecture, and resilience
- overview / Introducing DevOps
- fast turnaround processes / How fast is fast?
- benefit, for Agile cycles / The Agile wheel of wheels
- and ITIL / DevOps and ITIL
- architecture / DevOps, architecture, and resilience
- resilience / DevOps, architecture, and resilience
- DevOps process
- Continuous Delivery / The DevOps process and Continuous Delivery – an overview
- example / Wrapping up – a complete example
- bottlenecks, identifying / Identifying bottlenecks
- distributed version control systems
- advantages / Which source code management system?
- Bazaar / Which source code management system?
- Mercurial / Which source code management system?
- Docker
- defining / Docker intermission
- about / Docker intermission
- URL / Docker intermission
- deploying with / Deploying with Docker
- Docker Swarm / Deploying with Docker
E
- Elasticsearch
- about / The ELK stack
- ELK (Elasticsearch, Logstash and Kibana) stack
- about / Log handling
- ELK stack
- about / The ELK stack
- Logstash / The ELK stack
- Elasticsearch / The ELK stack
- Kibana / The ELK stack
- working / The ELK stack
- Ergodox
F
- feature toggling
- about / Branching problem areas
- final artifact
- about / The final artifact
- FLOSS (free/libre/open source software)
- about / Jira
- FPM
- cheating with / Cheating with FPM
G
- Ganglia
- Ganglia monitoring solution
- Gerrit
- defining / Gerrit
- URL / Gerrit
- git-review package, installing / Installing the git-review package
- history, defining / The value of history revisionism
- Gherkin
- about / Automated acceptance testing
- Git
- Git Annex
- about / Large binary files
- URL / Large binary files
- Git flow
- about / Choosing a branching strategy
- GitLab
- GitLab and GitHub
- features / Hosted Git servers
- GitLab issue tracker
- about / The GitLab issue tracker
- Git LFS
- about / Large binary files
- Git server
- setting up / Setting up a basic Git server
- implementations / Trying out different Git server implementations
- Gmetad
- about / Ganglia
- Gmond
- about / Ganglia
- Graphite
H
- host
- software on / Software on the host
- hosted Git servers
- defining / Hosted Git servers
- host server
- about / The host server
- hotfix branch
- about / Choosing a branching strategy
- hypervisor
- about / Virtualization stacks
I
- information radiators
- about / About build status visualization
- integration testing
- about / Continuous Integration
- Internet of Things (IoT)
- IoT deployment
- affecting software architecture / IoT deployment affects software architecture
- security / IoT deployment security
- IoT device for DevOps
- hands-on lab / A hands-on lab with an IoT device for DevOps
- issue tracker
- about / What are issue trackers used for?
- considerations / What do we need from an issue tracker?
- proliferation problem / Problems with issue tracker proliferation
- Bugzilla / Bugzilla
- Trac / Trac
- Redmine / Redmine
- GitLab issue tracker / The GitLab issue tracker
- Jira / Jira
- issue tracker systems
- about / All the trackers
- reference / All the trackers
J
- JavaScript testing
- about / JavaScript testing
- Jenkins build server
- about / The Jenkins build server
- Jenkins file system layout
- Jenkins plugins
- about / Jenkins plugins
- Jira
- about / Jira
- job chaining
- about / Job chaining and build pipelines
- JUnit
- in general / JUnit in general and JUnit in particular
- in particular / JUnit in general and JUnit in particular
- test runner / JUnit in general and JUnit in particular
- test case / JUnit in general and JUnit in particular
- test fixture / JUnit in general and JUnit in particular
- test suites / JUnit in general and JUnit in particular
- test execution / JUnit in general and JUnit in particular
- test result formatter / JUnit in general and JUnit in particular
- assertion / JUnit in general and JUnit in particular
- example / A JUnit example
K
- Kanban
- Kanban cycle / The Agile wheel of wheels
- Kibana
- about / The ELK stack
- Kubernetes / Deploying with Docker
L
- large binary files
- about / Large binary files
- log4c
- about / Client-side logging libraries
- log4j
- about / Client-side logging libraries
- log4js
- about / Client-side logging libraries
- logback
- about / Client-side logging libraries
- log handling
- about / Log handling
- logic tier
- about / The logic tier
- Logstash
- about / The ELK stack
M
- machine-to-machine communication
- about / Machine-to-machine communication
- manual installation
- about / Manual installation
- manual testing
- about / Manual testing
- microservices
- about / Microservices
- and data tier / Microservices and the data tier
- mocking
- about / Mocking
- monolithic scenario
- Munin
- Munin monitoring solution
- exploring / Munin
N
- Nagios
- about / Nagios
- Nagios monitoring solution
- NodeMCU Amica / A hands-on lab with an IoT device for DevOps
- NUnit
O
- omnibus / Deploying with Chef
P
- PalletOps
- paravirtualization
- about / Virtualization stacks
- performance testing
- about / Performance testing
- PHP-based web frontend
- about / Ganglia
- pipeline
- about / Job chaining and build pipelines
- practical example
- about / A practical example
- presentation tier
- about / The presentation tier
- printf-style debugging
- about / Log handling
- Program Increments / The Agile wheel of wheels
- pull request model
- defining / The pull request model
- Puppet
- versus PalletOps / Salt versus Ansible versus Puppet versus PalletOps execution models
- Puppet agents
- Puppet ecosystem
- Puppet master
Q
- quality measures
- collating / Collating quality measures
R
- rebasing
- about / The value of history revisionism
- Redmine
- release management
- about / Release management
- REPL-driven development
- about / REPL-driven development
- robustness
- about / Robustness
- roles
- defining / Roles and code
- RRD (round-robin database)
S
- Salt
- versus Ansible / Salt versus Ansible versus Puppet versus PalletOps execution models
- SaltStack
- about / Deploying with SaltStack
- deploying with / Deploying with SaltStack
- Scrum
- Scrum Sprint cycles / The Agile wheel of wheels
- Selenium tests
- integrating, in Jenkins / Integrating Selenium tests in Jenkins
- SemVer
- URL / Artifact version naming
- service interfaces
- maintaining forward compatible / How to keep service interfaces forward compatible
- shared authentication
- defining / Shared authentication
- Simple Logging Facade for Java (SLF4J) / Client-side logging libraries
- software architecture
- source code control
- need for / The need for source code control
- source code management
- history / The history of source code management
- examples / The history of source code management
- source code management system
- using / Which source code management system?
- migrations, defining / A word about source code management system migrations
- squashing
- about / The value of history revisionism
- Subversion
- SUnit
- System on a Chip (SoC) / Introducing the IoT and DevOps
T
- test-driven development (TDD)
- about / Test-driven development
- sequence of events / Test-driven development
- test automation
- test automation scenario
- about / A complete test automation scenario
- web application, manually testing / Manually testing our web application
- automated test, running / Running the automated test
- bug, finding / Finding a bug
- test walkthrough / Test walkthrough
- tricky dependencies, handling with Docker / Handling tricky dependencies with Docker
- test coverage
- about / Test Coverage
- three-tier systems
- about / Three-tier systems
- presentation tier / The presentation tier
- logic tier / The logic tier
- data tier / The data tier
- Tolerant Reader / How to keep service interfaces forward compatible
- Trac
- triggers
- about / Triggers
U
- unit testing
- cons / Unit testing
V
- Vagrant
- about / Vagrant
- version naming
- defining / Artifact version naming
- principles / Artifact version naming
- virtualization stacks
- about / Virtualization stacks
W
- workflow
- about / Job chaining and build pipelines
- workflows and issues
- examples / Some examples of workflows and issues
X
- xUnit