We have seen the same story over the years. Disruptive new technology is emerging and companies are immersing themselves first in learning and then implementation. However, very little attention is paid to human influences.

Businesses rely on cloud computing, DevOps, infrastructure as code, microservices, and containers. Once again, we see people and process issues slowing down mainstream adoption. When will we learn?

Why is it so important to focus on organizational change when adopting cloud computing in a large company? Let's look at some examples of how the cloud is changing the way we work.

1. Delivery speed

To meet business needs to bring new Managed Cloud Services to market more quickly, many companies are turning to the DevOps movement. Organizations that successfully move to an agile delivery model can implement smaller sets of changes more frequently in production. Traditionally, companies have subscribed to quarterly or semi-annual publication cycles. These older deployment models included large test windows, numerous manual review windows, and countless planning sessions.

This mindset shift from delivering large, monolithic applications only a few times a year to providing small services weekly or biweekly, dramatically changes the operating model required to manage and run the applications. Test windows are drastically compressed, increasing the need to increase the number of automated tests. No more time for multiple manual review windows to review architecture, security, quality, etc.

Rapid deployments require a high level of automation, self-service provisioning, continuous security monitoring in production, proactive monitoring, and many other modern practices. Handovers between silos should give way to a more collaborative approach to creating and deploying software.

Many companies believe that implementing Continuous Integration (CI) and Continuous Delivery (CD) will solve all their problems and only focus on their development silo. While CI / CD can significantly reduce the time it takes to create software, it does not cover all the processes that take place before and after the often wasteful authoring process. DevOps is about the end-to-end software development life cycle (SDLC), not just CI / CD. Organizations should consider the process and personnel changes required to maintain the optimal full SDLC flow from left to right.

2. Delivery of services vs. Product delivery

As organizations move from providing large monoliths to providing services, a deep rethinking is required throughout the enterprise. As soon as a product is delivered from development, it is ready and another team usually takes care of maintenance and application support. When a service is provided, development is never done as long as customers use that service.

With services, the days of code being thrown over the wall to be someone else's problem are over. Developers must manage and maintain their services autonomously. This means they need APM and application performance monitoring (APM) tools to get quick alerts and feedback. Tracking is becoming proactive rather than reactive. Since many different applications and users can trust it, the service must always be active. Operations teams continue to monitor infrastructure, but developers monitor their services.

This new approach radically changes the silo-based operating models of the past and requires closer cooperation between developers and companies. Team structures are based on products and services with small teams spanning a wide range of specialized knowledge and skills. Functional silos don't work well in a service-oriented world.

3. Vertical vs. horizontal architectures

Conventional vertical architectures consist of two or three levels (web, application, database). Capacity planning is necessary to allocate enough compute and storage resources to scale appropriately. Scaling means adding additional hardware or hardware components to the existing infrastructure. This task is carried out by hardware experts. Applications are built with the expectation that the hardware will always be available and an army of people must ensure that adoption is a reality.

In the new model, the infrastructure is made up of code and the architectures scale horizontally. Hardware is treated as a commodity and is expected to fail. Cloud architecture means creating software that is independent for each hardware and can be automatically restored when compute nodes go offline and new nodes come online. This is often known as immutable infrastructure.

Not only is it a drastic change in the way architects and developers approach software development, it is also a drastic change in the way applications are monitored, managed, protected, and audited. Simply focusing on technology and ignoring the political and social aspects of that change is a recipe for disaster. The shift to unalterable infrastructure and distributed architectures disrupts traditional organizational structures and responsibilities.