Overview
Provisioning is the process of creating and setting up IT infrastructure, and includes the steps required to manage user and system access to various resources. Provisioning is an early stage in the deployment of servers, applications, network components, storage, edge devices, and more.
Provisioning is not the same thing as configuration management, but they are both steps in the deployment process. Once a system has been provisioned, the next step is to configure the system and maintain it consistently over time.
Types of provisioning
Server provisioning
Server provisioning is the process of setting up physical or virtual hardware; installing and configuring software, such as the operating system and applications; and connecting it to middleware, network, and storage components. Provisioning can encompass all of the operations needed to create a new machine and bring it to the desired state, which is defined according to business requirements.
Cloud provisioning
Cloud provisioning includes creating the underlying infrastructure for an organization’s cloud environment, like installing networking elements, services, and more. Once the basic cloud infrastructure is in place, provisioning involves setting up the resources, services, and applications inside a cloud.
User provisioning
User provisioning is a type of identity management that involves granting permissions to services and applications within a corporate environment—like email, a database, or a network—often based on a user's job title or area of responsibility. The act of revoking user access is often referred to as deprovisioning.
An example of user provisioning is role based access control (RBAC). Configuring RBAC includes assigning user accounts to a group, defining the group’s role—for example, read-only, editor, or administrator—and then granting these roles access rights to specific resources based on the users’ functional needs.
The user provisioning process is often managed between IT and human resources.
Network provisioning
When referring to IT infrastructure, network provisioning is the setting up of components such as routers, switches, and firewalls; allocating IP addresses; and performing operational health checks and fact gathering.
For telecommunications companies, the term “network provisioning” refers to providing users with a telecommunications service, such as assigning a phone number, or installing equipment and wiring.
Service provisioning
Service provisioning includes the set up of IT-dependent services for an end user and managing the related data. Examples of service provisioning may include granting an employee access to a software-as-a-service platform, and setting up credentials and system privileges to limit access to certain types of data and activities.
Benefits of automated provisioning
Provisioning often requires IT teams to repeat the same process over and over, such as granting a developer access to a virtual machine in order to deploy and test a new application. This makes manually provisioning resources time-consuming and prone to human error, which can delay the time-to-market of new products and services. Manual provisioning also pulls busy IT teams away from projects that are more important to an organization’s larger strategy.
Today, most provisioning tasks can easily be handled through automation, using Infrastructure as Code (IaC). With IaC, infrastructure specifications are stored in configuration files, which means that developers just need to execute a script to provision the same environment every time. Codifying infrastructure gives IT teams a template to follow for provisioning, and although this can still be accomplished manually, automation tools can make this process far more efficient.
Using repeatable workflows, automated provisioning provides greater consistency across modern IT environments, reduces the likelihood of errors and loss of productivity, and frees IT teams to focus on strategic business objectives. With this more efficient provisioning process:
- End users and developers can gain access to the IT resources and systems they need in less time, empowering them to be more productive.
- Developers can bring applications and services to market faster, which can improve customer experience and revenue.
- IT teams can spend less time on menial, repetitive tasks—like correcting errors and misconfigurations—which allows them to focus on more critical priorities.
Accelerate your IT with Automation as Code
Building on the strategic foundation of Infrastructure as Code (IaC), organizations are beginning to use these practices to automate IT processes at every stage of the operational life cycle. Just as IaC standardizes the build, provisioning, and deployment of infrastructure, IT teams can adopt Ops as Code and Policy as Code to codify the management, maintenance, and governance of systems after they are deployed.
What to look for in an automated provisioning tool
Automated provisioning tools can focus on a specialized use case or type of system—such as a cloud provisioning or network provisioning platform—but in general terms, most organizations benefit from a solution that:
- Supports use cases such as public and private clouds, networking, security, and applications.
- Reduces IT costs by assuming the work of multiple disparate provisioning tools.
- Enables IT teams to manage configuration, Day 2 operations, and orchestration processes.
- Offers a declarative structure that allows you to define the desired state you want, without having to provide specific commands to achieve it.
- Includes self-service and role-based access features for security and control.
- Removes vendor lock-in to proprietary tools.
Why choose Red Hat?
Red Hat Ansible Automation Platform helps your organization scale automation with control and insight, foster collaboration across teams, and manage policy and governance. It includes all the tools needed to implement enterprise-wide automation, including content creation tools, a visual dashboard, an event-driven solution, and rich analytics. It delivers Red Hat's open source innovation—security-hardened for your enterprise—so you can boost productivity and reduce time-to-completion for new projects.
With your Ansible Automation Platform subscription, you can access Ansible Content Collections curated by both Red Hat and our robust partner ecosystem. You can also take advantage of hosted management services and life cycle technical support to help you fully integrate automation into your organization.
From traditional servers to the latest serverless or function-as-a-service environments, Ansible Automation Platform can provision cloud platforms, virtualized hosts and hypervisors, applications, network devices, and bare-metal servers. It can serve as the single platform in your process pipeline for the deployment and day-to-day management of your infrastructure.
While Ansible Automation Platform can be configured to automate a variety of different tasks, Red Hat Satellite is specifically designed to make it easier to deploy, scale, and manage infrastructure in Red Hat Enterprise Linux® environments. As you strategically adopt automation, one option is to start with Red Hat Satellite to streamline deployments of Red Hat Enterprise Linux before moving to Ansible Automation Platform to expand automation to other workloads, such as Microsoft Windows or ServiceNow ITSM.
If you’re working in a Red Hat Enterprise Linux environment, Red Hat Hybrid Cloud Console provides tools to help you build and customize Red Hat Enterprise Linux images, which can be launched directly on major hyperscalers or downloaded for on-premise use. Customization options include advanced partitioning and the ability to select packages from official Red Hat repositories and custom repositories. Hybrid Cloud Console also allows you to build multiple image types at once, so you can create a single image that can be launched on multiple target platforms—like AWS, Microsoft Azure, Google Cloud Platform, VMware, and bare metal.