Enterprise IT departments often run 100s, if not 1000s of applications. The range of products deployed in enterprise environments is vast and complex. Enterprise software is collected over the years and is typically a combination of in-house developed, packaged third party or a service in someone else’s data centre. Most people in IT have a story of supporting a server that runs in the darkest corner of the network, no one is sure what it does, no one wants to touch it, and if it breaks, you’re in for a tough few days!
Managing Enterprise workloads is a massive undertaking, it takes time, money and a lot of patience to build an IT function to enable the business and support the user base. Companies continuously grapple with this issue, how can you empower the business while keeping costs under control? It doesn’t take much to blow the budget on an upgrade project; you don’t know what you don’t know, especially when working with antiquated systems.
In my recent post, I suggested the blockchain could be used to help Enterprise standardise their infrastructure, resulting in meaningful transformation. The question is, couldn’t other technologies fulfil this purpose? While I agree there are many other possibilities, several of which are complementary, I believe open source smart contract platforms have an advantage. Take EOSIO as an example; it runs on bare metal x86 servers, cloud instances, containers or a standard mac laptop (for development). The infrastructure is abstracted from application logic. The smart contract is compiled into Web Assembly, then executed, resulting in deterministic outcomes in any environment. Contracts are portable and could run on any EOSIO compatible chain, giving the IT engineer ultimate flexibility.
The other benefit is the smart contract platform is agnostic of its location. The blockchain is built to run on the Internet, meaning latency, jitter, link failures and infrastructure problems don’t impact a well-designed platform. You are not beholden to a single vendors platform services and could utilise any suitable infrastructure, owned or rented.
A smart contract platform could be considered as the Serverless platform of the future. The use case is similar; you execute your contract (functions) on infrastructure which is owned and operated by someone else. You pay for the service with Gas on Ethereum or by holding and staking EOS tokens on EOSIO. The importance of hardware should not be underestimated, however, as a development engineer it is not your direct responsibility. Your job is to minimise the Gas spent on ETH and lower the CPU execution time and bandwidth consumed on EOS.
If enterprise and their partners began rewriting applications using this new paradigm, the toolsets, languages, pipelines, monitoring applications and more exist in the open community and are freely available to use and improve. Adoption of an application delivery platform would standardise tools and create reusability amongst developers. At this point I’m only taking into account the technical advantages, using this model significantly changes the economic model which will lower IT costs for business. However, that’s a topic for another post.
Thanks again for reading.
Until next time.