A guide to software configuration management arte




















The text of the guide introduces the essential concepts of SCM, particularly those of special significance for example, libraries and tools to software engineering. For those preparing SCM Plans, the second part of the guide provides sample plans for consideration. The sample SCM Plans include a variety of software configuration management applications for different types of projects and organizations. It describes a Plan for managing a typical software development cycle where the development is contracted to an organization that does not have responsibility for its maintenance or use.

It describes a Plan for supporting a prototype development activity where the goal of the project is to demonstrate the feasibility of a concept. It describes a Plan for managing both software development and maintenance of a commercial product line. Some of the different characteristics illustrated are shown in Table 1.

In this process to verify the developed software product as per the baselines or not. Here we go for function requirement audit and physical audit of the software application. It is a technical review on the application workflow, process, configuration items, and change requests, etc to generate the status report in every phase of the software development life cycle process. In this article we briefly discuss the software configuration management process which helps to track, managing and controlling the changes on the configuration items during the software development life cycle.

But most of the IT industry uses open-source software configuration management tool GIT as version control. This is a guide to Software Configuration Management. Here we discuss an introduction to Software Configuration Management, Why do we need it and how does it work. You can also go through our other related articles to learn more —. Submit Next Question. By signing up, you agree to our Terms of Use and Privacy Policy. He felt dissatisfied with both, particularly their slowness and over-reliance on Ruby.

By default, Salt requires agents installed on the nodes minions and at least one Salt master server. The flexibility of Python allows Salt to run nearly everywhere that Python runs. It supports various technologies for major cloud providers, almost all operating systems including the Microsoft Windows ecosystem , the main virtualization and containers platforms, database infrastructure, monitoring and networking.

Salt, currently in version , has around modules or plugins in several areas of IT infrastructure, security compliance and networking automation:. Source: Salt Proxy Minion.

The server component is called the Salt master, and the agent is called the Salt minion. Salt has many resources for its community of users, contributors and developers. The big event for enthusiastic users, consumers, partners and developers is SaltConf. The Learning Curve is low for the basics of getting SaltStack up and running.

Tutorials and Getting Started , online documentation, as well as The Hacks podcast are easily accessible. Reference materials like the site, documentation, resources, and use cases fall short of expectations and can frustrate new fans.

The tutorials, on the other hand, are well done. The organization of the online documentation is not intuitive and has terrible design compared with the other tools assessed in this article. This is the main drawback of SaltStack. Salt integrates with any management configuration tool. It is best for enterprise IT organizations that wish to orchestrate and to automate IT tasks with speed and flexibility to deliver continuous security compliance, vulnerability remediation and IT security.

How can you benefit from the DevOps Culture and be agile, with the daily increase in tools and solutions that are emerging and disappearing at every moment? How can you choose the best CM tool for your particulars?

Ansible vs. Terraform vs. Puppet vs. Chef vs. To simplify the management of environments in the public and private clouds, multi-cloud and hybrid clouds. To orchestrate environments that have rigid compliance requirements, maintaining an immutable configuration. Continuous Automation on complex topologies or deployments that need speed.

To orchestrate and to automate IT tasks with speed and flexibility. Configuration Management Tools: Orchestration and Provisioning Traditional software configuration management SCM tools are used to track changes made during the lifetime of an application. Configuration Management Features: Enforcement: ensure that the resources are in the desired state Enabling cooperation: team members are able to cooperate Version control: baseline with tracking all versions of code Enable change control process: every change made over time and Abstraction: e.

Mutable or Immutable Infrastructure The concept for mutable and immutable infrastructure is whether or not an environment can change after its creation. Procedural or Declarative Approach The configuration management tools work with different methodologies to define configuration in code namely procedural or declarative syntax. Master Server and Agents One of the things a sysadmin must evaluate when choosing tools is trade-off between benefits and the complexity a tool will add to the environment being managed.

It is possible to manage desired states and idempotency natively in the tasks that will be performed. It integrates with almost every area of the infrastructure, from provisioning virtual machines VMs to creating rules on a firewall. It also focuses on areas where other tools leave gaps such as zero stop and continuous updates for multi-tier applications across the infrastructure.

