SlideShare a Scribd company logo
Ge#ng&Started&with&Ansible
Ansible(Meetup(Hamburg,(henry(stamerjohann,(12/2014
A"brief"introduc.on"
to"Ansible
Ansible(Meetup(Hamburg,(henry(stamerjohann,(12/2014
Simple'things'should'be'simple,'
complex'things'should'be'possible.
—"Alan"Kay
Ansible(Meetup(Hamburg,(henry(stamerjohann,(12/2014
!Ansible!is!a!simple,!
declara0ve!push!based!
automa0on!tool!to!
describe!the!state!you!
want!servers!to!be!in.
Ansible(Meetup(Hamburg,(henry(stamerjohann,(12/2014
History
• Created(by(Michael(DeHaan(
(CTO(Ansible(Inc.)
• Open(source(project,(started(February(
2012
• Maintained(by(very(acEve(Open(Source(
community
• Ansible(Inc.(provides(training,(
consulEng(services(and(offers(a(webK
based(management(tool(called(Ansible(
Tower
Ansible(Meetup(Hamburg,(henry(stamerjohann,(12/2014
Ansible(facts
• Ansible)is)based)on)Python)(v2.7)
• Standard)SSH)to)connect)to)managed)servers/nodes
• Push?based)system)
• Agentless)operaAon
• No)central)server,)no)special)soDware)on)managed)nodes
Ansible(Meetup(Hamburg,(henry(stamerjohann,(12/2014
Ansible(facts((con/nued)
• Facts'from'each'node'used'for'state1full'decisions
• Fetch'context'before'tasks,'skip'intelligently
• Indempotent'ConfigMgmt'tool'(like'others)
• Extend'with'custom'modules,'use'any'language'which'can'return'
JSON'(Bash,'Ruby,'Go,'Python,'etc.)
• Source'inventory'from'various'datasource,'return'as'JSON
Ansible(Meetup(Hamburg,(henry(stamerjohann,(12/2014
ConfigMgmt)in)comparison
• Ansible)is)similar)tool)to)Chef,)Puppet)or)Salt
• Shared)purpose)8)solve)tasks)for)CfgMgmt,)provisioning,)
deployment,)etc.
• Ansible)may)be)simplest)and)easiest)configuraAon)management)
tool)to)start)with
• Chef,)Puppet,)Salt)are)great)tools)as)well,)may)be)more)complex)
to)start)with,)steeper)learning)curve,)etc.
Ansible(Meetup(Hamburg,(henry(stamerjohann,(12/2014
Requirements+to+use+Ansible
• Ansible)installed)on)your)Control)Machine)(admin)machine)
• Python)required)on)all)nodes/servers)to)manage
• Installers)provided)for)OS)X,)Linux)machines)(only)
• Use)SSH)publicHkey)setup)to)connect)to)nodes
Ansible(Meetup(Hamburg,(henry(stamerjohann,(12/2014
How$to$install$Ansible$(OS$X,$Linux)
Requirements:,
,•,python2dev,for,linux,
,•,xcode2command2line,tools,on,OS,X
sudo easy_install pip
sudo pip install ansible
Alterna(ve*install*methods:*
*•*homebrew*for*OS*X
*•*install*from*source
Ansible(Meetup(Hamburg,(henry(stamerjohann,(12/2014
Ansible(Basic(Terminology:(
• Modules - accomplish dedicated Tasks (set values, use templates)
• Tasks - execute Module specific parameters, variables, etc.
• Variables - configuration-wide, Playbook / Roles specific vars
• Facts - gather information about the target system
• Handlers - like Tasks but usually get called by another Task
• Roles - group related Tasks, encapsulate data to accomplish Tasks
• Files - files directory contains files copied over to target
• Templates - Jinja2 format w/ placeholders to insert variables
• Vault - encrypt sensible data (i.e. files containing passwords)
• Plays - are lists of Tasks which apply to hosts / host groups
• Playbooks - YAML formatted files orchestrate steps sequentially
• Inventory - reference inside 'host' & 'ansible.cfg' files
Ansible(Meetup(Hamburg,(henry(stamerjohann,(12/2014
Demo%Filetree%(Example)
.
|-- ansible.cfg # inventory config file
|-- playbook.yml # playbook file
|-- roles
| |-- defaults # defaults file
| | `-- main.yml
| |-- files # files directory
| |-- handlers
| | `-- main.yml # handlers file
| |-- tasks
| | `-- main.yml # tasks file
| |-- templates
| | `-- template.conf.j2 # template file
| `-- vars
| `-- main.yml # variables file
`-- hosts # hosts file
Ansible(Meetup(Hamburg,(henry(stamerjohann,(12/2014
Flexible'file'op+ons
Ansible(parses(into(subfolder
data(could(be(organized(in(nested(folder/file(structure,(
`-- vars # named subfolder
`-- main.yml # variables file
or#as#plain#file
`-- vars.yml # variables file
Ansible(Meetup(Hamburg,(henry(stamerjohann,(12/2014
Ansible(Config
• You%can%use%environment%variables%
export ANSIBLE_SUDO_USER=root
• But%be3er%define%in%ansible.cfg%file%(global%or%project%based)
./ansible.cfg # current directory
~/.ansible.cfg # user's home dir
/etc/ansible/ansible.cfg # system default location
Ansible(Meetup(Hamburg,(henry(stamerjohann,(12/2014
ansible.cfg!config!file!(example)
[defaults]
hostfile = hosts
forks = 5
timeout = 60
log_path = /var/log/ansible.log
nocows = 1
Ansible(Meetup(Hamburg,(henry(stamerjohann,(12/2014
Inventory
• Simple:
• Manage-your-inventory-in-text-files-(INI-group-header-syntax)
• Advanced:
• use-various-datasource,-use/write-a-tool-that-speaks-to-
datasource-and-returns-JSON
Ansible(Meetup(Hamburg,(henry(stamerjohann,(12/2014
Ansible(inventory(file(/(Hosts(file((Example)
# Application servers
[webserver]
web1.pretendco.com
54.93.172.13 ansible_ssh_user=ubuntu
# Database server
[db]
54.93.172.14 ansible_ssh_user=ubuntu
# Group 'multi', contains child servers
[multi:children]
webserver
db
Ansible(Meetup(Hamburg,(henry(stamerjohann,(12/2014
Ansible(CLI
Ansible(Meetup(Hamburg,(henry(stamerjohann,(12/2014
CLI$Commands$(overview)
ansible <host-pattern> [options] # run Ad hoc command
ansible-playbook <playbook-name> # run an Ansible playbook
ansible-galaxy <command> # share and download Ansible roles
ansible-pull [options] [playbook.yml] # setup Ansible pull architecture
ansible-doc [options] [module...] # show documentation
debug with -vvvv
dry run mode with --check
check playbooks with --syntax-check
Ansible(Meetup(Hamburg,(henry(stamerjohann,(12/2014
Ansible(AdHoc(commands
ansible <pattern_goes_here> -m <module_name> -a <arguments> # -s <optional sudo>
## single server node
ansible webserver -a reboot -i /path/to/hosts ## path to hosts-file
ansible db -s -m apt -a "pkg=postgresql state=present" ## -i use path to hosts-file
## multiple server nodes
ansible multi -s -m apt -a "pkg=ntp state=installed" ## -i use path to hosts-file
ansible multi -s -m service -a "name=ntpd state=started enabled=yes" ## -i
## module example, git checkout
ansible webserver -s -m git -a "repo=git://github.com/path/to/repo.git 
dest=/opt/myapp update=yes version=1.2.4" ## -i use path to hosts-file
Ansible(Meetup(Hamburg,(henry(stamerjohann,(12/2014
Ansible(Playbook((simple(example)
#!/usr/bin/env ansible-playbook
---
- name: Configure webserver with nginx and ssl
hosts: webservers
sudo: True
vars:
key_file: /etc/nginx/ssl/nginx.key
cert_file: /etc/nginx/ssl/nginx.crt
conf_file: /etc/nginx/sites-available/default
server_name: localhost
tasks:
- name: Install nginx
apt: name=nginx update_cache=yes cache_valid_time=3600
...
- name: copy nginx config file
template: src=templates/nginx.conf.j2 dest={{ conf_file }}
notify: restart nginx
handlers:
- name: restart nginx
service: name=nginx state=restarted
Ansible(Meetup(Hamburg,(henry(stamerjohann,(12/2014
Variables
• Variables*are*used/subs.tute*inside*tasks*or*template*files
apt: pkg={{ item }} state=installed update-cache=yes
with_items: {{ system_packages }}
# apt module will iterate over items in Array (YAML Sequence)
Ansible(Meetup(Hamburg,(henry(stamerjohann,(12/2014
Example(Vars((could(be(in(external(vars.yml(file)
---
project_name: myproject
project_root: /var/projects/myproject
project_repo: git@bitbucket.org:myuser/myproject.git
system_packages:
- build-essential
- git
- libevent-dev
- nginx
- postgresql
- postgresql-server-dev-all
- python-dev
- python-setuptools
- redis-server
python_packages:
- pip
- virtualenv
Ansible(Meetup(Hamburg,(henry(stamerjohann,(12/2014
Example(Vars(used(in(tasks
tasks:
- name: Create the project directory.
file: state=directory path={{ project_root }}
- name: Create user.
user: home={{ project_root }}/home/ name={{ project_name }} state=present
- name: Update the project directory.
file: group={{ project_name }} owner={{ project_name }} mode=755 state=directory path={{ project_root }}
- name: Install required system packages.
apt: pkg={{ item }} state=installed update-cache=yes
with_items: {{ system_packages }}
- name: Install required Python packages.
easy_install: name={{ item }}
with_items: {{ python_packages }}
Ansible(Meetup(Hamburg,(henry(stamerjohann,(12/2014
templates/nginx.conf.j23
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
listen 443 ssl;
root /usr/share/nginx/html;
index index.html index.htm;
server_name {{ server_name }};
ssl_certificate {{ cert_file }};
ssl_certificate_key {{ key_file }};
location / {
try_files $uri $uri/ =404;
}
}
Ansible(Meetup(Hamburg,(henry(stamerjohann,(12/2014
Playbooks
Ansible(Meetup(Hamburg,(henry(stamerjohann,(12/2014
Playbooks
• Playbooks*format*is*YAML*
• Playbooks*express*configura<ons,*deployment*and*orchestra<on
• A*Playbook*maps*a*group*of*hosts*to*a*set*of*roles*or*tasks
• Playbook*reference*included*files*(vars.yml,*lookup*files,*etc.)
• Op<onally*you*can*prompt*for*user*input*during*run
Ansible(Meetup(Hamburg,(henry(stamerjohann,(12/2014
---
- hosts: multi
sudo: True
vars:
app_name: my-app
license_file: "{{ lookup('file','license.xml') }}"
# prompt during run
vars_prompt:
- name: "set_password for x"
prompt: "enter password for x"
default: "super_dumb_pw"
private: yes
pre_tasks:
- name: display facts, print name and ip
debug: msg="System {{ inventory_hostname }} has ip {{ ansible_default_ipv4 }}"
# run gerneral tasks
tasks:
- name: Install ntp
apt: name=ntp update_cache=yes cache_valid_time=3600
...
# install roles sequentially
roles:
- { role: database, tags: db }
- { role: nginx, tags: webapp }
- { role: tomcat, tags: webapp }
Ansible(Meetup(Hamburg,(henry(stamerjohann,(12/2014
Playbook(Anatomy
• name: display name of your playbook (optional)
• hosts: host or host group against run the tasks (mandatory)
• sudo: True/False (optional)
• vars: reference vars inline or /path/to/file (optional)
• tasks: list of actions to perform, call up modules use variables
• handlers: task that runs if it has been notified by another task
• roles: call role to execute bundled tasks
... and some more
Ansible(Meetup(Hamburg,(henry(stamerjohann,(12/2014
Playbook(convenience(use
• Add$tags$to$your$playbook
• Run$ansible5playbook$but$only$tasks$with$tags:$
--tags templates,apache
• Run$ansible5playbook$but$exclude$--skip-tags templates
tasks:
- name: template apache config
template: src=httpd.conf.j2 dest=/etc/httpd/conf/httpd.conf
tags:
- templates
- apache
notify:
- restart apache
Ansible(Meetup(Hamburg,(henry(stamerjohann,(12/2014
Roles
• Group'related'tasks,'configura4ons'and'data'into'a'bundle
|-- playbook.yml # playbook file
|-- role
| |-- sys-prep # basic sys prepare file
| |-- database # setup database
| |-- monitoring # configure monitoring
| |-- nginx # install proxy server
| `-- tomcat # install tomcat
• Central)installed)Roles)from)Galaxy:)/etc/ansible/roles
Ansible(Meetup(Hamburg,(henry(stamerjohann,(12/2014
Ansible(Galaxy
• community*roles*available*
• reference*to*public*github*repos
• source*to*learn*and*start*from
ansible-galaxy install username.rolename
Ansible(Meetup(Hamburg,(henry(stamerjohann,(12/2014
Ansible(Tower
• Web%based)GUI)developed)by)Ansible)Inc.
• Dashboard)to)manage)your)nodes
• Provides)job)scheduling,)inventory)management,)job)status)
updates
• With)built%in)REST)API
h"p://www.ansible.com/tower
Ansible(Meetup(Hamburg,(henry(stamerjohann,(12/2014
Few$common$use$cases
Ansible(Meetup(Hamburg,(henry(stamerjohann,(12/2014
Nice%ci&zen%with%Vagrant
Working(Vagrant(provider(available
# Provisioning configuration for Ansible.
config.vm.provision "ansible" do |ansible|
ansible.playbook = "playbook.yml"
# Run commands as root.
ansible.sudo = true
end
Ansible(Meetup(Hamburg,(henry(stamerjohann,(12/2014
Nice%ci&zen%with%Docker%(really?)
• Have&a&large&overlap,&let's&discuss&a4er&today's&talk&by&
Chris&an)Kniep&8&here's&the&commented&presenta<on:
h>p://qnib.org/2014/12/19/Docker8and8ConfigMgmt/
• You&can&manage&Docker&host&with&docker&modules
- docker-module # launch, provision, and delete Docker containers.
- docker-images module # build docker-files with Ansible.
- docker_facts module
- Docker inventory plugin
Note: Ansible Module has dependency on docker-py Docker client python library
Ansible(Meetup(Hamburg,(henry(stamerjohann,(12/2014
Ansible(docker.module(example
# Start docker container running tomcat in each host of webserver group,
# bind tomcat's listening port to 8080 on the host:
---
- hosts: webserver
sudo: yes
tasks:
- name: run tomcat servers
docker: image=centos command="service tomcat6 start" ports=8080
# Create multiple named containers:
---
- hosts: webserver
sudo: yes
tasks:
- name: run tomcat servers
docker: image=centos name={{item}} command="service tomcat6 start" ports=8080
with_items:
- crookshank
- snowbell
- heathcliff
- felix
- sylvester
Ansible(Meetup(Hamburg,(henry(stamerjohann,(12/2014
Scale&and&Orchestrate&with&Ansible
use$ansible*pull$mode$!
• Pulls&a&specified&git&repository&into&a&specified&directory
• If&the&repo&has&changed,&it&runs&a&file&called&<hostname>.yml&or&
local.yml&from&repo&root&directory
1. Add ansible-pull to crontab.
2. Add the <hostname>.yml or local.yml file to your repository.
Example:)ansible_pull.yml
Ansible(Meetup(Hamburg,(henry(stamerjohann,(12/2014
Documenta*on
• Ge$ng'Started
• Advanced'Setups
• Module'Reference
• Examples
• Ressources
• Case'Studies
• etc.
Ansible(Meetup(Hamburg,(henry(stamerjohann,(12/2014
Ansible(Up(&(Running
by#Lorin#Hochstein
Free$preview$of$Ansible$Up$&$Running$by$
Lorin$Hochstein.$
h"p://www.ansible.com/ansible2book
Preview Edition includes:
• Chapter 1 Introduction
• Chapter 2 Playbooks, a Beginning
• Chapter 3 Inventory: Describing Your Servers
Ansible(Meetup(Hamburg,(henry(stamerjohann,(12/2014
Next%Ansible%HH%Meetup,%Feb%2015
Ansible(Meetup(Hamburg,(henry(stamerjohann,(12/2014
Ansible(Meetup(Hamburg,(henry(stamerjohann,(12/2014
Thank&You!
Ansible(Meetup(Hamburg,(henry(stamerjohann,(12/2014
Ansible(Meetup(Hamburg,(henry(stamerjohann,(12/2014

More Related Content

What's hot

Configuration Management in Ansible
Configuration Management in Ansible Configuration Management in Ansible
Configuration Management in Ansible
Bangladesh Network Operators Group
 
IT Automation with Ansible
IT Automation with AnsibleIT Automation with Ansible
IT Automation with Ansible
Rayed Alrashed
 
Ansible tips & tricks
Ansible tips & tricksAnsible tips & tricks
Ansible tips & tricks
bcoca
 
More tips n tricks
More tips n tricksMore tips n tricks
More tips n tricks
bcoca
 
Using Ansible for Deploying to Cloud Environments
Using Ansible for Deploying to Cloud EnvironmentsUsing Ansible for Deploying to Cloud Environments
Using Ansible for Deploying to Cloud Environments
ahamilton55
 
Ansible is the simplest way to automate. MoldCamp, 2015
Ansible is the simplest way to automate. MoldCamp, 2015Ansible is the simplest way to automate. MoldCamp, 2015
Ansible is the simplest way to automate. MoldCamp, 2015
Alex S
 
Automation and Ansible
Automation and AnsibleAutomation and Ansible
Automation and Ansible
jtyr
 
Ansible - Swiss Army Knife Orchestration
Ansible - Swiss Army Knife OrchestrationAnsible - Swiss Army Knife Orchestration
Ansible - Swiss Army Knife Orchestration
bcoca
 
Using Ansible Dynamic Inventory with Amazon EC2
Using Ansible Dynamic Inventory with Amazon EC2Using Ansible Dynamic Inventory with Amazon EC2
Using Ansible Dynamic Inventory with Amazon EC2
Brian Schott
 
Ansible Automation to Rule Them All
Ansible Automation to Rule Them AllAnsible Automation to Rule Them All
Ansible Automation to Rule Them All
Tim Fairweather
 
Ansible presentation
Ansible presentationAnsible presentation
Ansible presentation
Arthur Freyman
 
A quick intro to Ansible
A quick intro to AnsibleA quick intro to Ansible
A quick intro to Ansible
Dan Vaida
 
Introduction to Ansible
Introduction to AnsibleIntroduction to Ansible
Introduction to Ansible
Knoldus Inc.
 
Ansible for beginners
Ansible for beginnersAnsible for beginners
Ansible for beginners
Kuo-Le Mei
 
#OktoCampus - Workshop : An introduction to Ansible
#OktoCampus - Workshop : An introduction to Ansible#OktoCampus - Workshop : An introduction to Ansible
#OktoCampus - Workshop : An introduction to Ansible
Cédric Delgehier
 
Ansible Automation Best Practices From Startups to Enterprises - Minnebar 12
Ansible Automation Best Practices From Startups to Enterprises - Minnebar 12Ansible Automation Best Practices From Startups to Enterprises - Minnebar 12
Ansible Automation Best Practices From Startups to Enterprises - Minnebar 12
Keith Resar
 
Ansible - Introduction
Ansible - IntroductionAnsible - Introduction
Ansible - Introduction
Stephane Manciot
 
Ansible leveraging 2.0
Ansible leveraging 2.0Ansible leveraging 2.0
Ansible leveraging 2.0
bcoca
 
DevOpsDaysCPT Ansible Infrastrucutre as Code 2017
DevOpsDaysCPT Ansible Infrastrucutre as Code 2017DevOpsDaysCPT Ansible Infrastrucutre as Code 2017
DevOpsDaysCPT Ansible Infrastrucutre as Code 2017
Jumping Bean
 
DevOps for Humans - Ansible for Drupal Deployment Victory!
DevOps for Humans - Ansible for Drupal Deployment Victory!DevOps for Humans - Ansible for Drupal Deployment Victory!
DevOps for Humans - Ansible for Drupal Deployment Victory!
Jeff Geerling
 

What's hot (20)

Configuration Management in Ansible
Configuration Management in Ansible Configuration Management in Ansible
Configuration Management in Ansible
 
IT Automation with Ansible
IT Automation with AnsibleIT Automation with Ansible
IT Automation with Ansible
 
Ansible tips & tricks
Ansible tips & tricksAnsible tips & tricks
Ansible tips & tricks
 
More tips n tricks
More tips n tricksMore tips n tricks
More tips n tricks
 
Using Ansible for Deploying to Cloud Environments
Using Ansible for Deploying to Cloud EnvironmentsUsing Ansible for Deploying to Cloud Environments
Using Ansible for Deploying to Cloud Environments
 
Ansible is the simplest way to automate. MoldCamp, 2015
Ansible is the simplest way to automate. MoldCamp, 2015Ansible is the simplest way to automate. MoldCamp, 2015
Ansible is the simplest way to automate. MoldCamp, 2015
 
Automation and Ansible
Automation and AnsibleAutomation and Ansible
Automation and Ansible
 
Ansible - Swiss Army Knife Orchestration
Ansible - Swiss Army Knife OrchestrationAnsible - Swiss Army Knife Orchestration
Ansible - Swiss Army Knife Orchestration
 
Using Ansible Dynamic Inventory with Amazon EC2
Using Ansible Dynamic Inventory with Amazon EC2Using Ansible Dynamic Inventory with Amazon EC2
Using Ansible Dynamic Inventory with Amazon EC2
 
Ansible Automation to Rule Them All
Ansible Automation to Rule Them AllAnsible Automation to Rule Them All
Ansible Automation to Rule Them All
 
Ansible presentation
Ansible presentationAnsible presentation
Ansible presentation
 
A quick intro to Ansible
A quick intro to AnsibleA quick intro to Ansible
A quick intro to Ansible
 
Introduction to Ansible
Introduction to AnsibleIntroduction to Ansible
Introduction to Ansible
 
Ansible for beginners
Ansible for beginnersAnsible for beginners
Ansible for beginners
 
#OktoCampus - Workshop : An introduction to Ansible
#OktoCampus - Workshop : An introduction to Ansible#OktoCampus - Workshop : An introduction to Ansible
#OktoCampus - Workshop : An introduction to Ansible
 
Ansible Automation Best Practices From Startups to Enterprises - Minnebar 12
Ansible Automation Best Practices From Startups to Enterprises - Minnebar 12Ansible Automation Best Practices From Startups to Enterprises - Minnebar 12
Ansible Automation Best Practices From Startups to Enterprises - Minnebar 12
 
Ansible - Introduction
Ansible - IntroductionAnsible - Introduction
Ansible - Introduction
 
Ansible leveraging 2.0
Ansible leveraging 2.0Ansible leveraging 2.0
Ansible leveraging 2.0
 
DevOpsDaysCPT Ansible Infrastrucutre as Code 2017
DevOpsDaysCPT Ansible Infrastrucutre as Code 2017DevOpsDaysCPT Ansible Infrastrucutre as Code 2017
DevOpsDaysCPT Ansible Infrastrucutre as Code 2017
 
DevOps for Humans - Ansible for Drupal Deployment Victory!
DevOps for Humans - Ansible for Drupal Deployment Victory!DevOps for Humans - Ansible for Drupal Deployment Victory!
DevOps for Humans - Ansible for Drupal Deployment Victory!
 

Viewers also liked

IoT Meetup Hamburg 3 February 2015 - Getting Hamburg set-up for the Internet ...
IoT Meetup Hamburg 3 February 2015 - Getting Hamburg set-up for the Internet ...IoT Meetup Hamburg 3 February 2015 - Getting Hamburg set-up for the Internet ...
IoT Meetup Hamburg 3 February 2015 - Getting Hamburg set-up for the Internet ...
Knud Lasse Lueth
 
Zentral combine power of osquery_santa
Zentral combine power of osquery_santaZentral combine power of osquery_santa
Zentral combine power of osquery_santa
Henry Stamerjohann
 
Zentral london mac_ad_uk_2017
Zentral london mac_ad_uk_2017Zentral london mac_ad_uk_2017
Zentral london mac_ad_uk_2017
Henry Stamerjohann
 
Zentral macaduk conf 2016
Zentral macaduk conf 2016Zentral macaduk conf 2016
Zentral macaduk conf 2016
Henry Stamerjohann
 
Zentral presentation MacAdmins meetup Univ. Utah
Zentral presentation MacAdmins meetup Univ. Utah Zentral presentation MacAdmins meetup Univ. Utah
Zentral presentation MacAdmins meetup Univ. Utah
Henry Stamerjohann
 
MT84 IoT and Smart Manufacturing Innovations
MT84 IoT and Smart Manufacturing InnovationsMT84 IoT and Smart Manufacturing Innovations
MT84 IoT and Smart Manufacturing Innovations
Dell EMC World
 
Presentation Hamburg
Presentation HamburgPresentation Hamburg
Presentation Hamburg
snowborn
 
Top 6 IoT Use Cases in Manufacturing
Top 6 IoT Use Cases in ManufacturingTop 6 IoT Use Cases in Manufacturing
Top 6 IoT Use Cases in Manufacturing
ALTEN Calsoft Labs
 
IoT and Smart Manufacturing
IoT and Smart ManufacturingIoT and Smart Manufacturing
IoT and Smart Manufacturing
Harrison Fortier
 
Milk run distribution
Milk run distributionMilk run distribution
Milk run distributionHammaduddin
 
Presentation on burger king
Presentation on burger kingPresentation on burger king
Presentation on burger kingmominul_Islam
 

Viewers also liked (11)

IoT Meetup Hamburg 3 February 2015 - Getting Hamburg set-up for the Internet ...
IoT Meetup Hamburg 3 February 2015 - Getting Hamburg set-up for the Internet ...IoT Meetup Hamburg 3 February 2015 - Getting Hamburg set-up for the Internet ...
IoT Meetup Hamburg 3 February 2015 - Getting Hamburg set-up for the Internet ...
 
Zentral combine power of osquery_santa
Zentral combine power of osquery_santaZentral combine power of osquery_santa
Zentral combine power of osquery_santa
 
Zentral london mac_ad_uk_2017
Zentral london mac_ad_uk_2017Zentral london mac_ad_uk_2017
Zentral london mac_ad_uk_2017
 
Zentral macaduk conf 2016
Zentral macaduk conf 2016Zentral macaduk conf 2016
Zentral macaduk conf 2016
 
Zentral presentation MacAdmins meetup Univ. Utah
Zentral presentation MacAdmins meetup Univ. Utah Zentral presentation MacAdmins meetup Univ. Utah
Zentral presentation MacAdmins meetup Univ. Utah
 
MT84 IoT and Smart Manufacturing Innovations
MT84 IoT and Smart Manufacturing InnovationsMT84 IoT and Smart Manufacturing Innovations
MT84 IoT and Smart Manufacturing Innovations
 
Presentation Hamburg
Presentation HamburgPresentation Hamburg
Presentation Hamburg
 
Top 6 IoT Use Cases in Manufacturing
Top 6 IoT Use Cases in ManufacturingTop 6 IoT Use Cases in Manufacturing
Top 6 IoT Use Cases in Manufacturing
 
IoT and Smart Manufacturing
IoT and Smart ManufacturingIoT and Smart Manufacturing
IoT and Smart Manufacturing
 
Milk run distribution
Milk run distributionMilk run distribution
Milk run distribution
 
Presentation on burger king
Presentation on burger kingPresentation on burger king
Presentation on burger king
 

Similar to Ansible Meetup Hamburg / Quickstart

Hue: Big Data Web applications for Interactive Hadoop at Big Data Spain 2014
Hue: Big Data Web applications for Interactive Hadoop at Big Data Spain 2014Hue: Big Data Web applications for Interactive Hadoop at Big Data Spain 2014
Hue: Big Data Web applications for Interactive Hadoop at Big Data Spain 2014
gethue
 
From Dev to DevOps - Apache Barcamp Spain 2011
From Dev to DevOps - Apache Barcamp Spain 2011From Dev to DevOps - Apache Barcamp Spain 2011
From Dev to DevOps - Apache Barcamp Spain 2011
Carlos Sanchez
 
Modern php
Modern phpModern php
Modern php
Charles Anderson
 
Supercharging WordPress Development in 2018
Supercharging WordPress Development in 2018Supercharging WordPress Development in 2018
Supercharging WordPress Development in 2018
Adam Tomat
 
Interceptors: Into the Core of Pedestal
Interceptors: Into the Core of PedestalInterceptors: Into the Core of Pedestal
Interceptors: Into the Core of Pedestal
Kent Ohashi
 
Drupal Camp Brighton 2015: Ansible Drupal Medicine show
Drupal Camp Brighton 2015: Ansible Drupal Medicine showDrupal Camp Brighton 2015: Ansible Drupal Medicine show
Drupal Camp Brighton 2015: Ansible Drupal Medicine show
George Boobyer
 
Programming language for the cloud infrastructure
Programming language for the cloud infrastructureProgramming language for the cloud infrastructure
Programming language for the cloud infrastructure
Yaroslav Muravskyi
 
What we can learn from Rebol?
What we can learn from Rebol?What we can learn from Rebol?
What we can learn from Rebol?
lichtkind
 
Putting Phing to Work for You
Putting Phing to Work for YouPutting Phing to Work for You
Putting Phing to Work for You
hozn
 
Ansible new paradigms for orchestration
Ansible new paradigms for orchestrationAnsible new paradigms for orchestration
Ansible new paradigms for orchestration
Paolo Tonin
 
HackU PHP and Node.js
HackU PHP and Node.jsHackU PHP and Node.js
HackU PHP and Node.jssouridatta
 
Streamline Hadoop DevOps with Apache Ambari
Streamline Hadoop DevOps with Apache AmbariStreamline Hadoop DevOps with Apache Ambari
Streamline Hadoop DevOps with Apache Ambari
Jayush Luniya
 
Streamline Hadoop DevOps with Apache Ambari
Streamline Hadoop DevOps with Apache AmbariStreamline Hadoop DevOps with Apache Ambari
Streamline Hadoop DevOps with Apache Ambari
DataWorks Summit/Hadoop Summit
 
Apache spark session
Apache spark sessionApache spark session
Apache spark session
knowbigdata
 

Similar to Ansible Meetup Hamburg / Quickstart (20)

Hue: Big Data Web applications for Interactive Hadoop at Big Data Spain 2014
Hue: Big Data Web applications for Interactive Hadoop at Big Data Spain 2014Hue: Big Data Web applications for Interactive Hadoop at Big Data Spain 2014
Hue: Big Data Web applications for Interactive Hadoop at Big Data Spain 2014
 
From Dev to DevOps - Apache Barcamp Spain 2011
From Dev to DevOps - Apache Barcamp Spain 2011From Dev to DevOps - Apache Barcamp Spain 2011
From Dev to DevOps - Apache Barcamp Spain 2011
 
Modern php
Modern phpModern php
Modern php
 
Supercharging WordPress Development in 2018
Supercharging WordPress Development in 2018Supercharging WordPress Development in 2018
Supercharging WordPress Development in 2018
 
extending-php
extending-phpextending-php
extending-php
 
extending-php
extending-phpextending-php
extending-php
 
extending-php
extending-phpextending-php
extending-php
 
extending-php
extending-phpextending-php
extending-php
 
extending-php
extending-phpextending-php
extending-php
 
extending-php
extending-phpextending-php
extending-php
 
Interceptors: Into the Core of Pedestal
Interceptors: Into the Core of PedestalInterceptors: Into the Core of Pedestal
Interceptors: Into the Core of Pedestal
 
Drupal Camp Brighton 2015: Ansible Drupal Medicine show
Drupal Camp Brighton 2015: Ansible Drupal Medicine showDrupal Camp Brighton 2015: Ansible Drupal Medicine show
Drupal Camp Brighton 2015: Ansible Drupal Medicine show
 
Programming language for the cloud infrastructure
Programming language for the cloud infrastructureProgramming language for the cloud infrastructure
Programming language for the cloud infrastructure
 
What we can learn from Rebol?
What we can learn from Rebol?What we can learn from Rebol?
What we can learn from Rebol?
 
Putting Phing to Work for You
Putting Phing to Work for YouPutting Phing to Work for You
Putting Phing to Work for You
 
Ansible new paradigms for orchestration
Ansible new paradigms for orchestrationAnsible new paradigms for orchestration
Ansible new paradigms for orchestration
 
HackU PHP and Node.js
HackU PHP and Node.jsHackU PHP and Node.js
HackU PHP and Node.js
 
Streamline Hadoop DevOps with Apache Ambari
Streamline Hadoop DevOps with Apache AmbariStreamline Hadoop DevOps with Apache Ambari
Streamline Hadoop DevOps with Apache Ambari
 
Streamline Hadoop DevOps with Apache Ambari
Streamline Hadoop DevOps with Apache AmbariStreamline Hadoop DevOps with Apache Ambari
Streamline Hadoop DevOps with Apache Ambari
 
Apache spark session
Apache spark sessionApache spark session
Apache spark session
 

More from Henry Stamerjohann

MacSysAdmin Conference 2019 - Logging
MacSysAdmin Conference 2019 - Logging MacSysAdmin Conference 2019 - Logging
MacSysAdmin Conference 2019 - Logging
Henry Stamerjohann
 
JamfNation Roadshow Frankfurt-2019 - Security & Business Intelligence
JamfNation Roadshow Frankfurt-2019 - Security & Business IntelligenceJamfNation Roadshow Frankfurt-2019 - Security & Business Intelligence
JamfNation Roadshow Frankfurt-2019 - Security & Business Intelligence
Henry Stamerjohann
 
Google Santa In-Depth - a macOS security & logging tool
Google Santa In-Depth - a macOS security & logging toolGoogle Santa In-Depth - a macOS security & logging tool
Google Santa In-Depth - a macOS security & logging tool
Henry Stamerjohann
 
Zentral QueryCon 2018
Zentral QueryCon 2018Zentral QueryCon 2018
Zentral QueryCon 2018
Henry Stamerjohann
 
Building your macOS Baseline Requirements MacadUK 2018
Building your macOS Baseline Requirements MacadUK 2018Building your macOS Baseline Requirements MacadUK 2018
Building your macOS Baseline Requirements MacadUK 2018
Henry Stamerjohann
 
Zentral - what's new? - MacDevOps:YVR 2017
Zentral - what's new? - MacDevOps:YVR 2017Zentral - what's new? - MacDevOps:YVR 2017
Zentral - what's new? - MacDevOps:YVR 2017
Henry Stamerjohann
 

More from Henry Stamerjohann (6)

MacSysAdmin Conference 2019 - Logging
MacSysAdmin Conference 2019 - Logging MacSysAdmin Conference 2019 - Logging
MacSysAdmin Conference 2019 - Logging
 
JamfNation Roadshow Frankfurt-2019 - Security & Business Intelligence
JamfNation Roadshow Frankfurt-2019 - Security & Business IntelligenceJamfNation Roadshow Frankfurt-2019 - Security & Business Intelligence
JamfNation Roadshow Frankfurt-2019 - Security & Business Intelligence
 
Google Santa In-Depth - a macOS security & logging tool
Google Santa In-Depth - a macOS security & logging toolGoogle Santa In-Depth - a macOS security & logging tool
Google Santa In-Depth - a macOS security & logging tool
 
Zentral QueryCon 2018
Zentral QueryCon 2018Zentral QueryCon 2018
Zentral QueryCon 2018
 
Building your macOS Baseline Requirements MacadUK 2018
Building your macOS Baseline Requirements MacadUK 2018Building your macOS Baseline Requirements MacadUK 2018
Building your macOS Baseline Requirements MacadUK 2018
 
Zentral - what's new? - MacDevOps:YVR 2017
Zentral - what's new? - MacDevOps:YVR 2017Zentral - what's new? - MacDevOps:YVR 2017
Zentral - what's new? - MacDevOps:YVR 2017
 

Recently uploaded

Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 

Recently uploaded (20)

Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 

Ansible Meetup Hamburg / Quickstart