Digital Disruption and the Role Open Source Plays
Businesses have been and will continue to be disrupted by software agility and innovation. If you have any question, just observe the changes to the following business, Movie Rental Companies (Netflix), Taxi Companies (Uber), and Retail Companies (Amazon) to just name a few areas (companies that disrupted an industry with Software). Digital disruption has changed the landscape and continues to drive tremendous business value like never before. What’s most exciting is that we have not seen anything yet compared to what the Internet of Everything (IoE) will disrupt!
At the core of this digital disruption is open source technology. Traditionally, open source is a software where the source code that is used to create the program is freely available for the public to view, contribute to, and redistribute. With every company becoming a software company to address digital disruption, the devops model being leveraged today is exciting to watch how open source innovations are leading the disruption. The exciting part is that open source fits best in an environment where there are no existing patterns, or the existing patterns lack the complete needs of the community of users. Software development is currently at this point and has many challenges and opportunities for Open source to disrupt.
The typical software development model is represented by the figure below:
The main concerns with how software development works today is that each application development team has to build and integrate each component and most enterprises have bought a solution that is less than ideal across the entire lifecycle but addresses 2 or 3 areas well. Each developer has to integrate with existing Software Development Life Cycle (SDLC) tools which rarely take into account systems outside the enterprise data center or the internal systems dependencies.
This is typically left to the developer as a problem to solve New software development capabilities require this flow to be automated and integrated. In addition, these development needs, collaboration are becoming more and more critical to the software lifecycle and devops tools are integrating collaboration into each aspect of the software development lifecycle.
In addition to these software development short comings, the software development lifecycle actually needs a boast. Today it still takes weeks to create a development environment. The way IT governance and policy have evolved over the last 10 years causes there to be too much cost, too much red tape, and too much politics. Another pain point is that the non-production environments are so different than the production environment. This causes the testing cycle to not be accurate and delays release (measured in weeks). Another important aspect of software development lifecycle is the speed by which software updates and changes are pushed out, an important aspect of this is versioning and maintaining the software in production is difficult.
The culture that results in supporting digital disruption and open source is called Devops. Many enterprises feel that devops is only for startups or 100% software focused products. This leaves many developers feeling that they are overworked already and their organization does not get it, so why push devops methodology. In addition, IT has put gates and process controls in place for good reasons, so why adopt a new process if the benefit is not obvious to the organization.
The main driver to adopt devops comes from the need to innovate and accelerate the business. The pace of change is not decreasing so it’s better to adapt sooner to this new methodology than later addressed. However to adapt devops, the shortcomings and challenges raised here need to be addressed. History is usually a good indication of how to address changes and challenges in the technology space.
As enterprises embark on this Digital Disruption journey, they have to tackle current development SDLC, devops, and future devops for the platform head on. What does this mean? Billions of devices need a platform to enable Rapid Development. However, flexibility is required to develop Private and Build and Deploy Everywhere. This framework is called Hybrid Devops. The result is no vendor/platform Lock-in and most importantly no compromises.
In addition, enterprise developers have the following requirements:
► Leveraging the Frameworks of their choice
► Build through CI/CD flow designed for multi-cloud and “bring your own” with consistent packaging and versioning
► Easy to deploy with service discovery and automatic service availability
► Manage your application and all services from a single interface across private and multi-cloud environments
► Team collaboration within organizations and across communities, built right into CI/CD
Another technologies that are driving the digital disruption is cloud computing and hybrid cloud. Enterprises have taken on cloud computing opportunities with multiple projects or Proof of Concepts (PoCs) but for the most part the adoption of applications on the cloud is very early and mostly for new applications (cloud native) and for development and test use cases. Many enterprise applications have not been considered for cloud due to their legacy deployment models or application architecture. This is a great opportunity for open source.
Many companies have made the mistake of thinking that legacy enterprise virtualization technology, enterprise software methodology, enterprise provisioning systems, and enterprise management systems will survive their company’s business transformation. Unfortunately, time and time again, these systems are not able to scale, adapt quickly enough for the business, and frequently cost up to 10 times more than open source based solutions.
The reason for this lies in the power of community and the scalability of software purpose-built for scale and adaptability. OpenStack definitely fits this requirement and has finally matured enough to be a force in the transformation of your enterprise business. The role of open source technologies plays an important role in innovation and the development of solutions to meet the needs of the ever changing and expanding marketplace. Open source technologies can also be a risk to the business if your strategy is not well defined and thought out. The areas of specific concern are Security, Intellectual Property, and support. It is important to have a strategy for open source and to review that strategy often.