● Fundamentals
● Key Components
● Best practices
● Spring Boot REST API Deployment
● CI with Ansible
● Ansible for AWS
● Provisioning a Docker Host
● Docker&Ansible
https://github.com/maaydin/ansible-tutorial
Ansible is tool for Configuration Management. The big difference to Chef and Puppet is, that Ansible doesn't need a Master and doesn't need a special client on the servers. It works completely via SSH and the configuration is done in Yaml.
These slides give a short introduction & motivation for Ansible.
Ansible is tool for Configuration Management. The big difference to Chef and Puppet is, that Ansible doesn't need a Master and doesn't need a special client on the servers. It works completely via SSH and the configuration is done in Yaml.
These slides give a short introduction & motivation for Ansible.
Introduces Ansible as DevOps favorite choice for Configuration Management and Server Provisioning. Enables audience to get started with using Ansible. Developed in Python which only needs YAML syntax knowledge to automate using this tool.
->Introduction
->>What is Ansible?
->>Ansible history
->Basic concepts
->>Inventory
->>Playbook
->>Role
->>Module
->>Plugin
->Diving into Ansible roles
->>Getting started
->>Create a role
->>Roles under the hood
->>How to use roles?
This presentation is an introduction to Ansible, an IT automation tool which can configure systems, deploy software, and orchestrate more advanced IT tasks such as continuous deployments or zero downtime rolling updates.
What Is Ansible? | How Ansible Works? | Ansible Tutorial For Beginners | DevO...Simplilearn
This presentation on Ansible will help you understand why Ansible is needed, what is Ansible, Ansible as a pull configuration tool, Ansible architecture, Ansible playbook, Ansible inventory, how Ansible works, Ansible tower and you will also see a use case on how Hootsuite used Ansible. Increasing team productivity and improving business outcomes have now become easy with Ansible. Ansible is a simple, popular, agent-free tool in the automation domain. Ansible is a tool that allows you to create and control three key areas within the operations environment of software development lifecycle. The first one is IT automation which allows you to write instructions to automate the IT professional's work that you would typically do manually in the past, the second is configuration management which allows you to maintain consistency of all systems in the infrastructure and the third is automatic deployment which allows you to deploy applications automatically on a variety of environments. Now let us get started and understand Ansible and it's architecture.
Below topics are explained in this Ansible presentation:
1. Why Ansible?
2. What is Ansible?
3. Ansible - Pull configuration tool
4. Ansible architecture
5. Playbook
6. Inventory
7. Working of Ansible
8. Ansible tower
9. Use case by Hootsuite
Simplilearn's DevOps Certification Training Course will prepare you for a career in DevOps, the fast-growing field that bridges the gap between software developers and operations. You’ll become en expert in the principles of continuous development and deployment, automation of configuration management, inter-team collaboration and IT service agility, using modern DevOps tools such as Git, Docker, Jenkins, Puppet and Nagios. DevOps jobs are highly paid and in great demand, so start on your path today.
Who should take this course?
DevOps career opportunities are thriving worldwide. DevOps was featured as one of the 11 best jobs in America for 2017, according to CBS News, and data from Payscale.com shows that DevOps Managers earn as much as $122,234 per year, with DevOps engineers making as much as $151,461. DevOps jobs are the third-highest tech role ranked by employer demand on Indeed.com but have the second-highest talent deficit.
1. This DevOps training course will be of benefit the following professional roles:
2. Software Developers
3. Technical Project Managers
4. Architects
5. Operations Support
6. Deployment engineers
7. IT managers
8. Development managers
Learn more at: https://www.simplilearn.com/
Title: Ansible, best practices.
Ansible has taken a prominent place in the configmanagement world. By now many people involved in DevOps have taken a look at it, or done a first project with it. Now it is time to step back and look at quality and craftmanship. Bas Meijer, Ansible ambassador, will talk about Ansible best practices, and will show tips, tricks and examples based on several projects.
About the speaker
Bas is a systems engineer and software developer and wasted decades on latenight hacking. He is currently helping out 2 enterprises with continuous delivery and devops.
Ansible is simple open source IT engine which automates application deployment,intra service orchestration,cloud provisioning and many other IT tools.we will discuss what is ansible ,its feature ,architecture,writing ansible playbook,ansible role and ansible vs chef.
Yesterday I gave presentation on Ansible and it was successful . It give basic understanding of playbook and an example implementation of jboss application from scratch
Hands On Introduction To Ansible Configuration Management With Ansible Comple...SlideTeam
Hands On Introduction To Ansible Configuration Management With Ansible Complete Deck is designed for the upper and mid-level management. Take advantage of the informative visuals of this PPT slideshow to elucidate the application deployment tool. With the help of our intuitive PowerPoint template deck, explain the advantages of the Ansible automation tool. This viewer-friendly PPT theme is perfect to elaborate on the architecture of Ansible software. This is because of the state-of-the-art diagrams that simplify the explanation. Consolidate the characteristics and capabilities of Ansible applications such as configuration management and cloud provisioning. This PowerPoint presentation features an Ansible installation flowchart for an organization. Employ the neat tabular format to compile the differences between Ansible and Puppet. This will assist your organization to implement Ansible and its configuration in an effective manner. Hit the download icon and begin instant personalization. https://bit.ly/3mLQJtJ
Ansible Tutorial For Beginners | What Is Ansible And How It Works? | Ansible ...Simplilearn
This presentation about Ansible will help you understand what is Ansible, why we need Ansible, Ansible architecture, working of Ansible, benefits by using Ansible and you will also see a demo on how to install HTTPD using Ansible. Ansible is an IT engine which automates orchestration, configuration management, and deployment. It is an open source configuration management tool that allows you to implement infrastructure as code. It can also be called as infrastructure as code automation engine that helps you automate provisioning software by applying configurations. Ansible has been included in Fedora distribution of Linux and is also available for Red Hat Enterprise Linux, CentOD, scientific Linux via extra packages for Enterprise Linux.
Below topics are explained in this Ansible presentation:
1. Why Ansible?
2. What is Ansible?
3. Ansible architecture
4. Working of Ansible
5. Benefits of Ansible
6. Demo: Install HTTPD
Why learn DevOps?
Simplilearn’s DevOps training course is designed to help you become a DevOps practitioner and apply the latest in DevOps methodology to automate your software development lifecycle right out of the class. You will master configuration management; continuous integration deployment, delivery and monitoring using DevOps tools such as Git, Docker, Jenkins, Puppet and Nagios in a practical, hands on and interactive approach. The Devops training course focuses heavily on the use of Docker containers, a technology that is revolutionizing the way apps are deployed in the cloud today and is a critical skillset to master in the cloud age.
After completing the DevOps training course you will achieve hands on expertise in various aspects of the DevOps delivery model. The practical learning outcomes of this Devops training course are:
An understanding of DevOps and the modern DevOps toolsets
The ability to automate all aspects of a modern code delivery and deployment pipeline using:
1. Source code management tools
2. Build tools
3. Test automation tools
4. Containerization through Docker
5. Configuration management tools
6. Monitoring tools
Who should take this course?
DevOps career opportunities are thriving worldwide. DevOps was featured as one of the 11 best jobs in America for 2017, according to CBS News, and data from Payscale.com shows that DevOps Managers earn as much as $122,234 per year, with DevOps engineers making as much as $151,461. DevOps jobs are the third-highest tech role ranked by employer demand on Indeed.com but have the second-highest talent deficit.
1. This DevOps training course will be of benefit the following professional roles:
2. Software Developers
3. Technical Project Managers
4. Architects
5. Operations Support
6. Deployment engineers
7. IT managers
8. Development managers
Learn more at https://www.simplilearn.com/cloud-computing/devops-practitioner-certification-training
Ansible is the simplest way to automate. MoldCamp, 2015Alex S
Ansible is a radically simple IT automation engine. This is new and great configuration management system (like Chef, Puppet) that has been created in 2012 year. Also Ansible is pretty simple and flexible system, that helps you in managing your servers and execute Ad-hoc commands.
During this session I will explain how to start using Ansible in infrastructure orchestration and what are pros and cons of this system. Also I will explain you our experience in deployments, provisioning and other aspects.
Introduces Ansible as DevOps favorite choice for Configuration Management and Server Provisioning. Enables audience to get started with using Ansible. Developed in Python which only needs YAML syntax knowledge to automate using this tool.
->Introduction
->>What is Ansible?
->>Ansible history
->Basic concepts
->>Inventory
->>Playbook
->>Role
->>Module
->>Plugin
->Diving into Ansible roles
->>Getting started
->>Create a role
->>Roles under the hood
->>How to use roles?
This presentation is an introduction to Ansible, an IT automation tool which can configure systems, deploy software, and orchestrate more advanced IT tasks such as continuous deployments or zero downtime rolling updates.
What Is Ansible? | How Ansible Works? | Ansible Tutorial For Beginners | DevO...Simplilearn
This presentation on Ansible will help you understand why Ansible is needed, what is Ansible, Ansible as a pull configuration tool, Ansible architecture, Ansible playbook, Ansible inventory, how Ansible works, Ansible tower and you will also see a use case on how Hootsuite used Ansible. Increasing team productivity and improving business outcomes have now become easy with Ansible. Ansible is a simple, popular, agent-free tool in the automation domain. Ansible is a tool that allows you to create and control three key areas within the operations environment of software development lifecycle. The first one is IT automation which allows you to write instructions to automate the IT professional's work that you would typically do manually in the past, the second is configuration management which allows you to maintain consistency of all systems in the infrastructure and the third is automatic deployment which allows you to deploy applications automatically on a variety of environments. Now let us get started and understand Ansible and it's architecture.
Below topics are explained in this Ansible presentation:
1. Why Ansible?
2. What is Ansible?
3. Ansible - Pull configuration tool
4. Ansible architecture
5. Playbook
6. Inventory
7. Working of Ansible
8. Ansible tower
9. Use case by Hootsuite
Simplilearn's DevOps Certification Training Course will prepare you for a career in DevOps, the fast-growing field that bridges the gap between software developers and operations. You’ll become en expert in the principles of continuous development and deployment, automation of configuration management, inter-team collaboration and IT service agility, using modern DevOps tools such as Git, Docker, Jenkins, Puppet and Nagios. DevOps jobs are highly paid and in great demand, so start on your path today.
Who should take this course?
DevOps career opportunities are thriving worldwide. DevOps was featured as one of the 11 best jobs in America for 2017, according to CBS News, and data from Payscale.com shows that DevOps Managers earn as much as $122,234 per year, with DevOps engineers making as much as $151,461. DevOps jobs are the third-highest tech role ranked by employer demand on Indeed.com but have the second-highest talent deficit.
1. This DevOps training course will be of benefit the following professional roles:
2. Software Developers
3. Technical Project Managers
4. Architects
5. Operations Support
6. Deployment engineers
7. IT managers
8. Development managers
Learn more at: https://www.simplilearn.com/
Title: Ansible, best practices.
Ansible has taken a prominent place in the configmanagement world. By now many people involved in DevOps have taken a look at it, or done a first project with it. Now it is time to step back and look at quality and craftmanship. Bas Meijer, Ansible ambassador, will talk about Ansible best practices, and will show tips, tricks and examples based on several projects.
About the speaker
Bas is a systems engineer and software developer and wasted decades on latenight hacking. He is currently helping out 2 enterprises with continuous delivery and devops.
Ansible is simple open source IT engine which automates application deployment,intra service orchestration,cloud provisioning and many other IT tools.we will discuss what is ansible ,its feature ,architecture,writing ansible playbook,ansible role and ansible vs chef.
Yesterday I gave presentation on Ansible and it was successful . It give basic understanding of playbook and an example implementation of jboss application from scratch
Hands On Introduction To Ansible Configuration Management With Ansible Comple...SlideTeam
Hands On Introduction To Ansible Configuration Management With Ansible Complete Deck is designed for the upper and mid-level management. Take advantage of the informative visuals of this PPT slideshow to elucidate the application deployment tool. With the help of our intuitive PowerPoint template deck, explain the advantages of the Ansible automation tool. This viewer-friendly PPT theme is perfect to elaborate on the architecture of Ansible software. This is because of the state-of-the-art diagrams that simplify the explanation. Consolidate the characteristics and capabilities of Ansible applications such as configuration management and cloud provisioning. This PowerPoint presentation features an Ansible installation flowchart for an organization. Employ the neat tabular format to compile the differences between Ansible and Puppet. This will assist your organization to implement Ansible and its configuration in an effective manner. Hit the download icon and begin instant personalization. https://bit.ly/3mLQJtJ
Ansible Tutorial For Beginners | What Is Ansible And How It Works? | Ansible ...Simplilearn
This presentation about Ansible will help you understand what is Ansible, why we need Ansible, Ansible architecture, working of Ansible, benefits by using Ansible and you will also see a demo on how to install HTTPD using Ansible. Ansible is an IT engine which automates orchestration, configuration management, and deployment. It is an open source configuration management tool that allows you to implement infrastructure as code. It can also be called as infrastructure as code automation engine that helps you automate provisioning software by applying configurations. Ansible has been included in Fedora distribution of Linux and is also available for Red Hat Enterprise Linux, CentOD, scientific Linux via extra packages for Enterprise Linux.
Below topics are explained in this Ansible presentation:
1. Why Ansible?
2. What is Ansible?
3. Ansible architecture
4. Working of Ansible
5. Benefits of Ansible
6. Demo: Install HTTPD
Why learn DevOps?
Simplilearn’s DevOps training course is designed to help you become a DevOps practitioner and apply the latest in DevOps methodology to automate your software development lifecycle right out of the class. You will master configuration management; continuous integration deployment, delivery and monitoring using DevOps tools such as Git, Docker, Jenkins, Puppet and Nagios in a practical, hands on and interactive approach. The Devops training course focuses heavily on the use of Docker containers, a technology that is revolutionizing the way apps are deployed in the cloud today and is a critical skillset to master in the cloud age.
After completing the DevOps training course you will achieve hands on expertise in various aspects of the DevOps delivery model. The practical learning outcomes of this Devops training course are:
An understanding of DevOps and the modern DevOps toolsets
The ability to automate all aspects of a modern code delivery and deployment pipeline using:
1. Source code management tools
2. Build tools
3. Test automation tools
4. Containerization through Docker
5. Configuration management tools
6. Monitoring tools
Who should take this course?
DevOps career opportunities are thriving worldwide. DevOps was featured as one of the 11 best jobs in America for 2017, according to CBS News, and data from Payscale.com shows that DevOps Managers earn as much as $122,234 per year, with DevOps engineers making as much as $151,461. DevOps jobs are the third-highest tech role ranked by employer demand on Indeed.com but have the second-highest talent deficit.
1. This DevOps training course will be of benefit the following professional roles:
2. Software Developers
3. Technical Project Managers
4. Architects
5. Operations Support
6. Deployment engineers
7. IT managers
8. Development managers
Learn more at https://www.simplilearn.com/cloud-computing/devops-practitioner-certification-training
Ansible is the simplest way to automate. MoldCamp, 2015Alex S
Ansible is a radically simple IT automation engine. This is new and great configuration management system (like Chef, Puppet) that has been created in 2012 year. Also Ansible is pretty simple and flexible system, that helps you in managing your servers and execute Ad-hoc commands.
During this session I will explain how to start using Ansible in infrastructure orchestration and what are pros and cons of this system. Also I will explain you our experience in deployments, provisioning and other aspects.
Ansible is the simplest way to automate. SymfonyCafe, 2015Alex S
Ansible is a radically simple IT automation engine. This is new and great configuration management system (like Chef, Puppet) that has been created in 2012 year. Also Ansible is pretty simple and flexible system, that helps you in managing your servers and execute Ad-hoc commands.
Presented by Michael Lynn, Senior Solutions Architect, MongoDB
Deploying databases, applications and infrastructure can be a difficult task. Once the applications and databases have been deployed, the tasks associated with managing, monitoring, backing up can be even more complex.
Ansible provides developers the ability to deploy, provision and configure your application and database infrastructure for swift delivery to any hosting platform: physical, virtual, cloud or on-premise.
Ops Manager, simply put, is the best way to run MongoDB in your environment. It provides the ability to deploy, monitor, manage, and backup your MongoDB databases.
In this presentation, you will learn how to automate deployment of a MongoDB Ops Manager environment from the ground up, and deploy it to datacenters around the world with a few simple commands using Ansible.
Learning Objectives:
- Attendees will learn about Ansible, and how playbooks and tasks work
- Attendees will learn how to create simple playbooks to deploy MongoDB servers for management via MongoDB Ops Manager
- Attendees will learn how to monitor, manage and backup their MongoDB infrastructure using Ops Manager from MongoDB
How to use Ansible to automate your applications in AWS. What is Ansible and why is it different? How to control cloud deployments securely and how to control AWS resources using dynamic inventory and tags.
Ansible 2.0 - How to use Ansible to automate your applications in AWS.Idan Tohami
- How to use Ansible to automate your applications in AWS.
- What is Ansible and why is it different?
- How to control cloud deployments securely
- How to control AWS resources using dynamic inventory and tags.
Ansible 2.0 - How to use Ansible to automate your applications in AWS.Idan Tohami
- How to use Ansible to automate your applications in AWS.
- What is Ansible and why is it different?
- How to control cloud deployments securely
- How to control AWS resources using dynamic inventory and tags.
MongoDB Ops Manager and Kubernetes - James BroadheadMongoDB
Review the core technologies, such as containers, Kubernetes, and MongoDB Ops Manager. You'll also have a chance to see real-live demos of MongoDB running on Kubernetes and managed with MongoDB Ops Manager with the MongoDB Enterprise Kubernetes Operator.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
2. Agenda
● Fundamentals
● Key Components
● Best practices
● Spring Boot REST API Deployment
● CI with Ansible
● Ansible for AWS
● Provisioning a Docker Host
● Docker&Ansible
4. DevOps & MicroServices
Consultancy
We consult you move towards Containerization, Automated
Provisioning, Deployment/Release Automation, Test
Automation, Performance Tuning and moving to Cloud…
blog.kloia.com
@kloia_com
kloia.co.ukkloia.com
6. Fundamentals
● What is Ansible?
● Why Ansible?
● Terms
○ Inventory
○ Host
○ Group
○ Playbook
○ Play
○ Task
○ Modules
○ Library
7. What is Ansible?
● Radically simple IT automation engine that automates
○ Cloud provisioning
○ Configuration management
○ Application deployment
○ Intra-service orchestration
8. Why Ansible?
● Simple
○ Easy to write, read, maintain and evolve- without writing
scripts or custom code
● Fast to learn and setup
○ It uses a very simple language (YAML, in the form of
Ansible Playbooks) that allow you to describe your
automation jobs in a way that approaches plain English.
9. Why Ansible?
● Efficient
○ Doesn't require a custom agent or software to install
○ Ansible works by connecting to your nodes and pushing
out small programs, called "Ansible modules" to them.
● Secure
○ No agent
○ Runs on OpenSSH
10. Inventory
Ansible works against multiple systems in your infrastructure at
the same time. It does this by selecting portions of systems listed
in Ansible’s inventory file, which defaults to being saved in the
location /etc/ansible/hosts.
[webservers]
192.168.35.140
192.168.35.141
192.168.35.142
192.168.35.143
[appservers]
192.168.100.1
192.168.100.2
192.168.100.3
[dbservers]
172.35.0.5
11. Host
A host is simply a remote machine that Ansible manages. They
can have individual variables assigned to them, and can also be
organized in groups.
[webservers]
192.168.35.140
192.168.35.141
192.168.35.142
192.168.35.143
[appservers]
192.168.100.1
192.168.100.2
192.168.100.3
[dbservers]
172.35.0.5
12. Group
A group consists of several hosts assigned to a pool that can be
conveniently targeted together, and also given variables that they
share in common.
[webservers]
192.168.35.140
192.168.35.141
192.168.35.142
192.168.35.143
[appservers]
192.168.100.1
192.168.100.2
192.168.100.3
[dbservers]
172.35.0.5
13. Playbook
Playbooks are the language by which Ansible orchestrates,
configures, administers, or deploys systems. Playbooks contain
Plays.
Install application server and database server
Install & Start Apache Tomcat Install & Start MySQL & Import Data
Install Java Install Tomcat Install MySQL Import Data
14. Play
A play is a mapping between a set of hosts selected by a host
specifier and the tasks which run on those hosts to define the
role that those systems will perform.
Install application server and database server
Install & Start Apache Tomcat Install & Start MySQL & Import Data
Install Java Install Tomcat Install MySQL Import Data
15. Task
Tasks combine an action with a name and optionally some other
keywords (like looping directives). Tasks call modules .
Install application server and database server
Install & Start Apache Tomcat Install & Start MySQL & Import Data
Install Java Install Tomcat Install MySQL Import Data
16. Module
Modules are the units of work that Ansible ships out to remote
machines. Ansible refers to the collection of available modules as
a library.
Install Java
Download Oracle JDK
get_url:
url:http://download.oracle.com
dest:jdk-1.8.0-linux-x64.rpm
Install Oracle JDK
yum:
name:
jdk-1.8.0-linux-x64.rpm
state: present
20. Control Machine System Requirements
Currently Ansible can be run from any machine with Python 2.6
or 2.7 installed (Windows isn’t supported for the control
machine).
21. Node Machine System Requirements
On the managed nodes, you need a way to communicate, which
is normally ssh. By default this uses sftp. If that’s not available,
you can switch to scp in ansible.cfg.
You also need Python 2.4 or later. If you are running less than
Python 2.5 on the remotes, you will also need:
● python-simplejson
23. Install Ansible
$ git clone https://github.com/maaydin/ansible-tutorial.git
$ cd ansible-tutorial
Let’s start with cloning the repository we will walk during the trainig
$ vagrant up
$ vagrant ssh control
$ sudo apt-get install software-properties-common
$ sudo apt-add-repository ppa:ansible/ansible
$ sudo apt-get update
$ sudo apt-get install ansible
Provision the Control Machine and install ansible
25. Ad-Hoc Commands on Local Machine
$ ansible -m ping localhost
[WARNING]: provided hosts list is empty, only localhost is available
localhost | SUCCESS => {
"changed": false,
"ping": "pong"
}
Ping the localhost
28. Inventory Concepts
● Hosts & Groups
● Host & Group Variables
● Groups of Groups
● Inventory Parameters
● Dynamic Inventory
29. Hosts & Groups
The format for /etc/ansible/hosts is an INI-like format and looks
like this:mail.example.com
[webservers]
foo.example.com
bar.example.com
[dbservers]
one.example.com
two.example.com
three.example.com
30. Hosts & Groups
Different SSH port:
web1:2222
Using aliases:
web2 ansible_port=22 ansible_host=192.168.35.102
Ranges:
[webservers]
www[01:50].example.com
31. Host & Group Variables
Assign variables to hosts that will be used later in playbooks
[webservers]
web1 http_port=80 https_port=443
web2 http_port=8080 https_port=8443
Variables can also be applied to an entire group at once
[webservers:vars]
ntp_server=tr.pool.ntp.org
proxy=proxy.example.com
32. Groups of Groups
To make groups of groups use the :children suffix.
[euwest]
host1
[eucentral]
host2
[eu:children]
euwest
eucentral
33. Inventory Parameters
ansible_user
The default ssh user name to use.
ansible_ssh_private_key_file
Private key file used by ssh. Useful if using multiple keys and you don’t want to use
SSH agent.
ansible_become
Equivalent to ansible_sudo or ansible_su, allows to force privilege escalation
34. Dynamic Inventory
Inventory can also be gathered on demand from other sources dynamically. Those
sources include:
● Cobbler ( http://cobbler.github.io/ )
● Cloud APIs
○ Rackspace
○ Amazon
○ Digital Ocean
○ OpenStack
36. Create the Hosts in the Inventory
web1 192.168.35.101
web2 192.168.35.102
app 192.168.35.103
db 192.168.35.104
Create the Ansible Inventory for given hosts:
37. Create the Groups in the Inventory
webservers: web1 & web2
appservers: app
dbservers: db
dc: webservers & appservers & dbservers
Create the Inventory for given groups consist of below servers & groups
39. Ad-Hoc Commands on Inventory
$ ansible -m ping web1
$ ansible -m ping app
$ ansible -m ping webservers
$ ansible -m ping dc
Ping the hosts and groups you defined
40. Tip #1: SSH Keys
$ vagrant ssh control
$ ssh-agent bash
$ ssh-add /vagrant/keys/key
To set up SSH agent to avoid retyping passwords, you can add the private key
$ ssh-keygen
Creating a New SSH Key Pair
41. Tip #2: Host Key Checking
[defaults]
host_key_checking = False
If you wish to disable host key checking, you can do so by editing
/etc/ansible/ansible.cfg or ~/.ansible.cfg:
$ export ANSIBLE_HOST_KEY_CHECKING=False
Alternatively this can be set by an environment variable:
42. Ad-Hoc Commands on Inventory
$ ansible -m shell -a 'ls -al' web1
$ ansible -m shell -a 'whoami' app
$ ansible -m shell -a 'ifconfig' webservers
$ ansible -m shell -a 'hostname' dc
Run some shell commands on the hosts and groups you defined
43. Tip #3: Patterns
$ ansible -m ping all
$ ansible -m ping web*
$ ansible -m ping 'appservers:dbservers'
$ ansible -m ping 'dc:!webservers'
$ ansible -m ping 'dc:&webservers'
A pattern usually refers to a set of groups (which are sets of hosts)
45. Tasks
A task is a discrete action that is a declaration about the state of a
system.
● Example Tasks:
● Directory should exist
● Package should be installed
● Service should be running
● Cloud Instance should exist
46. Tasks as Ad-Hoc Commands
Ansible can execute single tasks on sets of hosts to full-fill an
ad-hoc declarations.
$ ansible webservers -m file -a "path=/var/www/html/assets state=directory"
$ ansible webservers -m apt -a "name=nginx state=present"
$ ansible webservers -m service -a "name=nginx enabled=yes state=started"
48. Modules
Modules are the bits of code copied to the target system to be
executed to satisfy the task declaration.
● Code need not exist on remote host -- ansible copies it over
● Many modules come with Ansible -- "batteries included"
● Custom modules can be developed easily
● Command/shell modules exists for simple commands
● Script module exists for using existing code
● Raw module exists for executing raw commands over ssh
49. Modules Documentation
● Module listing and documentation via ansible-doc
$ ansible-doc -l
$ ansible-doc apt
● Module index
http://docs.ansible.com/ansible/modules_by_category.html
51. Install Nginx with Ad-Hoc Commands
$ ansible -m apt -a "name=nginx state=present update_cache=yes" web1
Install the nginx server on webservers with apt module
52. Tip #4: Become (Privilege Escalation)
Ansible can use existing privilege escalation systems to allow a user to execute tasks as
another.
Ansible allows you to ‘become’ another user, different from the user that logged into
the machine (remote user). This is done using existing privilege escalation tools, which
you probably already use or have configured, like sudo, su, pfexec, doas, pbrun, dzdo,
ksu and others.
$ ansible -m shell -a "whoami" web1 --become
53. Install Nginx with Ad-Hoc Commands
$ ansible -m apt -a "name=nginx state=present update_cache=yes" web1 --become
Install the nginx server on webservers with apt module
$ ansible -m service -a "name=nginx state=started enabled=yes" webservers
--become
Ensure service enabled and started on webservers with service module
54. Install Nginx with Ad-Hoc Commands
$ ansible -m file -a "path=/usr/share/nginx/html state=directory" webservers
--become
Ensure /usr/share/nginx/html directory exists on webservers with file module
$ ansible -m copy -a "src=index.html dest=/usr/share/nginx/html/index.html"
webservers --become
Update /usr/share/nginx/html/index.html file a custom file with copy module
55. Modules Exercises
● Ensure default-jdk package installed on appservers.
● Ensure greeting user created on appservers.
● Ensure /var/log/greeting directory owned by greeting user created on appservers.
● Ensure mongodb-server package installed on dbservers.
57. Plays
Plays are ordered sets of tasks to execute against host selections
from your inventory.
Install application server and database server
Install & Start Apache Tomcat Install & Start MySQL & Import Data
Install Java Install Tomcat Install MySQL Import Data
63. Playbooks
Playbooks are ordered sets of plays to execute against inventory
selections.
Install application server and database server
Install & Start Apache Tomcat Install & Start MySQL & Import Data
Install Java Install Tomcat Install MySQL Import Data
64. Running Playbooks
$ ansible-playbook play.yml
To run a play book use ansible-playbook command.
$ ansible-playbook -i production play.yml
Hosts can be changed by providing a inventory file
$ ansible-playbook -e "assets_dir=/var/www/html/assets/" play.yml
Environment variables can be set globally
65. Running Playbooks
$ ansible-playbook -i production play.yml
Hosts can be limited by providing a subset
$ ansible-playbook -f 30 play.yml
Number of parallel processes to use can be specified (default=5)
67. Install Nginx with a Single Play
Install the nginx server on webservers
---
- hosts: webservers
become: true
tasks:
- name: Install nginx
apt: name=nginx state=present
- name: Start nginx
service: name=nginx state=started enabled=yes
68. Install Nginx with a Single Play
$ ansible-playbook /vagrant/lab-04/install-nginx.yml -l web1
PLAY [webservers] **************************************************************
TASK [setup] *******************************************************************
ok: [web1]
TASK [Install nginx] ***********************************************************
ok: [web1]
TASK [Start nginx] *************************************************************
ok: [web1]
PLAY RECAP *********************************************************************
web1 : ok=3 changed=0 unreachable=0 failed=0
69. Install Nginx & JDK & MongoDB in a Playbook
● Install the nginx server on webservers
● Install JDK on appservers
● Install MongoDB on dbservers
71. Roles
Roles are portable units of task organization in playbooks and is
the best way to organize your playbooks.
Roles are just automation around ‘include’ directives, and really
don’t contain much additional magic beyond some
improvements to search path handling for referenced files.
However, that can be a big thing!
76. Install NTP & Nginx with in Roles
Install the ntp service & nginx server on webservers and deploy static content
---
- hosts: webservers
become: true
roles:
- ntp
- nginx
- deploy_static_content
77. Install Nginx & JDK & MongoDB with in Roles
● Install ntp service on all servers
● Install the nginx server on webservers
● Deploy static content on webservers
● Install JDK on appservers
● Install MongoDB on dbservers
88. Deploy Greeting REST Service
Download and build the sample REST service from github and deploy on appservers.
$ git clone https://github.com/spring-guides/gs-rest-service.git
$ cd gs-rest-service/complete
$ mvn package
* Requires java 8
89. Tip #5: Installing JDK 8 on Ubuntu 14.04
You should add ‘ppa:openjdk-r/ppa’ repo first:
---
- name: Install openjdk repository
apt_repository: repo='ppa:openjdk-r/ppa'
- name: Install openjdk
apt: name=openjdk-8-jdk state=present
96. Boto is a Python package that provides interfaces to Amazon
Web Services. Currently, all features work with Python 2.6 and
2.7. Ansible uses boto to communicate with AWS API.
It can be installed via OS package manager or pip.
Boto
$ apt-get install python-boto
$ pip install boto
97. To get started with dynamic inventory management, you’ll need
to grab the EC2.py script and the EC2.ini config file. The EC2.py
script is written using the Boto EC2 library and will query AWS
for your running Amazon EC2 instances.
Amazon EC2 Inventory Management
$ wget https://raw.githubusercontent.com/ansible/ansible/devel/contrib/inventory/ec2.py
$ wget https://raw.githubusercontent.com/ansible/ansible/devel/contrib/inventory/ec2.ini
100. From the beginning, Ansible has offered deep support for AWS.
Ansible can be used to define, deploy, and manage a wide variety
of AWS services. Even the most complicated of AWS
environments can be easily described in Ansible playbooks.
● http://docs.ansible.com/ansible/list_of_cloud_modules.html
Ansible Cloud Modules
107. To get the latest version of docker it is better (and easier) to
install from the script provided by docker.
● https://get.docker.com/
It is also required to install docker-py via pip to manage your
containers from Ansible.
Installing Docker
109. ● If you know docker-compose, you know Ansible (almost).
● Because you need to configure the system that your
containers are running on.
● Because you want to call out to other systems to configure
things.
● Because you want to build testing directly into your
container deployment process.
Ansible Makes Docker Better
111. Creating a Container
---
- name: Create a redis container
docker_container:
name: myredis
image: redis
state: present
With docker_container module you can manage your docker
containers.