First published on VOICE on Sep 02 – Check it out here.

The Problem

IT departments often run 100s, if not 1000s of applications. The range of products deployed is vast and complex. Enterprise apps get accumulated over the years, with business complexity, budgets and limited time transforming them into immovable objects.

Say you’re an IT Engineer starting a new job at a well-established business. You take a look around and deep dive into the group’s operating environment. Your company has a local data centre and colocation facility; each will be full of applications. In recent times, such apps have transitioned to the public cloud or a software-as-a-service platform. Yep, more complexity for you to manage. It’s probable old on-premises apps can’t be decommissioned, the cloud-based replacement has missing features or there is another business reason not to pull the plug.

On day two, your manager needs you to plan the decommissioning of an old network communications room. What do you know…Another critical server hidden in a comms rack. At the same time, you search the floor and observe a Server PC under the Lead Developers desk. You guessed it, more critical apps.

Most seasoned IT professionals have a story like this, of maintaining an application that runs in the darkest corner of the network. An application which has no owner; was orphaned years earlier, and is so fragile that only the bravest will accept any responsibility. No one is sure precisely what it does; however, when it fails, you’re in for a rough few days. 

While it’s easy to look back, laugh and even reminisce about these situations, the serious side is managing enterprise workloads is hard work. It takes time, money and discipline to build an IT function which empowers the business and supports its user base. Companies continuously grapple with the issue; how can you enable the business while keeping things under control? How do you provide value while dealing with old technologies and antiquated systems?

Enter Blockchain

Blockchain technology has the potential to revolutionise enterprise applications. I would go further and suggest Blockchain technology will not only improve the app landscape but will significantly enhance an enterprise’s infrastructure footprint. This change will drive application development practices, upgrade security, fix broken tools and help a business get more stuff done

It is my core belief; open-source smart contract platforms provide a comprehensive base for enterprise applications. The technology distributes processing and storage geographically, solving many of the infrastructure challenges of today. Furthermore, integrity and security are fundamental components. They are a system default, not an afterthought.

A New Serverless

I consider a smart contract platform as a new form of serverless technology, similar to AWS Lambda or Google Cloud Functions. The use case is similar; you execute your contract (code) on infrastructure, which is owned and operated by someone else. You pay for Service with Gas on an Ethereum or by holding and staking tokens on EOS. The importance of hardware should not be understated; however, as an IT Engineer, it is not your direct responsibility. Your job is to minimise the Gas spent, lower the CPU execution time and limit the bandwidth consumed. The goal is to focus on what’s critical to the business, which are customer-facing or business-enhancing applications which create value.

Take, for example, EOSIO. The software runs on bare metal servers, cloud instances, containers or a standard laptop (primarily for development). A blockchain is Internet native, meaning latency, jitter, link failures and infrastructure problems won’t impact a well-architected platform. You are not beholden to a single vendor and could utilise any suitable infrastructure, owned or rented. The code can be built-in modules, inside smart contracts and can be used by any person, app or machine with the appropriate permissions.

Time For A Change

If Enterprise were to start rewriting apps on a blockchain, many of the things done manually today would occur automatically. Real-world events trigger actions. In this system, all the items are tracked, audited and are immutable. This paradigm allows us to boil down an app to what’s essential and beneficial.

The question many ask, why can’t we use existing technologies? Why introduce blockchain when centralised applications and databases work just fine? For me, the answer is simple. The blockchain encapsulates your data with the business logic. You chain your apps on a platform irrespective of geography, distance, network links, hardware, clouds and more. 

For engineers, it provides a new simplicity. No longer do you need to search under the Lead Developers desk for that missing application or a critical piece of data. Open your block explorer, and you’ll find what you’re looking for.