Ansible as a Network Programming and Automation Tool
Verified
Added on 2023/06/10
|10
|3257
|68
AI Summary
This article discusses Ansible as a network programming and automation tool. It analyzes its features and provides a step-by-step guide for installation and configuration of Apache Server, MySQL, and PHP. It also evaluates the benefits of using Ansible for IT automation and networking.
Contribute Materials
Your contribution can guide someone’s learning journey. Share your
documents today.
Programmability Assessment 2
Secure Best Marks with AI Grader
Need help grading? Try our AI Grader for instant feedback on your assignments.
Background of Ansible....................................................................................................................1 Analyse the features of Ansible.......................................................................................................2 Installation and configuration of Apache Server.............................................................................3 Installation and configuration of My SQL.......................................................................................4 Installation and configuration PHP..................................................................................................4 Evaluation of Ansible as a Network Programming and automation tool........................................5 References........................................................................................................................................7
Background of Ansible Ansible is a type of software which provides the open source features and configuration management along with the application deployment tool which enables the infrastructure to act as a code. It runs on more than one Unix like system and also can configure Microsoft Windows as well. This is a type of software which is used to provide the underlying infrastructure of the environment and also virtualize the host and hyper visuals along with the network devices and bare metal servers also. It has the ability to install the services which add the computing host and provide the resources along with the applications in the cloud. It is a type of platform which is mainly used for the information technology task in order to manage the configuration and the application deployment (Opdebeeck, Zerouali and De Roover, 2021). Automation is considered important nowadays in order to collaborate with the information technology environments which are considered as complex and required to scale quickly for the system administrators and also for the developers in order to keep up with everything in a manual manner. Automation is a process which simplifies complicated functions by not only just making the developers jobs easier but also facilitating them to focus on the task and pay attention to the added value to the organisation. So basically it helps in the time efficiency and increases the cost efficiency as well. This is software which is used for automation that has raised up the top in the world among the various automation tools. This software has an architecture which has different components in its environment. Module is one of the components which are like the small programs that are pushed by the software out from the control of the machine in order to integrate the nodes or the remote host. These are the modules which are implemented with the help of clay books and also control the things for example services and packages along with the files as well. This is software which executes all the modules in order to install the updates and also provides whatever the task is required and also removes them once it is finished. Moreover it also provides multiple 450 modules for each and everyday tasks. Plugin is another component which is considered as the extra pieces of the code which augments the functionality. Software contains different numbers of plugins but it also allows writing on its own. They are some of the examples of plugins such as action and cache along with the callback plugins. Inventories are also one of the components which is considered as all the machines which are used with the software along with the control machine and notes. These are listed in a single simple file and the IP addresses along with the databases and servers and many more. It is important to register the inventory so 1
Paraphrase This Document
Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
that the variables can be assigned to any of the hosts which are used by the simple text file. Inventory can also be pulled from different sources like EC2 that is Amazon elastic compute cloud. Play books are also another component of the software which is considered as the instruction manual for tasks. Play books are basically the simple files which are written in YAML. It is not any marker language but simply the human readable data serialisation language. Play books are considered as the heart of the software and it is popular because it describes the task in order to be done in a quick manner without any need of the user in an automated manner whilerememberingtheparticularsyntax.Itisnotonlyresponsiblefordeclaringthe configuration but also accountable for the orchestrate and also to execute the task simultaneously or at the different times as well. There are different playbooks which are composed of more than one place and the goal of the play is to map a host in a group into the wild roles which are represented by the task. API is another component which stands for the application programming interfaces that is available to extend the software connection types and callbacks and many more (Dalla Palma, Di Nucci and Tamburri, 2020). Analyse the features of Ansible There are various features of ansible software. Configuration management is one of the features because the software is designed and based on reliability and its simplicity along with being consistent in terms of configuration management. Configurations in this software are simple in the data descriptions of infrastructure which are readable by humans and also parsable by machine. It uses the secure socket shell which is a network protocol in order to start managing systems in terms of password. Application deployment is another feature of the software because it quickly helps in the deployment of multi tier applications. Custom code is not necessary to automate the system in the deployment feature because stars are required to be done by writing in the playbook. The software figures the system and applications on every machine in a manual manner. Orchestration is also one of the features of the software. It involved bringing up the various elements in order to run the entire operation in the way the musical conductor produces various instruments into an artistic work (Mysari and Bejgam, 2020). It not only manages the front and but also the back and services along with the data pieces and networks and also the storage. It is important to make sure that all the tasks are managed in an appropriate order. Software uses the automated workflows in order to provide the orchestrating task in an easy manner. Infrastructure is defined with the help of a playbook so that it can be used by 2
orchestration as per the needs and requirements of the portability of the software. Security and compliance is also another feature of the software. This software contains various security policies which involve the firewall rules and also the locking down of the users which is implemented with other automated processes. It is important to configure the details of the security on the control machine in order to run the related playbook so that all the remote hosts can be automatically updated related to the details. it means that it is not required to monitor each and every machine for the security compliance on a regular basis. In terms of extra security it is impossible to retrieve the administrator user id and password in a plain text on the software. Cloud provisioning is another feature of software. It is considered as the first step of automating the application life cycle in which infrastructure is automated. This software provides the cloud platforms and virtualized host along with the network devices and bare metals servers (Rahman, Rahman, Parnin and Williams, 2021). Installation and configuration of Apache Server Installation and configuration of Apache server using the ansible software has different steps. First step is to update the system in order to install the software so that the commands for configuration can be run and operated. The second stage is to check the version of the software which is running on the operating system so that the update requirements can be fulfilled. It is important to create the playbook which must be named as Apache.yml in order to install and run the updated apache web server. Host is considered as a host name where the host file is defined. Next step is to configure the file location and create the file which contains the configuration for the virtual host. Next step is to add the template in the index file in order to create the file and also to modify as per the needs and requirements of the user (Kokuryo, Kondo and Mizuno, 2020). Now it is time for the execution of the software while using the commands. This will help in running the apache on its default port 80 which helps in verifying the browsing local host. Running the playbook consists of several actions in the software host. Installing the aptitude that is highly preferred by the software which is considered as the alternative to the apt package manager. then the next step is to install the Apache and then create the custom document folder so that the new Apache virtual host can be set up on the test page. Moreover it is important to enable the new Apache a virtual host and also to disable the default Apache website in terms of variable must be set to true. Setting up of the ufw in order to allow the hypertext transfer protocol traffic on the configured port 80 by default. These steps help in finishing the running of 3
the playbook and also the web browser on the target note that is based on the options which are defined within the configuration variables (Opdebeeck, Zerouali, Velázquez-Rodríguez and De Roover, 2020). Installation and configuration of My SQL Installing and configuration of my SQL using the ansible software also has various stages. Installing the software is the first step because it helps in the simple accomplishment of installing the personal package archive which also must be installed in the software package with apt. It is important to add the personal package chief with the help of command and once it finishes it is important to update and then finally install. Installing the required packages is a second step in which there are different types of packages which require multiple configurations and hence it is required to install for better settings and updated versions of the software (Opdebeeck, Zerouali, Velázquez-Rodríguez and De Roover, 2021). Modification in the system configuration files is thethirdstepinwhichtheusermodifiedtheconfigurationfilesaspertheneedsand requirements of the system which must be compatible with the operating system as well. Cloning the git repository is a fourth step and creating an application with composer is a fifth step. Updating the environmental variables is the 6 steps in which all the variables which are associated with the software requirement and my SQL software must be updated for the latest version and new feature tools available for running the software. Configuration of Nginx is the seventh step. All these are the steps which help with installation and the configuration of my SQL software because it helps in ensuring the required software is installed or not along with the modules and the local server as well. it also supports and facilitates with the guidance of starting and in a building the my SQL services and also in the login credentials as well (Mallett, 2021). Installation and configuration PHP Installation and configuration of PHP using the ansible software has several steps. Configuration of the software is the first step in which files and folders are stored while following some of the commands. Creating the software play book is a second step. It includes several commands which help in the installation of the PHP. It is important to add the PPA with the help of apt add repository command. After finishing this it is important to update the apt cache. Installation of the software is done while creating the new directory so that the setup of the basic configuration can be performed. Downloading of the PHP software with the help of the software is now 4
Secure Best Marks with AI Grader
Need help grading? Try our AI Grader for instant feedback on your assignments.
performed with the help of the commands used in the software(Gupta, Chowdary, Bussa and Chowdary, 2021). Commands on play book and coding can help in the proper configuration as per the needs and requirements of the user. BHP is a programming language which is basically used by the developer of a website or the software and it stands for the general purpose scripting language. It was created in 1994 and now it is produced by the PHP group. It is the server sites scripting language that is embedded in the hypertext markup language. It is basically used in the management of dynamic content and data bases along with the session writing and building of the entire electronic commerce sites. It is further integrated with several popular databases which includes my SQL and Oracle and many more(Badalyan and Borisenko, 2019). Evaluation of Ansible as a Network Programming and automation tool Ansible software is used as the tool which assist in the network programming and also provides automation services as well. This is a software which is a combination of both that is network programming and automation which is known as a network automation tool as a Ansible software. Networks rendered by the software benefits the users with simple and powerful along with the agent less automation specially the users who are the network administrators and teams who are using it on a regular or frequent basis. Networks modules within the software also aids in the configuration of the network stack along with the testing and validating the existing state of the network which further supports in the discovering and correcting network configuration drift(Vadhera, Deshwal and Tripathi, 2021). Ansible is basically the open source information technology automation tool which automates the configuration management and provisioning along with the application deployment and orchestration and also the many more manual information technology processes. It is a type of software which is a automation platform that renders the organisations a framework for operating and building up the information technology automation at scale and also from the hybrid cloud to the edge. This automation process helps in enabling the user to create and share along with the management of automation from operations and development to network teams and security. Networks are considered as the integral part of the information technology companies and therefore it highly supports automation. There are different tasks which are performed by the administrator who operates the software requires networking technologies. Such tasks includes installation and configuration along with the provisioning of servers and applications. Moreover, it also includes the updating and upgrading of the systems on a regular basis along with the monitoring and mitigating and also the 5
troubleshootingissues.ThereareseveralbenefitsofusingtheAnsibleforinformation technology automation and networking. It provides simple and human readable automation with no special skills required for coding and tasks also executes in the systematic order which helps in getting the productivity in a quick manner. Moreover, it is powerful that supports in application deployment and also the orchestrating the application life cycle. It is agent less in nature having the agent less architecture which uses the open SSH and WinRM which requires no agents to update and exploit. There are several examples of network automation such as restarting the failed devices and services which are provided by the Ansible software. Other examples includes network file management and backups along with the on boarding and off boarding of employee and generation of report which is followed by the configuration and provisioning of network and reconfiguration of device settings as well. There are other examples alsowhichincludesmigrationfromSNMPv2tov3andticketvalidationandalsothe performance monitoring and scanning of the systems security(Kostromin, 2020). 6
References Books and Journals Dalla Palma, S., Di Nucci, D. and Tamburri, D.A., 2020. AnsibleMetrics: A Python library for measuring Infrastructure-as-Code blueprints in Ansible.SoftwareX,12, p.100633. Rahman, A., Rahman, M.R., Parnin, C. and Williams, L., 2021. Security smells in ansible and chefscripts:Areplicationstudy.ACMTransactionsonSoftwareEngineeringand Methodology (TOSEM),30(1), pp.1-31. Opdebeeck, R., Zerouali, A., Velázquez-Rodríguez, C. and De Roover, C., 2020, September. Does Infrastructure as Code adhere to Semantic Versioning? an analysis of Ansible role evolution. In2020 IEEE 20th International Working Conference on Source Code Analysis and Manipulation (SCAM)(pp. 238-248). IEEE. Mallett, A., 2021. Understanding Ansible and the Red Hat RHCE. InRed Hat Certified Engineer (RHCE) Study Guide(pp. 1-9). Apress, Berkeley, CA. Opdebeeck, R., Zerouali, A., Velázquez-Rodríguez, C. and De Roover, C., 2021. On the practice of semantic versioning for Ansible galaxy roles: An empirical study and a change classification model.Journal of Systems and Software,182, p.111059. Badalyan, D. and Borisenko, O., 2019. Ansible Execution Control in Python and Golang for Cloud Orchestration.Available at SSRN 4037291. Gupta, M., Chowdary, M.N., Bussa, S. and Chowdary, C.K., 2021, October. Deploying Hadoop Architecture Using Ansible and Terraform. In2021 5th International Conference on Information Systems and Computer Networks (ISCON)(pp. 1-6). IEEE. Kostromin,R.,2020.Surveyofsoftwareconfigurationmanagementtoolsofnodesin heterogeneous distributed computing environment. InICCS-DE(pp. 156-165). Vadhera, K., Deshwal, A. and Tripathi, A., 2021. Optimization of Systems-Development Life CycleThroughAutomationUsingAnsible.InLatestTrendsinRenewableEnergy Technologies(pp. 229-240). Springer, Singapore. Mysari, S. and Bejgam, V., 2020, February. Continuous Integration and Continuous Deployment PipelineAutomationUsingJenkinsAnsible.In2020InternationalConferenceon Emerging Trends in Information Technology and Engineering (ic-ETITE)(pp. 1-4). IEEE. Kokuryo, S., Kondo, M. and Mizuno, O., 2020, December. An empirical study of utilization of imperative modules in ansible. In2020 IEEE 20th International Conference on Software Quality, Reliability and Security (QRS)(pp. 442-449). IEEE. Opdebeeck, R., Zerouali, A. and De Roover, C., 2021, May. Andromeda: A dataset of Ansible Galaxy roles and their evolution. In2021 IEEE/ACM 18th International Conference on Mining Software Repositories (MSR)(pp. 580-584). IEEE. 7