Folding Design and Business Requirements into the DevOps Process

Kubernetes empowers enterprises to create more resilient, secure, and highly available applications in the cloud at scale.

- martedì 4 gennaio 2022
Tags: Blog, Process Automation, Community

Deploying applications in containers on Kubernetes has quickly risen to become the standard for enterprises. According to a 2020 survey conducted by the Cloud Native Computing Foundation (CNCF), 91 percent of respondents used Kubernetes in 2020. In 2021, Red Hat found that 85 percent of IT leaders agree that Kubernetes is “extremely important,” “very important,” or “important” to cloud-native application strategies. 

Kubernetes empowers enterprises to create more resilient, secure, and highly available applications in the cloud at scale. 

But with those benefits comes added complexity. Therefore, it is vital for organizations to have robust DevOps systems in place to facilitate the communication and coordination of teams across different layers of the stack. 

When most organizations think of their DevOps process, they see those processes as relating to their IT operations and software development teams. Nevertheless, enterprises that think intentionally about how to fold in teams that oversee business requirements and UX/UI design increase their ability to innovate more quickly. 

A DevOps process that includes business and design is represented in the diagram below. In this framework, business requirements are defined and approved and sent through a process of discovery for design. Once the application design is researched, created, and reviewed, it is ready to be planned, coded, built, and tested. It can then be configured, released, and monitored by IT operations. 

At this point, the team overseeing business requirements can review it and define updates and changes, sending those decisions back to the design team. 

4_Leaf_Methodology.svg

In essence, this is how every application is built, but a truly agile organization thinks intentionally about every step of this journey when defining their processes, as well as organizational structures, policies, and tools for making this lifecycle as efficient as possible. 

To achieve this, organizations must take a composable approach to application development. According to Gartner, “organizations that have adopted a composable approach will outpace competition by 80 percent in the speed of new feature implementation” by 2023. 

Here’s what’s required to build composable applications that consider business requirements and design alongside development and operations.

Embracing Modularity From End-to-End

According to Statista, between 98 and 100 percent of organizations with a thousand or more employees are either currently using a microservice architecture or plan to in the future. Of those surveyed, 75 percent of organizations with between 1000 and 3000 employees are already using microservices. 

This level of isolation between parts of backend code enables organizations to separate team structures and give them definable goals and responsibilities within the larger application, with each team being arranged around a specific business function. For smaller organizations that still seek to take a composable approach to application development, they may not have an individual team for each of these business goals but still organize their project according to them. 

However, for as useful as this backend modularity can be to an organization, many have failed to fully embrace end-to-end modularity. And that’s because the frontend monolith remains, creating problems for the continuous feedback loop that many enterprises are seeking to create in their DevOps processes and thereby increasing the amount of time required to get an update into production. 

This is where micro frontends can help organizations embrace a more fully orbed vision for modularity, by breaking up frontend code into microservice-like functionality that exists on top of the microservice architecture and is managed through API gateways or backends for frontend. 

While micro frontends are growing in popularity, they haven’t reached the level of widespread adoption that microservices currently enjoy. According to the 2020 State of Microservices Report, 24 percent of developers have used micro frontends. What that means is that the organizations that successfully embrace micro frontends and integrate them into their DevOps processes have a significant competitive advantage over roughly three-quarters of other organizations. 

The benefits of modularity include speed and efficiency of resource usage. As it relates to speed, while the time to a prototype may take longer because of the need to architect, redesign, and organize teams around specific business modules, the time from prototype to production is vastly improved. Furthermore, since containerized modules are isolated from the rest of the application, composable enterprises have the ability to refine and change their applications more quickly. Likewise, the time investment in maintaining a modular application in production is drastically reduced. Therefore, the time savings over the life of the app is significant, even if it takes longer to get the initial prototype up and running. 

As it relates to resource consumption, modular applications are much more efficient in this regard. Monolithic scaling means creating a complete replica of the application, including the infrastructure software that supports it. That gets very expensive very quickly. By embracing end-to-end modularity you can scale up only the portion of the app that needs more resources, dramatically reducing cloud costs. 

 

Building Systems that Foster a Feedback Loop

As enterprises embrace a fully modular approach to development, they will also need to consider how they create organizational systems that foster a robust DevOps process from IT operations, to design and development and business users. Pivotal to that process is having a reliable way to create a strong feedback loop. 

4_Personas.svg

This is where a platform like Entando can help. With Entando, the building blocks of your application can be created in a standardized way with the Entando Component Generator and Entando CLI, packaged, and deployed to a central hub. Once in your hub, those building blocks can be curated, tagged with metadata, and catalogued for developers and business IT members to compose into full applications through an experience similar to a low code platform. Once those applications are composed, they can then be monitored, analyzed, and tagged for updates that will then be sent back to the other parts of the process. 

Since applications are composed from packaged business capabilities consisting of microservices and micro frontends, the process remains focused on the specific business functions where updates will make the greatest impact. This enables enterprises to update those parts of the application more quickly, as well as to standardize updates of specific capabilities that can be returned to the centralized hub to be deployed to other applications within the organization or among clients at a time that best suits those specific lifecycles. 

In a composable business framework, supported by an application composition platform, enterprises can allow for full customization of components without overburdening teams with requirements outside of their specific business function goal. They can also give business IT and non-technical users a stake and voice in the process, quickly funnelling important business user insights back to the technical teams that can make those updates and improvements.

Build modular applications on Kubernetes with Entando ACP

If you run containerized deployments, you understand the benefits of Kubernetes. You also understand how complicated it can be and how difficult it can be to gain developer adoption. It feels like there should be an easier way. 

That’s why we created an application composition platform that makes it easy to build enterprise applications on Kubernetes using modular components.

Entando ACP is changing the way enterprises think about building their apps, sites, and portals in order to promote developer productivity in a Kubernetes environment. 

With Entando ACP, you can:

  • Bootstrap an application from a customized template.
  • Accelerate app development to update iteratively.
  • Simplify deployments by abstracting the complexity of Kubernetes.

We integrate trusted open source technologies and extend their functionality to give you a cohesive and streamlined developer experience with easy-to-use patterns. From deploying on Kubernetes to creating modular backend and frontend architectures using your current technologies, Entando helps you at every layer of the stack. 

Entando is open source with available enterprise support and services. Begin developing on the platform today, and get a quote to see how our team can help your enterprise build better apps, sites, and portals––faster.

Vuoi modernizzare le tue App?

 

Scopri come una Application Composition Platform può aiutarti.

Veloce, personalizzabile, facilmente scalabile: sono queste le tre caratteristiche principali che la tua applicazione web deve avere se vuoi che rappresenti un vero vantaggio competitivo per la tua azienda.

SCARICA IL WHITEPAPER
Entando_WhitePaper.png