Subscribe to the feed

Keeping a private cloud platform up to date can seem deceptively simple; as simple as running the platform's "upgrade" component. However, it can be the platform's Achilles heel if not done properly, and it can consume your whole team's energy to rectify issues that go wrong.

In the first article in this series, we highlighted various aspects of cloud architecture; in the second article, we described self-services delivery; in the third article, we explored operations; and in the fourth article, we tackled resource and capacity management. This article discusses the elements of successful lifecycle management for a private cloud platform.

What is lifecycle management?

Lifecycle management includes the configuration and currency of the cloud environment's core processes, services, operations, and support components. Private cloud technologies have short release cycles that make it challenging for enterprises to stay current. For example, Kubernetes has a quarterly release cycle for new features while rolling out patches and security updates continuously.

It is possible to lighten the burden of ongoing upgrades on your organization by using commercially supported versions of cloud platforms that provide longer-term release cycles.

As we wrote in the first article, Capability Maturity Model Integration (CMMI) provides a framework for the maturity of the processes that combine the people, procedures, and tools to deliver capabilities. The CMMI process areas most relevant to lifecycle management are:

  • Service Continuity (SCON)
  • Work Monitoring and Control (WMC)
  • Work Planning (WP)
  • Supplier Agreement Management (SAM)

The need to stay current requires that cloud delivery teams adopt development practices such as automated testing, continuous integration, and infrastructure-as-code practices. You can no longer manage general upgrades and patches as major projects.

Environments

Teams require development, test, quality assurance, and production environments that accurately reflect the functional production configuration. It is important to match as many aspects as possible, including service topologies, encryption methods, and hardware configuration down to network interface cards. This recommendation excludes the practicalities around costs and sizing. However, the savings of debugging time and the cost of outages will offset the extra hardware costs.

Automate the upgrade lifecycle

All changes related to the environment, including patching, configuration, monitoring, and support utilities, should be done through automated deployment processes. Cloud platforms such as OpenStack and Kubernetes are API-driven, allowing for teams to include test automation.

[ Get the checklist: 10 considerations for Kubernetes deployments. ]

Sandbox environments serve as development environments for cloud engineers. This is where the engineer develops changes and builds unit tests. You should then manage the automated changes and unit tests in a Git version control repository. These changes, once ready, can be moved to test, quality assurance, and production environments according to continuous integration and continuous delivery (CI/CD) practices. Initially, you may still want to control deployment through environments manually.

Any manual steps during this process must be automated or follow strong assurance processes to ensure that processes are completed on time and as intended.

Manage configuration drift

When you manage your configuration using a version control repository, you can look at using GitOps. GitOps requires your team to capture all the configurations in a Git repository and use automation processes that can create complete environments from that configuration at any time.

Advanced cloud platform teams can destroy and recreate clusters periodically, which is sometimes called Phoenix clustering. Phoenix clusters counter configuration drift, ensure that you can respond to infrastructure disasters, and serve as a training exercise for new hires. This practice is dependent on mastery of infrastructure-as-code and automation within your team.

Conclusion

A cloud engineer is empowered to refine the lifecycle management process with the right mindset and supportive environments (labs, development, and test). Coupling this process with effective automation and configuration management makes lifecycle management easier to carry out.


About the authors

Johan has 19 years of experience in Information Technology in various sectors including Banking and Finance, and Government. For Red Hat, he worked as a Federal Government Technology Specialist. He successfully used CMMI models to establish a team that operated on DevOps principles for one of Australia's largest retail organizations. The practices used by his team became a catalyst for change in the broader IT organization.

Read full bio

Mohammad has 20+ years of experience in multi-tiered system development and automated solutions. He has extensive experience in online services that use open-source software based on UNIX and Linux. Primarily focused on IT infrastructure with a background in open source web development. Mohammad has dedicated the last 2 years to emerging technologies, primarily Kubernetes using OpenShift and automation using Ansible.

Read full bio

Maurice is a Senior Consultant at Red Hat with 30+ years experience in Information Technology. He has worked for vendors, system integrators and end user organizations and has experienced the challenges of each. 

He's well versed in server hardware and operating systems, particularly Linux, which has been his dominant focus for the last 15 years. Maurice has dedicated the last 5 years of his career to private cloud deployment and operations.

 

Read full bio

John, a Senior Technical Support Engineer, has 16 years of systems administration, operations, and IT management experience around UNIX, Linux, Performance/Capacity Management, Automation, Configuration Management, and OpenStack private clouds. Between 2010 and 2015, he spent 4.5 years as a Service Delivery Manager operating IT for a major financial institution in Australia using ITILv3 methodologies with team members stretching across 5 countries. In 2017, John joined Red Hat as a consultant.

Read full bio
UI_Icon-Red_Hat-Close-A-Black-RGB

Browse by channel

automation icon

Automation

The latest on IT automation for tech, teams, and environments

AI icon

Artificial intelligence

Updates on the platforms that free customers to run AI workloads anywhere

open hybrid cloud icon

Open hybrid cloud

Explore how we build a more flexible future with hybrid cloud

security icon

Security

The latest on how we reduce risks across environments and technologies

edge icon

Edge computing

Updates on the platforms that simplify operations at the edge

Infrastructure icon

Infrastructure

The latest on the world’s leading enterprise Linux platform

application development icon

Applications

Inside our solutions to the toughest application challenges

Original series icon

Original shows

Entertaining stories from the makers and leaders in enterprise tech