Posts

08 - PUPPET - Configuration Management

Image
 PUPPET - Configuration Management A Configuration Management Tool A framework for Systems Automation A Declarative Domain Specific Language (DSL) An Open Source software is written in Ruby Works on Linux, Unix (Solaris, AIX, *BSD), macOS, Windows |Supported Platforms) Developed by Puppet Labs Puppet Agent Required SSL certificate Default fatches after 60 minutes noop - dry run Puppet Open Source or Enterprise Puppet Langauge Declarative - Domain Specific Langauge (DSL) define STATES (No procedures) Puppet code is written in manifest ( .pp extension ) In the code, we declare resources that affect elements of the system (files, packages, services ... ) Resources are grouped into classes Classes and configuration files are organized in modules Puppet Resource Abstraction Layers Puppet Catalog Certificate Management Server Resources Facter Puppet Manifest Puppet Resources Resource Types Reference Puppet Nodes Roles Define Policy Puppet Virtual Resources Puppet Lab...

20 - Terraform - Provisioning Azure Infrastructure

Image
 Terraform - By Asghar Ghori Introduction to Infrastructure as Code What is TerraForm? Prepare for Terraforming Build Infrastructure Parametrize Infrastructure Configuration Configure Remote Backend Work with Modules Understand and Use Meta-Arguments Infrastructure as Code (IaC) Process of managing infrastructure using code rather than manually configuring resources in a user interface Define, deploy, update, and destroy infrastructure Benefits: Consistency across Test, Dev, QA, and Prod Version controlled (can be stored in Git) Repeatability Validation before deployment No errors Fast deployments Detailed logging Lower cost laC Categories Five broad categories Ad-hoc scripts Step-by-step instructions in Bash, Ruby, Python, etc.) Configuration management Designed to run on existing servers Tools: Puppet, Chef, SaltStack, and Ansible Server templating Create an image of the OS and use it to deploy new servers Can be used for virtual machines and containers Tools: Docker, Packer, Vag...

07 - CHEF - Configuration Management

Image
CHEF - Configuration Management Chef is a configuration management tool written in Ruby and Erlang Was written to manage Linux but later versions also support Microsoft Windows It uses a pure-Ruby to write system configuration “recipes” Integrates with cloud-based platforms such as Internap, Amazon EC2, Google Cloud Platform, OpenStack, SoftLayer, Microsoft Azure and Rackspace Support for includes AIX, RHEL/CentOS, FreeBSD, OS X, Solaris, Microsoft Windows and Ubuntu platforms Chef Server can be on RHEL/CentOS, Oracle Linux, and Ubuntu Chef can run in client/server mode or standalone configuration named “chef-solo” Chef Architecture Chef Development Kit has tools to develop and test your infrastructure automation code Infrastructure as code automation code is developed locally on workstation and then deployed in production Chef Server is a central repository for Chef cookbooks and have information about every node being managed Chef client runs on each node and securely communicates wi...

05 - Docker - Containers

Image
 Docker - Containers - Container is operating system-level virtualization  ( Linux Kernal ) Allow for multiple isolated user-space instances called containers They share a single kernel Can be added or removed any times - Containers consist of a self-contained Linux file system Can be from any Linux distribution which is compatible with the host kernel Usually contain a single application such as a server - Operating  Is often used in Cloud Computing Docker Architecture Docker is available in two editions: Community Edition (CE) - open-source Enterprise Edition (EE) Docker uses a client-server architecture Client REST API  (   the primary user interface which communicates ) Over HTTP Over local Unix Socket Docker CLI docker build docker pull docker run Servers (Docker_Host) Is the Docker daemon Responsible for building, running, and distributing containers Docker daemon Container Images Registry (docker.io , DockerHub) Responsible for the storage, manageme...