You’ve made the decision to go down the bare metal route for your infrastructure and are now at the stage where you need to consider provisioning. Unlike cloud provisioning that is all done virtually, bare metal – as the name suggests – requires physical deployment and is therefore a little more involved.
The complexity of bare metal provisioning can vary depending on the size of the environment and where you choose to host it; sourcing two servers in an on-premise facility, for example, will differ greatly from provisioning hundreds of servers in a data center.
This article will take you through the bare metal provisioning stages, the challenges you’re likely to face, and how to get started in deploying bare metal.
Bare metal provisioning is the process of setting up and configuring physical servers. To deploy a bare metal infrastructure suited for your business, it is important to understand your individual requirements, such as:
How much server capacity you need
The type of workloads you’re going to be running on your servers
Your scaling requirements
Where your customers are and therefore the degree of latency you need to achieve to deliver your service
Understanding the fundamentals of what you need your infrastructure to do is your first step in bare metal provisioning. What follows is deciding which route is best: deploying your bare metal independently or partnering with a hosting provider.
There are three different approaches to provisioning and deploying bare metal:
Servers are bought and stored on your business’ premises using your own server resource and in-house expertise. You are responsible for their set-up, operation and maintenance.
You own the servers, but they are stored in a shared data center, racked among other business’ servers. You are still responsible for their set-up, operations and maintenance.
Instead of buying servers, infrastructure as a service or bare metal as a service involves renting dedicated servers from a hosting provider. The hosting provider will source and configure the servers to your specifications, rack them within a data center, power and maintain them. They also set up and manage the relationships with ISPs. Once this is done, control of the servers is handed over to the customer to manage on an ongoing basis, usually through a portal provided by the hosting provider.
The main challenge to be aware of with on-premise or colocation set-ups is the initial capital expenditure required to purchase the servers, configure them and find/create an environment to house them. There will also be ongoing costs in managing the environment, including 24/7 local support in each location.
Infrastructure as a service removes the need for upfront CAPEX as companies can rent bare metal resources by the hour, day, month or even years. Included within that rental cost are the servers, the operations needed to run them and the management of the data center environment in which they sit.
There are typically three stages to provisioning dedicated servers. One or all may be relevant to you depending on the kind of bare metal environment you are creating.
Stage one is all about physically deploying the hardware. If you have chosen to go down the colocation or on-prem route without the support of a hosting provider, this is where you start. You will need to source everything, from what you can expect to find in a data center (racks, power, cooling) to the networking and servers themselves. Once sourced, you then need to physically rack and stack them in your chosen environment.
The next step is connecting everything to the internet. This is dependent on the agreements you will have needed to make with Internet Service Providers (ISPs) in advance.
Sourcing bare metal hardware independently requires quite a bit of work, not just from a physical perspective of finding and setting up the right components, but also finding the best suppliers and establishing agreements.
If this level of work is too much for you or your team to set up, infrastructure as a service is worth considering. By partnering with a hosting provider, they will work with you to design the best server configuration for your needs and then rack the servers in their data center, ready to go for stage two.
Stage two involves the configuration of the network to enable communication between your server and other devices. If you have opted for colocation or on-prem, these are the steps you need to take:
Assigning IP addresses, so that the server can be uniquely identified from both the public network (the internet) and your internal private network.
Setting up switches that direct traffic within the local network for communication between devices.
Routing your data, determining how traffic should flow between the private network and public network.
Configuring your out-of-band (OOB) management to the network, enabling remote access to your server.
Once your network is ready, you can then install your operating system (OS).
If you have chosen infrastructure as a service, this stage will see your hosting provider pass the control of the bare metal provisioning process back to you once the network has been configured and the OS has been installed. They will ask you to change your password so that they can no longer access your server.
Stage three is the application installation stage. If you are migrating your infrastructure over from a different environment, it’s likely that you already have the application set up in your previous environment. In this case, you will need to migrate the data from that application over once you’ve installed the application in your new environment.
The migration process needs to be carefully considered and planned to ensure that your application and the service you are offering to customers through that application stays online.
We have talked in more detail about the data migration process and the important things to consider when planning a reverse cloud migration in a separate blog post.
If you haven’t had the application installed previously elsewhere then this stage is relatively straightforward.
It is possible to automate stage three with the help of automated bare metal provisioning. It is important to note however that automated provisioning will not be a good fit for every business. Due to the complexities involved in automation, it is only appropriate for companies that have very advanced scaling requirements.
Let’s take a more in depth look at why.
The possibility of streamlining the provisioning process entices many to the idea of automated bare metal provisioning.
By using software tools, scripts and systems to configure your servers, the need for manual input is greatly reduced.
And for some businesses – particularly those leaning towards hyperscale cloud – automation can be the answer. If your business experiences volatile usership and requires new servers to be spun up regularly to accommodate this, the time saved from automation may be worth it.
However, deciding whether to automate the deployment of your dedicated servers should be based on some key considerations:
Automation can be complicated to set up. The creation of scripts and software that will carry your provisioning requires a significant initial effort. For what is a very steep learning curve, a large amount of time and resources will be spent either learning the new tools or employing experts to take over for you.
Automation reduces the risk for human error. But in its place comes the risk of over-reliance on automation. If not caught or managed properly, a failed automation component can lead to widespread issues that could have significant impact.
Unique customization of your server OS or network can be complex or downright impossible with automation. Manual intervention will always be the preferred route for businesses who can have bespoke configuration requirements.
Although automation reduces human labour costs, the tools required to perform the software deployment may go beyond the initial savings. Moreover, the maintenance and proper supervision of these automations adds to the overall operational costs.
With so many components coming together to form the overall provisioning process, it’s likely that you will run into some challenges along the way.
From start to finish, it can take a business anywhere from 12 weeks to source and set up their bare metal servers. The challenge of sourcing servers to meet a time-sensitive deadline can tempt businesses into hastily purchasing hardware that, whilst delivered quickly, is more prone to faults. This can be due to a rushed configuration of the OS or software, or lacklustre checks of the hardware.
If you can plan your timeline and your budget to allow for premium bare metal with a thorough implementation process, the chances of running into any server issues once they have been provisioned are significantly decreased.
Regardless of who you decide to source your bare metal from and even if it’s just a standalone server, it is still important to check the fundamentals:
Make sure that the server delivered is the right specification and that you’re getting what you’ve asked for
Check that your server works once you’ve received it. Providers can provision hardware that is faulty, dead, or has the wrong OS installed. Getting replacements can be a frustrating and time-consuming process. And make sure to find a provider that uses enterprise grade components, rather than consumer grade
But what if your business requires ten servers? Or one hundred?
Mitigating hardware errors when provisioning several servers manually is going to take time. And the more servers there are, the more chance there is for human error, whether it is the provider delivering incorrect hardware, or the customer overlooking defects during inspection.
You also need to be prepared for unpredictable scaling. Manually checking each server is not an efficient solution, as these checks will need to be repeated for every new server provisioned during scaling.
This is where automated bare metal provisioning can be worth your effort. Although the need for both a system administrator and a development and operations team will take time at first, creating a system that can automate the provisioning of multiple servers will give you that time back in the long run, as well as controlling any risk that comes from overseeing the servers manually.
By planning ahead, you will identify the potential challenges before they start to affect your infrastructure.
From the physical deployment of your hardware to the final installation of your application, each stage of the bare metal provisioning process requires thoughtful planning.
By being aware of what is involved at each step you can better budget, timeline and allocate resource to avoid any nasty surprises along the way and deliver a server infrastructure that meets the specific requirements of your business.