Abstraction is key to rapidly scaling Digital Services in an Enterprise
Digital Service Model Blog Series - Part 5
Organizational service layers are tightly coupled today with their traditional processes, Enterprise systems and a plethora of automation solutions. To accelerate digital, it does not help to invest in more tools or platforms. Their benefits will taper out after a while. The solution is to abstract service delivery from underlying technologies and to provide a mulitiplier benefit on technology investments. Welcome to the world of abstraction in Enterprise Service Delivery
In the previous blog, we saw how Digital Service Model brings about 4 major paradigm shifts in an Enterprise : in terms of Technology, Business Model, Service Delivery and UI. Let us see more about the paradigm shift in technology for an Enterprise in Digital world.
Why is adopting a new technology a challenge in enterprises?
Organizations are in a buy-build-operate model when it comes to deploying any new tool or platform. Whether it is a new ITSM solution or an automation platform, the Enterprise goes through an elaborate procurement cycle, implementation and configuration exercise.
The core issue for every Enterprise is that the tightly coupled architecture between service delivery and consumption reduces scalability of their digitization. A set of automation scripts can work well with a particular tool or platform within an Enterprise or Division, but will require extensive re-configuring (rework) for another division or another Enterprise.
In digital world the success of technology adoption is based on
- Driving speed : To design, build and deliver services rapidly
- Highly reusable service architecture, so that services can be easily leveraged as needed on the go.
- Flexibility to deliver any service across any tool seamlessly.
- Rapidly allowing complex services to be built with minimal or zero coding skills
The answers to this quest lies in absraction of service delivery. We can take inspiration from the Software development world and mobile OS world on how digital services in those respective areas can be rendered agile,flexible, portable , standardized through abstraction. The same principles can be leveraged in Enterprises too.
Taking the Docker example from Software development world:
Dockers have revolutionized the application development by democratizing software containers. Containers are an abstraction at the app layer that packages code and dependencies together
Multiple containers can run on the same machine and share the OS kernel with other containers, each running as isolated processes in user space.
- Standard: Docker created industry standard for containers so they could be portable anywhere
- Speed : Docker enables faster delivery cycles. Docker containers make it easy to put new versions of software, with new business features, into production quickly — and to quickly roll back to a previous version if you need to. They also make it easier to implement strategies like blue/green deployments.
- Enabling Microservices architecture : By decomposing traditional, “monolithic” applications into separate services, microservices allow the different parts of a line-of-business app to be scaled, modified, and serviced separately — by separate teams and on separate timelines, if that suits the needs of the business. Containers are perfectly suited for microservices architecture and agile development practices.
Docker and containers give developers more of the freedom they crave, while at the same time providing ways to build business apps that respond quickly to changing business conditions.
Taking the Android example of Abstraction:
In a mobile world Android serves as the perfect layer of abstraction, that can run any device (Motorola, Samsung etc., ) and can host any app on top (Netflix , Spotify, Zomato etc.,)
Here again the abstraction layer of Android gives the benefit of portability for any app, extensiblity in terms of integrating with any hardware below and driving a common standard for industries to build more apps.
There is a pattern emerging here. Abstraction is clearly a winner where any digital service can be built and delivered rapidly across any underlying infrastructure or technology, providing flexiblity for users, leveraging reusability across organizations and minimizing the implementation efforts.
Abstraction in Enterprise Service Delivery
Taking inspiration from the above examples Enterprise Service Delivery really needs an Abstraction layer to meet the demands of Digital world, where any service component can be rapidly built across any underlying tool or platform and at the same time giving the organization flexibility to build complex services on the go.
Here are the key tenets for Abstraction in an Enterprise
Componentization helps meet the requirement of Speed in Digital world. Services can be assembled rapidly using a ‘Lego block model’.
Componentization refers to breaking a complex ‘Monolith’ into smaller manageable, service components, so they can be easilly automated and delivered through any underlying technology. As an example, ‘IT Managed services’ is seen as a large Monolith today. The complete chain starting from Procurement to service delivery and service management is a complex engine considering the entire value chain. Componentization in this space would mean breaking down the services (ex: Digital workplace services specific to Desktop or Cloud access or project start-ups etc.,) that are easily built and managed by multiple teams.
Each component is treated like a lego block — can exist on its own to deliver a task but also can be rapidly assembled to form more complex services.
2. Virtualization :
Any service is treated as a piece of code.
Just like how we are witnessing Infrastructure as Code (IoC), Virtualization throws open the possibility of Service as Code. Virtualization helps in decoupling service creation from service delivery.
Virutualization unleashes a huge potential for portability in organizations to consume any service across any technology. Services can be created in one place and delivered in a completely different place.
Service components are moved online and accessible to users over a service exchange. Digital is all about improving efficiency. What is needed by one organization is also needed by multiple organizations.
Cloudification significantly enhances the reusability across enterprises
The closest example to we see is an App store in the consumer world. Apps built once can be used my multiple users on multiple devices. The services exchange here is a lot more complex, as each service component can in turn be chained with more services as needed.
Componentization, Virtualization and Cloudification are all key to driving the Abstraction in Enterprise service delivery.
Collectively they drive a common standard with which newer services can be designed and made available over an exchange.
And in summary, Abstraction helps in meeting some of the key needs of Digital Service delivery — agility,flexibility, portability and standardization.
In the next blog we will explore more about the Delivery model paradigm shift within an Enterprise.