infra / cont delivery - 3rd party automation
Post on 02-Jun-2015
161 Views
Preview:
DESCRIPTION
TRANSCRIPT
Infra/Continuous deliveryMethods for automating 3rd party and
infrastural software
Automation methods
Automating the procedures for delivery of ‘ready-to-use’ infrastructure can be achieved using one or more of the following methods● Imaging● Playbook automation / CM● Software packaging● Contained applications
Automation methods - Imaging
OverviewImaging is the practice of pre-installing Operating System and the entire stack of required applications on a ‘prototype’ machine and packing an Image of that machine. Deployment is done by applying the image on a ‘bare’ machine of any type
Automation methods - Imaging
MethodsMost applications use a simple method of ‘Disk Cloning’ for packing a machine for future clone. Some applications use Backup mechanisms.The cloning procedure normally involved an automated boot environment on top of PXE or custom Boot/Clone mechanism
Automation methods - Imaging
Applications● OpenStack Glance● CloneZilla / DRBL● Ghost● Unix dd, tar, dump, rsync
Automation methods - Imaging
Pros● Solid, fully predicted outcome● Easy to maintain deployments● Little to none OS boundCons● Image updates are stacked● Images are storage/network inefficient
Automation methods - PBA / CM
OverviewPlayBook Automation describe the practice of listing the entire set of commands required in order to deliver a fully featured infrastructure according to the software dependency
Automation methods - PBA / CM
MethodsPBA is commonly implemented by using a dedicated Software Framework or a set of OS level scripts.Deploying a machine usually consist of OS Automatic Deployment, ‘bootstrapping’ and invocation of a Playbook set on a machine
Automation methods - PBA / CM
Applications● Ansible● Chef● Puppet● Quattor● Rundeck● Salt
Automation methods - PBA / CM
Pros● Very flexible description tools for desired
outcome● Updates can be done to Metadata only and
pushed Downstream on demand● Storage / network efficient● Authentication/Authorization can be
implemented
Automation methods - PBA / CM
Cons● Outcome may vary on different OS setups● Version control is ‘mandatory’● OS deployment automation required
Automation methods - SW PackageOverviewSoftware packing is similar to ISV procedure for publishing software / updatesMethodThe required resources and installation / configuration procedures are packed to a dedicated format and managed on a private repository
Automation methods - SW Package
Applications● RPM +YUM (Redhat family)● DEB + APT (Debian family)● MSI (MS family)● SuSE manager, RH Satellite, Spacewalk
Automation methods - SW Package
Pros● On a given OS outcome is highly predicted● Widely used on distribution level for all OS
types● Software dependencies are easily managed
Automation methods - SW Package
Cons● Not OS dynamic● Packaging process vary of different OS● OS deployment automation required
Automation methods - Containers
OverviewContained software, is being used in order to provide an isolated environment for every application required on the infrastructure. This method is used to provide high level of security and mobility (/scaling) of an application
Automation methods - Containers
MethodSoftware containers are implemented by allocating a dedicated Process range, CPU, RAM, Storage, Network, etc for a specific application. Once a container is initialized, the application is ready-to-use and the appropriate network ports are exposed to external networks
Automation methods - Containers
Applications● OpenStack Nova● OpenShift● Heroku● Docker, libVirt, LXC● OpenVZ● Unix chroot, iptables, SELinux
device-mapper, etc
Automation methods - ContainersPros● Contained software is isolated
o High stabilityo Highly predicted outcome
● Updates are introduced to code and metadata
● Support online version switching● Highly scalable, mobile and easily
orchestrated
Automation methods - ContainersCons● Must (highly recommended to) run on
Unix/Linux● Complicated for a simple (e.g: LAMP)
infrastructure
etcWhen designing a dynamic architecture, one aspire to have the ability to automatically manage it’s applications on a widest level as possible. This is normally referred as orchestrating the infrastructure. Given a solid solution to provide a system based on a blueprint, orchestration applications can be used to fully automate the delivery stream
top related