Modernize apps improve developer experiences with Red Hat Services
Introduction
The practice of designing, building, and maintaining the foundational technology and infrastructure that support software applications and services is changing.
For more than a decade, DevOps has emphasized the close collaboration between development and operations teams, breaking down divisions and promoting continuous integration and delivery. Agile, on the other hand, prioritizes iterative development, customer feedback, and adaptability.
While these methodologies have both been transformative, the IT landscape is witnessing an evolution. Organizations are focused on business outcomes, and recognize that to achieve their goals they need to take a product-oriented approach that shifts ownership of delivering that product from a single team to a much broader group.
A component of this change is the shift left, which refers to the practice of moving activities and responsibilities that are traditionally performed later in the development process to an earlier stage, where better decisions can be made and unnecessary hand-offs between teams eliminated.
The goal of shifting left is to identify and address issues, defects, security risks, and potential problems as early as possible in the software development life cycle, rather than waiting until they become more costly and time-consuming to fix in later stages. A prevalent drawback to this approach is the increased cognitive load on developers, adding frontend, backend, build and deployment code, infrastructure, integrations, and security to their focus on writing application code. Another challenge of this approach is finding a way to apply lean principles across the enterprise and reduce the number of changeovers and handoffs between teams in order to deliver the solutions customers demand while not shifting all of the burden onto developers.
The developer workload is increasing
Shifting left has increased the cognitive load on developers. They are tasked with additional responsibility such as software delivery and expectations to become experts across more domains.
This means learning new skills such as, continuous integration (CI), continuous delivery, continuous deployment, and infrastructure as code for containers.
For those organizations struggling to adopt a shift-left approach, an application platform, such as Red Hat OpenShift Cloud Services, can transfer this cognitive load onto the platform and off of the developer.
Respond to complex systems and processes
Addressing friction and toil in the development workflow is crucial for promoting developer efficiency, reducing burnout, and helping teams to deliver high-quality software in a timely manner.
But before we can identify and address these bottlenecks in the organization, it’s important to understand what these terms mean.
Friction is where the flow of value stops because a developer has to wait for someone to approve something or because another process has to pick up what’s being done. If that process has a backlog it creates a bottleneck stalling developer progress, adding frustration and time to the development process.
Toil can be defined as any work or activity that a developer has to do that is not directly related to achieving the business objective. This might include responding to an unplanned outage or other high-priority user ticket, filling out a ServiceNow request for a resource, or stopping to reconfigure something on their developer workstation.
IT organizations can take measures to identify and eliminate sources of friction and toil through continuous improvement processes, adopting a platform engineering approach, along with agile and DevOps methodologies, and investing in tools that streamline development workflows.
However, these challenges cannot be eliminated through tooling alone. It’s essential for organizations to consider how they can alter processes and improve interactions to increase effectiveness. This could include self-service capabilities, well-defined team interaction patterns, and adopting a site reliability engineering (SRE) approach.
Taking measures such as these can help organizations revolutionize the way their teams work.
ExxonMobil, one of the world’s largest energy providers and chemical manufacturers, worked with Red Hat to migrate hundreds of on-premise applications to Microsoft Azure Red Hat® OpenShift®, which is now used by more than 130 development teams globally.
This fundamental shift helped reduce operational costs, speed delivery of new cloud-native applications, and accelerate their hybrid cloud strategy.1
Identify points of friction
Many IT leaders will know that their development teams are busy, but taking a closer look to identify where the points of friction are will not only help accelerate the development and deployment of new applications and solutions, it will reduce developer frustration resulting in higher productivity, reduced burnout, and talent retention.
By looking at these processes, you can determine where the issues are and look more closely at where the point of friction is affecting performance. This might be an approval process or manual testing that could be automated.
If the slowdown is happening before the code commit, the friction could be associated with the distribution of work to teams based on customer and user input, or input from the business.
Assessing process performance
Understanding and identifying points of friction will provide insights, but it is also important to look at the bigger picture to evaluate where in your application development process you can find efficiencies. Here are 2 approaches that can help:
By implementing MBPM, organizations can gain valuable insights, optimize their development processes, and deliver higher-quality software products more efficiently.
It’s a data-driven approach that promotes continuous improvement and can lead to better outcomes in application development.
The aim of this investigation and measurement is less to do with evaluating individual performance of team members, and more focused on how effective your current processes contribute to your organization’s business goals.
In this e-book we explore 5 key areas to focus on to help accelerate your application development process while alleviating the growing burden put on developers today.
A good place to start is considering your software delivery performance, the point at which code is completed, by asking:
- How effectively can teams get code to production?
- What is the lead time to make a change?
- What is the deployment frequency?
- How long does it take to get code out to users?
- Are teams able to deploy with few failures?
- When failures do happen, how long does it take to
rectify? - Do you have a way to automatically track and report answers to these questions over time?
Chapter 1: Invest in a hybrid cloud future
Organizations know they must deliver innovative customer experiences to stay competitive, but every new application and service release adds cost and complexity.
To gain the flexibility and efficiency needed to excel, many organizations are developing new applications in a public cloud and moving existing workloads there as well.
But, as many IT teams recognize, not all workloads can be moved to the public cloud because of security, data protection, and monolithic legacy systems that cannot be easily ported.
The dynamic nature of hybrid cloud can also create challenges such as:
- An inconsistent experience across clouds.
- A steep learning curve with the hundreds of cloud providers and services available.
- A negative impact on developer productivity and experience.
All of these factors make it challenging to decide which public and private clouds are right for each workload, and what you choose today won’t always be the best solution tomorrow.
Support your cloud journey with a consistent foundation and expert help
When making the move to the public cloud or expanding your organization’s IT environment, it’s important to remember that no single cloud provider or on-premise environment has everything your organization needs.
To make the most of the public cloud today and be prepared for future needs such as pushing deployments out to your network’s edge, it’s important that your application platform doesn’t limit future options.
Red Hat OpenShift is an application platform that empowers your developers across hybrid and multicloud environments with the flexibility, tools, and speed to increase their productivity, streamline the application development process, and support each new application that you release.
Success story
Implementing a consistent foundation
Brightly Software, a Siemens company and global leader in intelligent asset management solutions, was wrestling with technical debt from rapid growth and acquisitions, and sought to build a platform to support their expansion.
The company needed a way to consolidate and modernize their platform. Together, Brightly and Red Hat Consulting worked to build a new platform to rapidly deploy and onboard applications and provide new features to existing customers through Red Hat OpenShift Service on AWS.
In addition to the technology solution, Brightly’s team benefited from Red Hat’s expertise which helped them:
- Apply a product mindset to advance the successful adoption of platforms within the organization, referred to as a Platform-as-a-Product approach.
- Implement an understanding of agile processes and growth in their team’s technical abilities.
- Build a foundation that helps Brightly to enter new markets quickly and increase market share.
- Improve application uptime and process transparency to allow for quicker recovery.
- Decrease the time it takes to onboard applications to cloud platforms.
Chapter 2: Modernize DevOps focused on Platform-as-a-Product and developer experience
Scaling DevOps across entire organizations has proved to be challenging because of the team structure and skills requirements in cross-functional teams.
This eventually leads to inconsistent application delivery tools and processes due to local decisions within each team.
Platform engineering emerged as an approach to scaling DevOps across organizations and to reduce the cognitive load of application teams.
The importance of a product mindset
Platform engineering emphasizes a product mindset, which refers to the shift a platform team makes away from building technology-focused products, to creating solutions that resonate with users. This subtle shift in mindset is about putting the user at the forefront, continually evolving, and creating value. It’s not just about what the platform can do, but what the user can achieve with it.
In doing so, platform engineering advocates for cultivating a product The importance of a product mindset management culture within the platform teams and seeks continuous feedback through working with developers to identify and prioritize capabilities most useful to them with a user experience that surpasses their existing experience and workflows.
Why does platform engineering matter?
Platform engineering extends the principles of DevOps and agile approaches by emphasizing the creation and maintenance of robust, scalable, and automated platforms such as Red Hat Developer Hub. This provides a foundation for developers to code, build, integrate, and deploy applications consistently.
Success story: Putting platform engineering into practice
CIBC supports hundreds of applications that provide financial services to its 11 million personal, public sector, institutional, and corporate clients, 24x7. To respond in an agile way to the evolving needs of those customers, CIBC adopted a hybrid cloud strategy.
Working closely with Red Hat Consulting, CIBC deployed Red Hat OpenShift to provide a central environment for developing, deploying, and running applications across hybrid IT environments.
By understanding and adopting a Platformas-a-Product mindset in a cloud environment,
CIBC was able to:3
- Implement software upgrades in real time with no disruptions in their production environments.
- Accelerate deployment time by 52%.
- Gain a 95% improvement in provisioning test servers.
Get started with platform engineering
To successfully adopt a platform engineering approach, it’s important to shift your thinking from implementing and supporting technology to the experience of users of the platform and how to remove friction from their value stream. SRE teams contribute to this shift by partnering with platform engineers to establish reliable, scalable, and security-focused infrastructure. SRE teams can further abstract aspects of a platform solution by helping a team of platform engineers stay focused on user experience rather than operational concerns.
These 5 steps can help you get started with platform engineering over the short, mid, and long term.
Introducing the Red Hat Developer Hub
The Red Hat Developer Hub, is an enterprise-grade, open developer platform for building developer portals, containing a supported and opinionated framework.
Red Hat’s distribution of Backstage includes Red Hat supported plug-ins for an opinionated approach on getting started with developer portals.
Developer Hub helps developers to manage the overwhelming number of development tools by acting as a Introducing the Red Hat Developer Hub central space where developers can access all the relevant information and resources they need with as little friction as possible.
The essential elements that make Developer Hub so effective are its plug-ins system, the dynamic catalog of project components, and the ability to create templates that can be shared across projects. Developer Hub is not just a portal, it’s a tool that transforms the way development teams get work done.
[Red Hat OpenShift Service on AWS] allows us to focus our scarce DevOps resources on improving our applications and delivering automation to our software developers, instead of managing our Kubernetes-centric platform, patching it, securing it, improving it.2
“Red Hat brought in a team of people that partnered with our developers and architects,” said Kent Norton, Chief Technology Officer at Brightly. “They joined the team and helped them visualize the path to our future platform.”2
Red Hat OpenShift provides a unified application development platform to help developers focus on building and releasing software more quickly. It provides a standardized experience and shared best practices for DevOps teams to enhance consistency and security across multicloud environments.
[Red Hat OpenShift] allows us to deploy applications in the private cloud and allows us to scale to the public cloud if necessary. This allows our developers to develop and deploy applications faster, more securely, and with greater stability.3
How an SRE team works for you
An SRE team uses a software engineering approach to manage systems, solve problems, and automate tasks at scale. This helps organizations improve availability and reliability, while saving time, moving more quickly, and reducing complexity.
Organizations that have chosen to use Red Hat’s OpenShift Cloud Services for application development benefit from a Red Hat SRE team that manages security, observability, performance, and scalability of the managed Red Hat OpenShift platform.
Red Hat SRE teams work collaboratively to reduce toil across their container platform.
They build the tooling and automation to provide a platform that is reliable, resilient, security-focused, and scalable so platform engineers can focus on curating a platform experience that helps developers to build solutions that meet business outcomes.
Red Hat SRE teams run thousands of Red Hat OpenShift clusters around the world across AWS, Microsoft Azure, Google Cloud Platform, and IBM Cloud.
Chapter 3: Find solutions that provide a consistent experience
To stay competitive and meet customer expectations, many organizations are striving to accelerate how they build, deploy, and run their applications and services.
Moving to a containerized environment can help, and there are plenty of tools and services to get you started. However, not all of them offer the interoperability you need to be agile and responsive to the current marketplace while remaining security-focused and consistent.
Container and Kubernetes solutions that are built for an open, hybrid cloud strategy will give you the flexibility to run applications across IT environments. These types of containerized architectures require expertise to run, and pull time and resources away from application development to manage the IT infrastructure instead.
However, there are many ways to access modern infrastructure, even if your business isn’t set up to run the entire stack by itself. That’s where a provider with a portfolio of managed cloud services, such as Red Hat Cloud Services, can help.
Support in the cloud
By offloading the responsibility for some or all of the management, updating, and maintenance to Red Hat experts, your organization can focus on developing applications while reducing the time and costs associated with running the platform.
In fact, Forrester research found that study participants who used Red Hat OpenShift and Red Hat Cloud Services reduced the developer time required to plan, document, and design each application by 85%.5
Red Hat OpenShift is a unified application platform to build, modernize, and deploy applications at scale. It brings together tested and trusted services to reduce the friction of developing, deploying, running, and managing applications. And it provides a consistent experience across public cloud, on-premise, hybrid cloud, or edge architecture.
Air Canada adopts Red Hat OpenShift Service on AWS
Air Canada adopted Red Hat OpenShift Service on AWS as their standard container solution to mitigate the growing complexity of the IT environment. By moving their containerized applications that used to run on premise and shifting them to the cloud, while also refactoring as needed, Air Canada was able to increase reliability, be more responsive to their customers, and mitigate the IT complexity that was slowing innovation.
What took us 10 people to do before, we do with 1 on Red Hat OpenShift Service on AWS.4
Developer time required to plan, document, and design each application reduced by 85%5
Chapter 4: Help developers provide business value more quickly
Another aspect of the emerging trend toward platform engineering is viewing the developer as the customer. In this approach, the designing and building of toolchains and workflows as an integrated product is done with the developer in mind. The goal of this approach is to provide self-service capabilities with automated infrastructure operators for software engineering organizations.
Platform engineers create, maintain, and continuously evolve the integrated product, or internal developer platform (IDP), to support the needs of software developers by providing common, reusable tools and capabilities.
However, there is a component to platform engineering that is often overlooked, which is the developer experience. From an internal perspective, your developers are your customers, but a common downfall to effectively implementing a platform engineering approach is making assumptions about what your developers need.
It’s important to not focus solely on tooling in platform engineering, and remember to keep the outcomes that the organization is striving for front and center.
Focus on the developer experience
Developer portals help teams curate, manage, and replicate these environments. Red Hat Developer Hub helps to build developer portals with a supported and opinionated framework to streamline the developer process with access to the tools and resources developers need to build high-quality software efficiently.
Building out your developer platform and connecting it to a developer portal, such as Red Hat Developer Hub, can be a daunting task filled with many decision points. Red Hat Consulting, together with Red Hat Training and Certification, can help teams create a streamlined modern DevOps approach. Red Hat Training provides training courses and certifications that help IT teams build skills for new technology and tools. Red Hat Consulting and the Red Hat Developer Hub Pilot are available to help you put that new knowledge into practice.
Every engineering team and every IT project involves a tailored development environment. This collection of tools, services, and configuration is often maintained by conventions and transmitted from 1 team member to another.
By providing specific developer-focused training and tools, Red Hat experts help reduce operational costs by helping teams focus on technology, people, and processes. Tools are offered for both inner and outer loop:
The benefit of inner and outer loop tools is simplifying the experience of building applications by removing friction and complexity in the developer’s workflows, streamlining the time it takes to onboard new developers and applications, and ultimately accelerating the application development process.
Chapter 5: How Red Hat Services can help accelerate delivery for platform and application teams
From planning and deployment to training and certification to support and operational guidance, Red Hat Services can help you build and develop effective, collaborative teams to get the most out of your technology investment.
Working alongside your teams, Red Hat Services provides you with the resources you need to plan, begin, accelerate, and expand your open source journey.
Services for application acceleration
Whether you’re optimizing application delivery, adopting cloud-native development practices, or building intelligent applications, we can help you on your journey.
Red Hat Services consists of consulting, training and certification, and Technical Account Managers (TAMs), and works with your teams to provide hands-on mentoring, helping them build skills more quickly. By embracing Red Hat’s Services, your organization can navigate the complexities of modern application development, adopt agile methodologies, and benefit from the power of open-source innovation.
Working with experts along your application development journey offers:
Using Red Hat OpenShift cloud services allows organizations to shorten their development cycle by up to 70%6
Red Hat Services provides the expertise and guidance needed to accelerate platform creation and strengthen your teams, leading to change that will ensure your developers are able to succeed day after day.
Forrester research found that Red Hat Services helped reduce initial application development, testing, and deployment costs by 20% and reduced application management and maintenance costs by up to 60% using modern application development techniques.5
Get started
Here are a few steps you can take on your own to advance your cloud journey today.
Build a tool inventory
Develop a comprehensive list or database of all the hardware and software tools utilized within your organization’s IT infrastructure. This will help identify gaps and opportunities for the future.
Interview your developers
Learning more about your developers’ experience by running MBPM exercises can help identify points of friction, bottlenecks, and foster continuous learning within the team.
Hands-on learning
Explore an extensive collection of curriculum for hands-on training and certification as well as materials such as this Red Hat Cloud Services pilot datasheet.
Red Hat press release. “Red Hat Details Benefits For Energy Customer After Migrating Workloads to Hybrid Cloud Infrastructure.” 22 May 2023.
Red Hat case study. “Brightly innovates with Red Hat OpenShift Service on AWS.” 13 January 2023
Red Hat case study. “CIBC accelerates innovation and agility with hybrid cloud.” 2 May 2022
Red Hat case study “Air Canada’s journey with Red Hat OpenShift Service on AWS.” November 2023.
Forrester research commissioned by Red Hat. “The Total Economic Impact™ of Red Hat Services And Support For OpenShift.” May 2022.
Forrester research commissioned by Red Hat. “The Total Economic Impact Of Red Hat OpenShift Cloud Services.” January 2022.
Ready to advance your cloud journey?
Schedule a discovery session with Red Hat Consulting.