This is a guest post, contributed by Dave Ellis, Technical Architect at Perficient.

In Red Hat OpenShift Container Platform 4, Red Hat released the capability to manage OpenShift infrastructure through the use of the cluster API, with machines and MachineSets. This post will discuss a few of the exciting things that this does for day two operations and running/maintaining your container infrastructure.

At Perficient we've been finding MachineSets very useful, and wanted to share what we've learned about them in helping stand up OpenShift deployments with Red Hat and our customers.

OpenShift terminology

  A machine is the most basic unit that describes the host for an OpenShift node (an EC2 instance in AWS, for example). In earlier versions of OpenShift, these hosts were provisioned and managed outside of OpenShift, but with OpenShift 4, they can now be managed as part of your overall OpenShift environment, giving you greater flexibility.

  MachineSets are groups of machines that can be grouped and managed with greater ease and efficiency. While this capability is used to help rapidly deploy your initial OpenShift cluster, it also provides a lot of day two value.

Why leverage MachineSets and OpenShift 4 in your enterprise?

In traditional legacy on-premises environments, the time it would take to create and deliver new infrastructure was long, and the risk of being caught without enough infrastructure capacity was high.

This led organizations to overbuild capacity, which increased project costs. While cloud technologies allowed for the rapid scaling of compute infrastructure, this scaling capability wasn’t integrated into the OpenShift environment, so the underlying infrastructure of your OpenShift environment didn’t have the same flexibility that OpenShift delivered to the application space.

This created extra steps and handoffs when applications outgrew deployed infrastructure capacity. Creating idle infrastructure to account for that didn’t make effective use of cloud capabilities and again added to infrastructure costs.

MachineSets allow you to seamlessly scale infrastructure up and down based on demand, right alongside your application, saving time and money. When infrastructure hits capacity thresholds that you define, MachineSets auto-scale that capacity.

When infrastructure can more easily scale up and down, the cost of customized environments becomes cheaper. Applications that might benefit from faster CPUs, for example, but that weren’t large enough to warrant the overhead of dedicated idle capacity, may become cost justifiable when you have the confidence of knowing that you can deploy a small amount of capacity and scale up and down as needed. Also, MachineSets can make managing these various customizations more manageable.

MachineSet capabilities

This scaling ability doesn’t just help with capacity. It can also help with availability. MachineSet templates can be created for different datacenters or cloud regions/availability zones and respond to conditions where you need to quickly create nodes to respond to outages or other availability issues. This ability can be tested, to give confidence that needed resilience is in place. Machine health checks, a feature that Red Hat delivered with machine management, can monitor and trigger activities, based on availability events.

Maintenance and upgrades also benefit from MachineSet capabilities, in much the same way that applications benefited from DevOps continuous integration/continuous delivery (CI/CD) practices. Instead of taking down nodes for patching or other maintenance, new nodes are created with MachineSets, tested, and then older nodes are retired after the applications are migrated.

Additionally, this allows for blue/green testing of new infrastructure in much the same way that OpenShift enables blue/green testing of applications. For troubleshooting scenarios, the ability to quickly create a new node from a validated MachineSet template provides an extra tool for isolating root cause.

With MachineSets, you can have the confidence and auditability of knowing that your dev/test environment was created with the same MachineSet as your production environment. And where differences between the environments are needed, Perficient’s team of Red Hat certified OpenShift specialists can show you how MachineSet templates help document and track those differences in a centralized, easy-to-read format.

These new infrastructure capabilities in OpenShift 4, combined with already existing capabilities for application deployment and our collaboration with Red Hat, enable you to bring the full benefits of cloud computing to bear for your business needs. We can show you how to leverage OpenShift in your container environment in order to stay competitive in an ever-changing market and work with you to enable enterprise-wide adoption of new technologies and processes that drive digital transformation and continuous modernization.

As a Premier Red Hat partner, Perficient’s OpenShift team knows how to deploy these new capabilities to help enable your business to solve its challenges around controlling cloud costs and maintaining your application availability.

Our consulting and technology expertise is founded on our standard practices, reusable frameworks, and enablement methodology. We provide services across a range of Red Hat products including its cloud computing, cloud management and automation, middleware integration, and process automation solutions. To learn more about our Red Hat collaboration and solution capabilities, see our page about Red Hat and Perficient.

Want to learn more about OpenShift 4 and its capabilities? Click here.