Provisioning: Ansible has modules for containers, virtualization, cloud vendors, and can easily integrate with other tasks from previous steps. On Devices and Resources: Ansible does not require agents installed on the endpoints. Technologies you can use: Ansible, currently in version 2. Tasks execute an Ansible module. In cases where the resource being managed does not have Python installed or no API is available, shell commands can be executed through the raw module.

They can be part of the main Ansible code base or external. Inventory: List of the resources in your infrastructure that will be managed with Ansible. Ansible allows static inventory files or dynamic inventories, through the use of scripts and inventory plugins.

AD-HOC: The execution of ad-hoc commands through the ansible cli command is a feature for remotely executing simple tasks using modules without having a playbook. Maturity and Learning Curve Ansible has a very short learning curve, with easy installation and initial configuration. Can it be used with other configuration management tools? Ideal Use Case Due to the great and increasing number of supported resources and its ease of use, Ansible is a great choice for those starting with configuration management tools and infrastructure-as-code.

Read this tutorial to get started with Ansible quickly Terraform Website Documentation Community Brief Summary Terraform is an open-source infrastructure-as-code software tool written in the Go Language. The resources and features available [6] : Infrastructure-as-Code IaC : It allows handling the datacenter as code that can be shared and reused. Execution Plans: One of the stages of a run, shows the changes that will be made and the impacts on the existing infrastructure when apply is called.

Resource Graph: Shows a graph of the plan with all the resources that will be created and modified, parallelizing the tasks of non-dependent resources. Change Automation: Knowledge of the exact changes and in what order they will be done with minimal human interaction, avoiding possible human errors. On Devices and Resources: Terraform does not require agents installed on the endpoints. Technologies you can use: Terraform, currently in version 0. How Does Terraform Work? The resources are divided into blocks and each block describes one or more infrastructure objects E.

Each provider offers a set of named resource types and defines for each resource type which arguments it accepts. Modules: Module is a container with multiple resources. They can be compared with Ansible Roles. Terraform Register is an online resource to share and download modules. Other Resources Terraform Cloud: Terraform Cloud provides a central interface for running Terraform within a large collaborative organization.

Community and Support Terraform is an open-source tool and its code is hosted on Github. Terraform arrived with the intent of being the tool to manage resources in varied cloud providers: Bootstrapping and initializing resources. Provides a flexible abstraction of resources and providers.

Turn manual customizations into code-defined infrastructure. Read this tutorial to get started with Terraform quickly Puppet Website Documentation Community Brief Summary Puppet is a company that began around the name of its main product, despite having other products and services today.

Available resources and features: Continuous Delivery: Integrate with other tools for cloud-native deployments, infrastructure deployment workflow, self-service, and cloud provisioning. Continuous Compliance: For critical environments, with regulatory requirements and security standards, use Puppet to ensure your infrastructure is always compliant.

It allows auditing with reports that demonstrate compliance. Incident Remediation: For quick remediation, removing barriers between DevOps and InfoSec, reducing surface attack area, and integrating with leading vulnerability assessment tools.

You can quickly harden existing systems, automate your environment to minimize the risk of human error, reduce manual work, make a faster recovery possible by reducing downtime, integrate with existing automation code, and begin to tackle your patch management backlog. On Devices and Resources By default, Puppet requires agents installed on the endpoints and managed nodes.

Technologies you can use: Puppet, currently in open source version 6. Provisioning tools: Terraform, Satellite, and others. How Does Puppet Work? Hiera: Hiera is used to separate data from Puppet code. Puppet uses Hiera to store the configuration data in key-value pairs and to recover data a particular module needs for each node during the catalog compilation.

Facter: Facter has the feature to collect facts of the nodes. These facts will be used in your Puppet manifest as variables for cross-platform systems. Manifest: Files to describe the desired state of your system using a custom non-standard Declarative Domain Specific Language DSL with restrictive rules. These manifest files saved with. Resources: It describes the configuration of elements of a node, in DSL, to be managed over time, such as user, package, service, interface, exec, or a registry key, without needing all steps to achieve a final desired state.

Puppet Remediate: Remediate is a tool for vulnerability management, find and fixing vulnerabilities for Infosec and IT Ops teams. Project Nebula Beta : Nebula is used for the continuous deployment of multiple cloud-native applications and infrastructure in the repeatable workflows simplest way.



0コメント

  • 1000 / 1000