DevOps, Cloud

Enterprises are facing disruption from nimble and innovative startups that are creating a new world order.  Startups that leverage technological innovation at a faster pace are redefining the rules and taking market share away from traditional enterprises.

To compete in a different playing field, enterprises need to change their game. They need to learn the new rules and completely transform themselves  — not just make incremental improvements to the processes they already have in place.

Considering the importance of software in today’s market place, enterprise transformation begins by changing how applications are built and shipped. 

Revolution, not evolution

We didn’t come up with the lightbulb by making better candles. Similarly, about pioneering the car, Henry Ford famously said, ‘If I had asked people what they wanted, they would have said faster horses.’ To use a modern example, when creating the iPhone, Apple wasn’t trying to build the smallest possible computer.

All of these examples were innovations that disrupted the dominant technology of the day, and created new economies and marketplaces around themselves. Today, enterprises find themselves technological incumbents, challenged by innovative upstarts.

What holds enterprises back is their reliance on old-generation technologies, and the same ways of working. This is evident in the infrastructure that powers applications, the processes teams use to build those apps, how those teams are structured, and how enterprises decide key priorities. The predominant approach to building enterprise software is to maximise efficiency of infrastructure and talent, and reduce waste of people and material resources. To break old, destructive cycles, enterprises need to embrace four technological waves that have swept the marketplace over the past half decade.

1. Data center to cloud

The advent of the cloud has changed the way enterprise IT views infrastructure. Rather than viewing server instances as pets that need long term commitment and special care, they are now treated as cattle that don’t call attention to themselves; rather, they focus on the services they support. Two companies particularly have led to this change—VMware and AWS.

VMware increased server utilisation by enabling applications to run on virtual server instances rather than on the physical server itself. This drastically reduced server costs. To add a double whammy, AWS’ EC2 platform delivered cloud-based virtual servers, further simplifying infrastructure. The biggest change with AWS is that customers can now rent servers by the hour, rather than make long-term investments in expensive, vertically scaling servers from Dell or Oracle.

2. Waterfall to DevOps

Reflecting the change in infrastructure, software development processes have changed, too. The linear development pipeline of code, test, and deploy has been replaced with the agile methodology of DevOps. Rather than waiting for developers, QA is now involved in defining test scripts from the planning stage itself. Instead of throwing code over the wall to Ops to deploy, Dev considers how to write code that is deployment-ready, and secure by default. And, importantly, all these steps are automated as much as possible to drive efficiency and reduce human error.

To work at this level of coordination, the silos between Dev, QA, and Ops teams need to be broken. Today, there is a shift from large single-function teams to small cross-functional teams. This empowers teams to make more decisions internally, and not be slowed down or held back by another team. Enterprises that enforce strong silos between teams are holding on to the status quo rather than embracing the new wave of DevOps.

3. VMs to containers

Going from physical servers to virtual was only step one. In 2013, Docker took step two when they launched their container instances that lacked the hardware hypervisor of a VM. Containers are a lightweight alternative to VMs for packaging and delivering applications in the cloud. Containers made it possible to consistently move code across various environments, and between teams. This quickened each step of the software development process, and enabled teams to get their apps to market quicker. Enterprises need to get their ideas to market sooner, and containers are the key to delivering applications faster and more reliably.

4. Monolith to microservices

The final big wave to sweep enterprise software development is the shift from monolithic apps to microservices architecture. This is a culmination of previous technological advancements. Traditional software apps were built to run on a single server, or at most, a couple of servers. Each part of the application was present in the same layer. A fault in one component would result in the entire app failing. Microservices apps, on the other hand, separate each part of the application into an individual service. Each service is packaged into a container, or multiple containers. The advantage is that each service can be built, tested, and deployed independent of other services. This isolates faults in services, enables faster troubleshooting, and even shortens release cycles. Microservices doubles down on DevOps, giving your development teams the kind of pace and confidence they’ve not experienced before.

Enterprises are large and complex, and find themselves moving at a much slower pace than their smaller, more nimble competition. Yet, enterprises can level the playing field by leveraging the innovations and technologies listed above. Docker containers running in a cloud platform like AWS are the kind of infrastructure enterprises need. Further, they need to put this infrastructure to good use by adopting the DevOps methodology, and going the entire distance with microservices. As enterprises let go of traditional models of building apps, and embrace newer ones, they will open up new opportunities for themselves. Technology is the great equaliser, and enterprises need not be left behind.


  • Benjamin Wootton

    Co-Founder and CTO

    Benjamin Wootton is the Co-Founder and CTO, EMEA of Contino. He has worked with tens of enterprise organisations on DevOps transformation and is a hands-on DevOps engineer with expertise in cloud and containers.

    More Articles by Benjamin