SlideShare uma empresa Scribd logo
1 de 44
Baixar para ler offline
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

Mais conteúdo relacionado

Mais procurados

Mais procurados (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!
 

Destaque

Milk run distribution
Milk run distributionMilk run distribution
Milk run distribution
Hammaduddin
 
Presentation on burger king
Presentation on burger kingPresentation on burger king
Presentation on burger king
mominul_Islam
 

Destaque (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
 

Semelhante a Ansible Meetup Hamburg / Quickstart

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
 
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
 
HackU PHP and Node.js
HackU PHP and Node.jsHackU PHP and Node.js
HackU PHP and Node.js
souridatta
 

Semelhante a 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
 

Mais de Henry Stamerjohann

Mais de 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
 

Último

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Último (20)

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 

Ansible Meetup Hamburg / Quickstart