This document discusses challenges of continuous delivery in a private datacenter. It notes that organizational structures can constrain system designs. It also lists some successful practices like automating processes, using infrastructure as code, and increasing collaboration between teams. The document outlines challenges around legacy systems, silos between teams, infrequent releases, and regulatory burdens. It emphasizes automating the delivery pipeline for both applications and infrastructure.
3. “organizations which design
systems ... are constrained to
produce designs which are
copies of the communication
structures of these organizations
- M. Conway
4. test
dev
devops
CC
git
nexus
build (CI) Dev Test QA Prod
nexus
pulp
katello
env
env
env
env
env
env
env
env
predictibility
automation
promotion
artifacts
CD blueprint
.
.
.
.
.
.
.
.
.
5. Successful Practices for
Continuous Delivery
- by Nathen Harvey
- Manual process
- Legacy systems and tools
- Organizational silos
- Infrequent large release
- Regulatory burdens
- ‘‘
- Automate
- Infrastructure as Code
- Increase collaboration
- CD of infrastructure and apps.
- Compliance at velocity
17. distribution
... the process of making a product or service available for use or
consumption by a consumer or business user
18. Summary
Challenges
- inventory of INs and OUTs
- limited set of artefact types
- artefact warehouse management
- containerize everything
19. Challenges on
Versioning and
Packaging and
Docker Images
- Use OS (distro) package manager
- Enforce semver
- know your upstream versions:
docker-v1.11.2-1ubuntu2.1
<app>-v<upstream-version><groupId><buildId>
- Jail your apps
- Use data containers
- Use compositions (docker/rancher)
- Define your release trust model
- individuals
- each commit a release
24. Operations
Challenges
- FAIL is good. Trust the upgrade
button
- complexity gets bigger
- generates: lack of trust
- difficult to investigate
- .git/social becomes a core system
- focus is on scaling
- deployments as a non-event