Born-in-the-cloud companies using DevOps and agile practices have inspired traditional financial services organizations to change their operations. These companies are trying to avoid the fate of obsolescence that formerly established brick-and-mortar companies such as Blockbuster and Barnes and Noble experienced when born-in-the-cloud companies like Netflix and Amazon came to dominate their market.
When pursuing digital services, developer velocity–how much work a developer can accomplish–is essential to being a competitive business. Balancing developer productivity, operational excellence, and cost efficiency drives success for these companies. In addition, the success of DevOps, cloud, and agile programs depends on developers adopting new technologies and cloud engineering teams removing barriers and delivering a frictionless experience.
[ Want more on this topic? Watch the full session, Three cloud adoption practices observed at large financial institutions, on-demand from Red Hat Summit. ]
A well-designed Kubernetes platform can help accelerate developer velocity. This platform must include guardrails to control risk and costs and simplify the implementation of common practices that enable the cloud journey.
Kubernetes as a platform
Kubernetes has emerged as the de-facto standard for cloud normalization, providing a unified platform across all cloud providers and on-premises cloud environments. However, Kubernetes is only an orchestrator and must be configured to become an application platform, such as Red Hat OpenShift. This configuration includes load balancers, software-defined networks, a registry, developer tooling, operating systems, and other services, as illustrated below.
Once Kubernetes is augmented as a platform, it can run on any cloud and provides a consistent approach for development and operations teams. It can also be implemented to meet a business' security and compliance requirements. Finally, it can mitigate some blockers that slow cloud adoption: process guardrails, discrete development practices, and cloud abstraction.
Three ways to increase cloud adoption and innovation
Here are three ways to increase cloud adoption and innovation while managing services effectively.
- Monitor cost without hindering innovation
- Standardize for consistency
- Do not develop for a specific cloud provider
I'll go into details about each of these three approaches.
1. Monitor cost, but don't hinder innovation
Many organizations vet every request to the cloud as a form of cost control, yet a 2021 study concluded that the average organization wastes 48% of its cloud resources. It's important to monitor the cost of your cloud, but it becomes self-defeating when you stand in the way of progress just to cut upfront costs. Your two investments (infrastructure and applications) cancel one another out.
[ Free eBook: Kubernetes Patterns: Reusable elements for designing cloud-native applications. ]
Instead, use a Kubernetes platform that includes compliance operators to monitor resource requirements without creating a bottleneck. Use limits and ranges to allocate budgets for developers, providing both freedom to execute and guardrails to manage operational risk.
You might also consider incorporating a cost-management operator like Koku into your platform. In addition to measuring and monitoring Kubernetes usage, these tools provide hybrid cloud cost-management services that aggregate and provide a simplified view of costs, from the macro to the granular.
2. Standardize for consistency
You can minimize learning curves for your operations and development teams by providing a consistent technology stack. Standardization can be difficult to achieve in a large organization with systems running in the cloud and on-premises. As Red Hat CEO Paul Cormier said:
"The new datacenter is the hybrid cloud, composed of bare-metal servers, virtualized environments, edge devices, and potentially hundreds (or more) cloud services. CIOs are the newly minted operators of these complex, vast cloud footprints, and they need the platforms, tools, processes, and people to operate across these clouds."
This increasing complexity makes it important to find ways to simplify and standardize the hybrid cloud interface.
[ Learn 16 steps that can help you prepare your containers and Kubernetes clusters for production traffic. ]
A well-integrated Kubernetes platform provides standardized consistency across complex infrastructures and minimizes the learning curve for developers, engineers, and operations specialists across the hybrid cloud.
3. Develop cloud-native systems that run on all cloud platforms
Cloud abstraction separates computing resources from hardware, but if developers don't have regular access to the platform or if you migrate from a platform, you risk breaking your applications. It's better to structure your deployment and testing processes around automated and codified systems that integrate, but don't rely upon, your cloud platform.
A well-architected Kubernetes platform can provide flexibility when choosing whether to maintain or transform development and build processes. It can also improve deployment and non-functional testing processes, including performance, security, and resiliency.
The hybrid cloud approach provides development and operational consistency across all cloud instances. Starting on the private cloud and progressing towards the public cloud offers a consistent context that helps develop skills and create software that runs in the cloud. As a result, this accelerates the adoption of the public cloud. Eventually, organizations can accomplish the 100% transition to the public cloud. This transition will become a nonevent and a natural evolution.
If you'd like to learn more about this topic, please read my article Three observed practices for cloud adoption at large financial institutions on International Banker, or watch Three cloud adoption practices observed at large financial institutions from Red Hat Summit 2022, available on-demand through December 2022.