Topics Discussed:
- Importance of automation in DevOps
- Ansible and Ansible Automation Platform (AAP)
- Integrating AAP in DevOps and CI/CD workflow
- Jenkins and Ansible – two-way automation
- Demo
- Q&A
Developers
- Different development environment
- Less idea about the production infrastructure
- Less concern about production setup
Operators
- Focus on uptime
- Worry about the code changes
- Worry about infrastructure changes
DevOps
- Developers and Operators work together
- Developers understand the impact of code changes on the production environment
- Operators understand the requirement of applications
- More clarity on infrastructure and environmental requirements
- Together implement the entire SDLC workflow
- Transparent communication
- Improved collaboration
Source control is a practice of tracking and managing changes to the software code, configurations, and so on.
Source control management (SCM) systems provide a running history of code development and help to resolve conflicts when merging contributions from multiple sources.
Example
Git, Gogs, GitHub, Gitea, GitLab,Bitbucket.
Automation – CI, CD, and CD
- CD – Continuous Deployment: Automatically deploy to production
- Cl-Continuous Integration: Build, Test, and Merge
- CD – Continuous Delivery: Automatically release to the repository
Infrastructure and Platform
- Bare Metal / physical server: Not shared so co-hosting applications are not possible
- Virtualization : Eg: VMware, AWS, GCP, Azure
- Containers : Eg: Docker, Kubernetes, Openshift, podman
Infrastructure as Code (laC)
Eg: Terraform, Ansible, Pulumi.
- Managing and provisioning of infrastructure through code instead
- Single source for truth
- Change infrastructure in code and not in the real infrastructure
Ansible Automation Platform (AAP)
Ansible
We can automate any IT infrastructure/application platforms
Ansible Core (ansible-core)
- Human readable code
- The main building block for Ansible
- Simple YAML syntax to develop Ansible Playbooks
- Provides CLI tools to develop, test, and run playbooks
- Pluggable architecture that allows extensions through Content Collections
Different methods are possible with Ansible Jenkins
1.Ansible play-book command
* Install Ansible
* Arrange dependencies
* Organize credential
2.Ansible Plug-in
* Using plug-in manager
3.Ansible Automation controller- api
* More efficient
Useful Links
www.github.com/ansible/awx
www.ansible.com/products/ansible-training
https://lab.redhat.com
Ansible Automation controller- api (Demo)
VC code editor -> Gitea -> Jenkins -> Ansible automation controller