5. Software delivery on the cloud
● Virtual Machine
● Software Defined Networks
● Software defined Storages
● API/GUI
● AWS、Google Cloud Platform 、Azure、
OpenStack
6. Configuration management
● Configure an OS including the user, group, and
system libraries, and also manages multiple
servers that keep consistent with the desired
state or configuration if we replace the server.
● Puppet / SaltStack / Ansible
Script Language Action
Configuration
Management
State
7. Continuous Integration / Continuous
Delivery
Continuous Integration
VCS Build Server
Testing
Automation
Tools
Continuous Delivery
Continuous Integration
VCS Build Server
Testing
Automation
Tools
Deploy
Server
8. Infrastructure as Code
● Infrastructure as code is the process of managing and
provisioning computer data centers through
machine-readable definition files, rather than physical
hardware configuration.
● Use the configuration management tool helps to automate
the setup cloud infrastructure by configuration file
9. Principles of Infrastructure as Code
● Systems Can Be Easily Reproduced
● Systems Are Consistent
● Design Is Always Changing
10. Immutable Infrastructure
● Servers are never modified after they're
deployed. If something needs to be updated,
fixed, or modified in any way, new servers built
from a common image with the appropriate
changes are provisioned to replace the old
ones.
● Easy to upgrade / downgrade.
11. Immutable Infrastructure
● System Infrastructure is divided into "data" and
"other".
● "Other" are replaced at every deployment.
● "Other" are modifed with version controll.
● "Other" include “config”, “program”,
“environment”.
13. Blue-green deployments
● a technique that reduces downtime and risk by
running two identical production environments
called Blue and Green.
Service
Pod: v1 Pod: v1
upgrade
Pod: v2 Pod: v2
Service
Pod: v1 Pod: v1 Pod: v2 Pod: v2
14. Canary deployment
● slowly rolling out the change to a small subset
of users before rolling it out to the entire
infrastructure
Service
Pod: v1 Pod: v1
Service
Pod: v1 Pod: v2
Service
Pod: v2 Pod: v2
upgrade upgrade
15. Microservices
● an architectural style that structures an application as a
collection of loosely coupled services, which implement
business capabilities.
● OpenStack
17. Physical delivery
● Cobbler / TripleO for installing OS
● Ansible / Puppet for installation / configurement
● Supervisord / Systemd for process
management
18. Virtual Machine / IaaS
● Ansible / Puppet for installation / configurement
● Supervisord / Systemd for process
management
19. Docker
● Easy to use container
● Dockerfile (version control)
● Single Host