{"id":513634,"date":"2019-04-24T07:42:37","date_gmt":"2019-04-24T05:42:37","guid":{"rendered":"https:\/\/www.devoteam.com\/expert-view\/ansible-tower-ansible-made-easy\/"},"modified":"2019-04-24T07:42:37","modified_gmt":"2019-04-24T05:42:37","slug":"ansible-tower-ansible-made-easy","status":"publish","type":"expert-view","link":"https:\/\/devoteam.info\/sk\/expert-view\/ansible-tower-ansible-made-easy\/","title":{"rendered":"Ansible Tower: Ansible made easy"},"content":{"rendered":"<p><strong>On tuesday the 19th of March we attended a <a href=\"https:\/\/nl.devoteam.com\/red-hat\/\">Red Hat<\/a> workshop that gave us an introduction to Ansible Tower. At the time we were all working with or had worked with Ansible and we were curious to find out what Ansible Tower had to offer. Most of all, we were eager to learn how we could implement this as a team in Devoteam.<\/strong><\/p>\n<h2>Ansible for everyone<\/h2>\n<p><span style=\"font-weight: 400;\">First we would like to introduce you to the building blocks of <a href=\"https:\/\/www.ansible.com\/products\/tower\" target=\"_blank\" rel=\"noopener noreferrer\">Ansible Tower<\/a>. It <\/span><span style=\"font-weight: 400;\">is<\/span> <span style=\"font-weight: 400;\">a web-based solution that makes Ansible easier to use for all sorts of \u00a0IT teams<\/span><span style=\"font-weight: 400;\">. It has a very straightforward interface, so new users will find their way quickly. Ansible Tower includes real-time output of playbook runs, an all-new dashboard and expanded out-of-the-box cloud support.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Here is a list of the <strong>most important features<\/strong> that Ansible Tower has to offer:<\/span><\/p>\n<h3>Role-based access control<\/h3>\n<p><span style=\"font-weight: 400;\">You can set up teams and users in various roles. These can integrate with your existing LDAP or AD environment.<\/span><\/p>\n<h3>Job scheduling<\/h3>\n<p><span style=\"font-weight: 400;\">You can schedule different kinds of jobs in Ansible Tower. For example: run the playbook or <\/span><span style=\"font-weight: 400;\">update<\/span><span style=\"font-weight: 400;\"> t<\/span><span style=\"font-weight: 400;\">he cloud inventory. <\/span><\/p>\n<h3>Fully documented REST API<\/h3>\n<p><span style=\"font-weight: 400;\">Allows you to integrate Asible into your existing toolset and environment Tower Dashboard: use this to quickly view a summary of your entire environment. Simplifies things for sysadmins while sipping their coffee.<\/span><\/p>\n<h3>Cloud integration<\/h3>\n<p><span style=\"font-weight: 400;\">Ansible Tower is compatible with major cloud environments: Amazon EC2, Rackspace, Azure.<\/span><\/p>\n<h3>Dashboard<\/h3>\n<p><span style=\"font-weight: 400;\">In Ansible Tower you can also monitor who ran the tasks and the exact moment it was executed:<\/span><\/p>\n<h2><img decoding=\"async\" class=\"aligncenter size-full wp-image-77901\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2024\/12\/task-monitoring-ansible-tower-tt-width-919-height-540-fill-0-crop-0-bgcolor-eeeeee-except_gif-1.png\" alt=\"task-monitoring-ansible-tower\" \/><\/h2>\n<h2>How to use Ansible Tower?<\/h2>\n<p><span style=\"font-weight: 400;\">If you already know how to use Ansible, provisioning an environment with Ansible Tower is very easy. As you may already know, the basic components of Ansible are inventories, modules, variables, facts, plays, playbooks and configuration files (if you don\u2019t know the function of each component, please check the end of the blog). It is the same in Ansible Tower. Below an example workflow for deploying an environment in Ansible Tower.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">First of all, you can put your repository, containing all the components, in a cloud SCM. Then you can manage users and their access rights. For example, which user has what access rights to which particular repositories. After that, you can run templates which do the real jobs for you, such as spinning up a server in the cloud or on premise. Now that you have new servers, you need to manage machine credentials for logging into the server and run Ansible playbooks in the newly provisioned machines. Except for managing machine credentials, you can also create inventories for these machines or simply add sources to existing inventories.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">When all is set, you can go ahead and play with job Templates to deploy your desired stack. Simply log in as the right user, go to Templates and add \u201cJob Template\u201d. Specify the name of the job template, the inventory file, the playbook, and the correct credential(s).<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Building on the top of the job Template, you can finally create workflow templates.\u00a0<\/span><\/p>\n<blockquote>\n<p><em>&#8220;A workflow is a set of job templates (and thus playbooks) that are linked together in a certain specific way such that multiple job templates are executed in a predictable order. Each job template in a workflow is called a node.\u201d<\/em><\/p>\n<\/blockquote>\n<h2><span style=\"font-weight: 400;\">Execute the workflow template in Ansible Tower<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">The last step, as you can probably guess, is to execute the workflow template.\u00a0<\/span><span style=\"font-weight: 400;\">The workflow might look like this:<\/span><\/p>\n<p><img decoding=\"async\" class=\"aligncenter size-full wp-image-77911\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2024\/12\/workflow-ansible-tower-tt-width-1600-height-804-fill-0-crop-0-bgcolor-eeeeee-except_gif-1.png\" alt=\"workflow-ansible-tower\" \/><\/p>\n<p><span style=\"font-weight: 400;\">In conclusion, Ansible Tower serves as a great add-on to Ansible, with almost all of the capabilities of normal command line. It will take a complementary role in automation and visualization of the normal Ansible process. On top of that it makes the otherwise somewhat intimidating workflow of Ansible a bit more accessible. But if you want to be more creative with your playbooks, Ansible\u2019s CLI is still a better option.<\/span><\/p>\n<div class=\"block-fullwidth-dark\">\n<h3><b>Basic Terms you might encounter<\/b><\/h3>\n<p><i><span style=\"font-weight: 400;\"><strong>Inventories<\/strong><br \/><\/span><\/i><span style=\"font-weight: 400;\">Ansible works against multiple systems in your infrastructure at the same time. It does this by selecting portions of the systems listed in Ansible\u2019s inventory, which defaults to being saved in the location <\/span><span style=\"font-weight: 400;\">\/etc\/ansible\/hosts<\/span><span style=\"font-weight: 400;\">. <\/span><\/p>\n<p><i><span style=\"font-weight: 400;\"><strong>Modules<\/strong><br \/><\/span><\/i><span style=\"font-weight: 400;\">Ansible ships with a number of modules (called the \u2018module library\u2019) that can be executed directly on remote hosts or through Playbooks. Modules are essentially tools for particular tasks<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Modules can take parameters.<\/span><\/p>\n<p><i><span style=\"font-weight: 400;\"><strong>Variables<\/strong><br \/><\/span><\/i><span style=\"font-weight: 400;\">Can be scoped by a group, host, or even in a playbook.\u00a0<\/span><span style=\"font-weight: 400;\">Typically used for configuration values and various parameters.<\/span><\/p>\n<p><i><span style=\"font-weight: 400;\"><strong>Facts<\/strong><br \/><\/span><\/i><span style=\"font-weight: 400;\">Facts provide certain information about a given target host. Facts are discovered by Ansible automatically, when it reaches out to a host. Facts may be cached between playbook executions, but this is not default behavior. <\/span><\/p>\n<p><strong><i>Plays and Playbooks<br \/><\/i><\/strong><span style=\"font-weight: 400;\">The goal of the play is to map a group of hosts to some well-defined roles. A play may use one or more modules to achieve desired and state on a group of hosts.\u00a0<\/span><span style=\"font-size: 0.875rem;\">A playbook is a series of plays.<\/span><\/p>\n<p><\/p>\n<h2 class=\"has-text-color wp-block-heading\">Join our open &amp; innovative culture<\/h2>\n<p> <\/p>\n<p class=\"wp-block-paragraph\">Open, accessible and ambitious are the keywords of our organizational culture. We encourage making mistakes, we strive to do better every day and love to have fun. Doing work you love with brilliant people is what it&#8217;s all about.<\/p>\n<p><\/p>\n<\/div>\n\n","protected":false},"excerpt":{"rendered":"<p>On tuesday the 19th of March we attended a Red Hat workshop that gave us an introduction to Ansible Tower. At the time we were all working with or had worked with Ansible and we were curious to find out what Ansible Tower had to offer. Most of all, we were eager to learn how [&hellip;]<\/p>\n","protected":false},"featured_media":496647,"template":"","categories":[],"tags":[2652,2744],"industry":[],"class_list":["post-513634","expert-view","type-expert-view","status-publish","has-post-thumbnail","hentry","tag-business-platforms-sk","tag-netherlands-sk"],"acf":[],"cards":"\n\t<div class=\"single-post-card\">\n\n\t\t<figure class=\"wp-block-post-featured-image\"><a href=\"https:\/\/devoteam.info\/sk\/expert-view\/ansible-tower-ansible-made-easy\/\" target=\"_self\" ><img width=\"1920\" height=\"500\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2024\/12\/ansible-tower-making-ansible-easy.png\" class=\"attachment-post-thumbnail size-post-thumbnail wp-post-image\" alt=\"Ansible Tower: Ansible made easy\" style=\"aspect-ratio:4\/3;width:100%;object-fit:cover;\" decoding=\"async\" loading=\"lazy\" srcset=\"https:\/\/devoteam.info\/wp-content\/uploads\/2024\/12\/ansible-tower-making-ansible-easy.png 1920w, https:\/\/devoteam.info\/wp-content\/uploads\/2024\/12\/ansible-tower-making-ansible-easy-300x78.png 300w, https:\/\/devoteam.info\/wp-content\/uploads\/2024\/12\/ansible-tower-making-ansible-easy-1024x267.png 1024w, https:\/\/devoteam.info\/wp-content\/uploads\/2024\/12\/ansible-tower-making-ansible-easy-768x200.png 768w, https:\/\/devoteam.info\/wp-content\/uploads\/2024\/12\/ansible-tower-making-ansible-easy-1536x400.png 1536w\" sizes=\"auto, (max-width: 1920px) 100vw, 1920px\" \/><\/a><\/figure>\n\n\t\t\n\t\t<div class=\"wp-block-group is-vertical is-layout-flex wp-container-core-group-is-layout-43282307 wp-block-group-is-layout-flex\">\n\t<p style=\"font-style:normal;font-weight:700\" class=\"has-link-color wp-elements-1 wp-block-lp-post-type has-text-color has-primary-color has-small-font-size\">Expert View<\/p>\n\n\t\t\n\t\t<h3 style=\"font-style:normal;font-weight:400\" class=\"wp-block-post-title has-base-font-size\"><a href=\"https:\/\/devoteam.info\/sk\/expert-view\/ansible-tower-ansible-made-easy\/\" target=\"_self\" >Ansible Tower: Ansible made easy<\/a><\/h3><\/div>\n\t\t\n\t<\/div>\n\n","yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v28.4 (Yoast SEO v28.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Ansible Tower: Ansible made easy | Devoteam<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/devoteam.info\/sk\/expert-view\/ansible-tower-ansible-made-easy\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ansible Tower: Ansible made easy\" \/>\n<meta property=\"og:description\" content=\"On tuesday the 19th of March we attended a Red Hat workshop that gave us an introduction to Ansible Tower. At the time we were all working with or had worked with Ansible and we were curious to find out what Ansible Tower had to offer. Most of all, we were eager to learn how [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/devoteam.info\/sk\/expert-view\/ansible-tower-ansible-made-easy\/\" \/>\n<meta property=\"og:site_name\" content=\"Devoteam\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/devoteam.info\\\/sk\\\/expert-view\\\/ansible-tower-ansible-made-easy\\\/\",\"url\":\"https:\\\/\\\/devoteam.info\\\/sk\\\/expert-view\\\/ansible-tower-ansible-made-easy\\\/\",\"name\":\"Ansible Tower: Ansible made easy | Devoteam\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/devoteam.info\\\/sk\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/devoteam.info\\\/sk\\\/expert-view\\\/ansible-tower-ansible-made-easy\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/devoteam.info\\\/sk\\\/expert-view\\\/ansible-tower-ansible-made-easy\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/devoteam.info\\\/wp-content\\\/uploads\\\/2024\\\/12\\\/ansible-tower-making-ansible-easy.png\",\"datePublished\":\"2019-04-24T05:42:37+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/devoteam.info\\\/sk\\\/expert-view\\\/ansible-tower-ansible-made-easy\\\/#breadcrumb\"},\"inLanguage\":\"en-SK\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/devoteam.info\\\/sk\\\/expert-view\\\/ansible-tower-ansible-made-easy\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-SK\",\"@id\":\"https:\\\/\\\/devoteam.info\\\/sk\\\/expert-view\\\/ansible-tower-ansible-made-easy\\\/#primaryimage\",\"url\":\"https:\\\/\\\/devoteam.info\\\/wp-content\\\/uploads\\\/2024\\\/12\\\/ansible-tower-making-ansible-easy.png\",\"contentUrl\":\"https:\\\/\\\/devoteam.info\\\/wp-content\\\/uploads\\\/2024\\\/12\\\/ansible-tower-making-ansible-easy.png\",\"width\":1920,\"height\":500},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/devoteam.info\\\/sk\\\/expert-view\\\/ansible-tower-ansible-made-easy\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/devoteam.info\\\/sk\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Expert View\",\"item\":\"https:\\\/\\\/devoteam.info\\\/sk\\\/expert-view\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Ansible Tower: Ansible made easy\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/devoteam.info\\\/sk\\\/#website\",\"url\":\"https:\\\/\\\/devoteam.info\\\/sk\\\/\",\"name\":\"Devoteam\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/devoteam.info\\\/sk\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-SK\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Ansible Tower: Ansible made easy | Devoteam","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/devoteam.info\/sk\/expert-view\/ansible-tower-ansible-made-easy\/","og_locale":"en_US","og_type":"article","og_title":"Ansible Tower: Ansible made easy","og_description":"On tuesday the 19th of March we attended a Red Hat workshop that gave us an introduction to Ansible Tower. At the time we were all working with or had worked with Ansible and we were curious to find out what Ansible Tower had to offer. Most of all, we were eager to learn how [&hellip;]","og_url":"https:\/\/devoteam.info\/sk\/expert-view\/ansible-tower-ansible-made-easy\/","og_site_name":"Devoteam","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/devoteam.info\/sk\/expert-view\/ansible-tower-ansible-made-easy\/","url":"https:\/\/devoteam.info\/sk\/expert-view\/ansible-tower-ansible-made-easy\/","name":"Ansible Tower: Ansible made easy | Devoteam","isPartOf":{"@id":"https:\/\/devoteam.info\/sk\/#website"},"primaryImageOfPage":{"@id":"https:\/\/devoteam.info\/sk\/expert-view\/ansible-tower-ansible-made-easy\/#primaryimage"},"image":{"@id":"https:\/\/devoteam.info\/sk\/expert-view\/ansible-tower-ansible-made-easy\/#primaryimage"},"thumbnailUrl":"https:\/\/devoteam.info\/wp-content\/uploads\/2024\/12\/ansible-tower-making-ansible-easy.png","datePublished":"2019-04-24T05:42:37+00:00","breadcrumb":{"@id":"https:\/\/devoteam.info\/sk\/expert-view\/ansible-tower-ansible-made-easy\/#breadcrumb"},"inLanguage":"en-SK","potentialAction":[{"@type":"ReadAction","target":["https:\/\/devoteam.info\/sk\/expert-view\/ansible-tower-ansible-made-easy\/"]}]},{"@type":"ImageObject","inLanguage":"en-SK","@id":"https:\/\/devoteam.info\/sk\/expert-view\/ansible-tower-ansible-made-easy\/#primaryimage","url":"https:\/\/devoteam.info\/wp-content\/uploads\/2024\/12\/ansible-tower-making-ansible-easy.png","contentUrl":"https:\/\/devoteam.info\/wp-content\/uploads\/2024\/12\/ansible-tower-making-ansible-easy.png","width":1920,"height":500},{"@type":"BreadcrumbList","@id":"https:\/\/devoteam.info\/sk\/expert-view\/ansible-tower-ansible-made-easy\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/devoteam.info\/sk\/"},{"@type":"ListItem","position":2,"name":"Expert View","item":"https:\/\/devoteam.info\/sk\/expert-view\/"},{"@type":"ListItem","position":3,"name":"Ansible Tower: Ansible made easy"}]},{"@type":"WebSite","@id":"https:\/\/devoteam.info\/sk\/#website","url":"https:\/\/devoteam.info\/sk\/","name":"Devoteam","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/devoteam.info\/sk\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-SK"}]}},"uagb_featured_image_src":{"full":["https:\/\/devoteam.info\/wp-content\/uploads\/2024\/12\/ansible-tower-making-ansible-easy.png",1920,500,false],"thumbnail":["https:\/\/devoteam.info\/wp-content\/uploads\/2024\/12\/ansible-tower-making-ansible-easy-150x150.png",150,150,true],"medium":["https:\/\/devoteam.info\/wp-content\/uploads\/2024\/12\/ansible-tower-making-ansible-easy-300x78.png",300,78,true],"medium_large":["https:\/\/devoteam.info\/wp-content\/uploads\/2024\/12\/ansible-tower-making-ansible-easy-768x200.png",768,200,true],"large":["https:\/\/devoteam.info\/wp-content\/uploads\/2024\/12\/ansible-tower-making-ansible-easy-1024x267.png",1024,267,true],"1536x1536":["https:\/\/devoteam.info\/wp-content\/uploads\/2024\/12\/ansible-tower-making-ansible-easy-1536x400.png",1536,400,true],"2048x2048":["https:\/\/devoteam.info\/wp-content\/uploads\/2024\/12\/ansible-tower-making-ansible-easy.png",1920,500,false]},"uagb_author_info":{"display_name":"lea.mitteaux","author_link":"https:\/\/devoteam.info\/sk\/author\/"},"uagb_comment_info":0,"uagb_excerpt":"On tuesday the 19th of March we attended a Red Hat workshop that gave us an introduction to Ansible Tower. At the time we were all working with or had worked with Ansible and we were curious to find out what Ansible Tower had to offer. Most of all, we were eager to learn how&hellip;","_links":{"self":[{"href":"https:\/\/devoteam.info\/sk\/wp-json\/wp\/v2\/expert-view\/513634","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devoteam.info\/sk\/wp-json\/wp\/v2\/expert-view"}],"about":[{"href":"https:\/\/devoteam.info\/sk\/wp-json\/wp\/v2\/types\/expert-view"}],"version-history":[{"count":0,"href":"https:\/\/devoteam.info\/sk\/wp-json\/wp\/v2\/expert-view\/513634\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devoteam.info\/sk\/wp-json\/wp\/v2\/media\/496647"}],"wp:attachment":[{"href":"https:\/\/devoteam.info\/sk\/wp-json\/wp\/v2\/media?parent=513634"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devoteam.info\/sk\/wp-json\/wp\/v2\/categories?post=513634"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devoteam.info\/sk\/wp-json\/wp\/v2\/tags?post=513634"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/devoteam.info\/sk\/wp-json\/wp\/v2\/industry?post=513634"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}