By Anthony Butler, Lead Cloud Advisor for IBM Middle East and Africa
We live in a world where we have unprecedented access to computing power: a developer sitting in a café anywhere in our region can now access the same computing power as a Fortune 500 company. This is enabled by the Cloud: an almost infinite amount of computing capability available “as a service” to anyone, anywhere and anytime.
Cloud has made it easier for entrepreneurs to innovate digitally. No longer do they need access to vast amounts of capital; armed with a credit card and an idea, they can rent resources and can source even very advanced capabilities – such as cognitive computing – from the same cloud. They can start small and pay as they grow (or not).
By removing barriers to entry, cloud has enabled a Cambrian explosion of startups. We can see this here in South Africa where there are emergent startup ecosystems innovating and competing on a world stage: these startups are enabled, in large part, by cloud. Nobody knows – or cares – where you are physically located; the cloud allows someone in the smallest village to reach the largest markets in the world.
Whilst benefiting startups, these shifts simultaneously pose a threat and opportunity to enterprises. New entrants are disrupting incumbents and taking share from them by delivering services and experiences on users’ own terms; and are leveraging new technologies, delivered from the cloud, to do this. However, enterprises can also take advantage of the same technologies to disrupt, innovate, and take share from their competitors. Cloud has made innovation the basis on which companies of all sizes now compete.
The banking industry is one of several industries that have found themselves assailed by new entrants offering innovative approaches to services, such as payments or lending. Much of this has happened by taking the bank’s services and unbundling them into “apps”. As Heather Cox, Chief Marketing Officer at Citi, noted at IBM’s Interconnect conference this year, people need banking but they don’t necessarily need banks.
This same pattern is replicated across industries. For example, whereas people need telecommunication services like text and voice communications, they don’t necessarily need telcos; and, as Uber are demonstrating globally, we may need transportation services but do we really need taxi companies?
However, rather than face death by a thousand digital cuts, enterprises have an opportunity to transform. It is a fallacy to assume that enterprises are destined to always be disadvantaged when competing with nimble startups that are unencumbered by organizational complexity and technical debt. On the contrary, enterprises have tremendous amounts of data, applications and services that, although hidden behind the firewall, represent untapped opportunity. They should look to unlock this value and, leveraging mobile, analytics and cloud, deliver it to end users in a way that is engaging.
By doing so, they can capture new markets and maintain their foothold in existing ones. They must focus singularly on delivering value and experiences on their users’ terms; they must focus only on what delivers differentiation.
With much of this value delivered via apps, developers play a fundamental role in how enterprises transform and address these new opportunities. Just as they need to unleash their data and applications, enterprises must unleash the innovative power of their technical community. This means giving developers more technical freedom; something that can be anathema to the culture in many corporate IT environments but critical if enterprises want to compete in this new world.
It also means recognizing that if an enterprise just looks to the developers sitting behind their own walls, they are missing out; instead, enterprises need to look at how they can marshal the creative energies and talents of external developer communities. These may be professional developers or hobbyists; such as the many youths at South African universities who are writing code in their spare time.
Enterprises can do this by making their data, applications and services available to the public as APIs; and running initiatives to promote use of these APIs to create new apps or incorporate into existing ones. For example, Citi are working with IBM to run a global competition, called Citi Mobile Challenge, in which external developers compete to develop the most innovative apps, leveraging Citi, IBM, and third party APIs; the best apps being selected to move to production. NASA is taking a similar approach with the Virtual Space App Challenge, which aims to create apps that contribute to space exploration. Think of it as crowdsourcing innovation.
To do this, we believe enterprises need a platform for digital innovation. This platform, delivered from the cloud (Platform as a Service or PaaS) provides an environment wherein the developer can just focus on the code and the data; with everything else, such as runtimes, databases, and supporting services, provided by the cloud. Focus on what differentiates and rent the rest.
Speed is critical: digital competitiveness is now a function of how fast someone can deploy code, measure results, learn from the market, and factor into the next deployment. PaaS allows enterprises to accelerate to the point where new apps can be deployed in seconds. This makes it possible to deliver new functionality – to address new market opportunities – more rapidly than in the world of traditional IT where release cycles can take weeks or months.
There are six key factors that are critical if enterprises are to leverage PaaS to its fullest transformational potential:
1. Select a platform that offers choice to developers and choice of deployment model
In order for developers to innovate, they need the freedom of choice. Some workloads can run in a PaaS runtime but others may need to run in a virtual machine or a Docker container. Maybe Java is the optimum language for one app or one function, but maybe Ruby, Go or Node is optimum for another. Maybe they want to create microservices. Maybe they want to use NoSQL as the data store for one service; but use a relational database for another.
The platform should also provide choice of deployment model. Some enterprises will be comfortable using a public PaaS; others will want a dedicated PaaS; and, yet others will want all the benefits of the public PaaS but deployed securely in their own data centre. Others may want a combination of all three models.
2. Ensure the platform supports Open Standards
The platform should be based on open standards, such as Open Stack and Cloud Foundry. It should not lock the enterprise in to a proprietary platform but instead allow them to retain ownership and control of the assets they develop in the platform. At the same time, enterprises need enterprise-grade support for this open platform.
3. Choose a platform that enables Hybrid Apps
The tremendous value locked away in enterprise systems can’t always be moved to the cloud; maybe due to it being a regulated domain, such as telco or public sector; or maybe because it sits in an ERP or CRM system that shouldn’t move. Therefore, the PaaS should provide the capability to securely integrate these services, data and apps with the apps that are deployed in the cloud. Just as we have hybrid clouds, enterprises need to create hybrid apps.
4. Consider enterprise-grade security
Security is important to enterprises. As such, they should select a PaaS provider that ensures enterprise-grade security whilst also providing services and tools to ensure that the developer can factor security into their application development.
5. Ensure platform comes with rich API and Service Catalogue to accelerate time to value
The PaaS should provide a rich catalogue of APIs and services. This allows developers to quickly and easily stich these functions into their applications. For example, in the case of IBM’s digital innovation platform (called IBM Bluemix), we provide services as diverse as Watson cognitive computing, Twitter data, tools for sentiment analysis and mobile quality analytics. This allows the developer to focus on what is important and accelerates time to market; and it allows developers to access very advanced capabilities that might otherwise not be available to them in their environments.
In addition, the PaaS should allow the enterprise to security publish their own APIs into the platform so that their internal and external developer communities can use these APIs to access their existing services exposed from the enterprises’ on-premises systems. By doing so, the enterprise can even participate (and benefit from) the startup ecosystem; by effectively using the API as a channel to sell services and data for inclusion in the startups’ own apps.
6. Select a platform that provides flexible pricing
The selected platform should offer a pay as you grow option. It should be based on consumption; and, given the focus on experimentation, should offer free tiering so that a decision can be made to commit to pay only when or if value is proven.
In conclusion, the right PaaS gives enterprises the opportunity to start thinking and acting like startups – at startup speed. It can help them innovate to address new opportunities, new markets and deliver new value in new ways. Developers can rapidly test ideas, deploy code and get feedback to evolve. It can be game changing.
The benefits become more profound when the platform is extended to external developers; now, instead of fearing the lone developer sitting in a cafe, enterprises have the opportunity to marshal this same creativity. The next disruptive app may still be born on this developer’s laptop; but, by providing this developer with APIs, a platform and an incentive, the enterprise can shift from being a passive victim of these disruptive forces to being a major beneficiary of them.