How IBM reinvented itself to become Cloud-native.

Haytham Elkhoja
IBM Cloud
6 min readJan 15, 2018

--

The world is moving fast, new startups and technologies are disrupting, well… just about everyone. Companies big and small are reconsidering their strategies and architectures to gain a competitive edge. Whether it is providing a modern user feel and experience, offering mobile and social capabilities, or even harnessing AI and Cognitive solutions, transformation (digital or otherwise) is on everybody’s mind.

That’s why more and more discussions in IT revolve around Cloud-native and the subjects it drags along with it, mainly: Platforms, Analytics, Microservices, DevOps and SRE practices.

As a recap, Cloud-native applications are applications born on the cloud that take advantage of all of the facilities provided by the cloud such as elastic scaling, immutable deployments, as a service consumption and disposable instances. Cloud, whether public or private, is rapidly becoming the de-facto standard for deployment of new and modified applications.

So just how Cloud-native is IBM?

How can IBM help transforming your business into Cloud-native? How does IBM demonstrate the right commitment around Cloud-native and equip developers with the right tools of the trade to build the next generation of apps?

In my previous post, I briefly introduced IBM Cloud Private, a platform that allows developers to design, build and then scale Cloud-native apps, behind the firewall, while consuming IBM’s Middleware, Analytics and other software as containerized Docker images.

Put simply, IBM Cloud Private is *the* Cloud-native platform of the future. It is built on top of Kubernetes+Cloud Foundry+Terraform and helps enterprises accelerate their Cloud-native journey by providing a pre-packaged enterprise-class solution, supported by IBM.

And because IBM Cloud Private comes bundled with Docker images and Helm charts for some of IBM’s most popular Middleware, it becomes evident to organizations running J2EE and Enterprise Applications (such as WebSphere, Db2, IIB and MQ) that IBM has already modernized its toolbox and portfolio of software while embracing substantial set of community-driven ingredients that help developers:

  • Modernize and optimize existing applications
  • Open up enterprise data centers to work with cloud services, and
  • Create new cloud-native applications

But here’s the grim truth. If your Cloud-native architecture doesn’t look as chaotic as the following depiction of Monolithic vs Cloud-native, then you’re doing it wrong.

Source: https://www.thoughtworks.com/insights/blog/implications-tech-stack-complexity-executives

The fact of the matter is that executing a successful Cloud-native journey doesn’t depend solely on the platform, but also on the architecture and practices developers adopt and utilize to achieve Cloud-native. And because Cloud-native apps follow the 12 Factor App methodology, things like automation, portability, deployments and scalability need to be decided early on and catered by the application instead of the infrastructure. This sometimes means abandoning everything we know and opting for selecting on new methods, using new tools, and adopting a different point of view when it comes to infrastructure, security, networking, operation and management.

The implications are immense. Cloud-native development means that developers are hacking code, experimenting with different vendors, implementing new libraries, and scrutinizing unfamiliar frameworks. Due to the notion of “You build it, you run it” this also means that operational models are now handled by developers and developers want visibility and automation. Not only that, but the nature of microservices, which are at the root of Cloud-native applications, introduce new inherent challenges when integrating services in distributed systems.

All of this might seem overwhelming, challenging, or even confusing, and that’s why the point of this article is to guide you kickstart and feel confident about your Cloud-native undertaking.

The IBM Cloud Native Landscape

So allow me to introduce an unofficial IBM Cloud Native Landscape which is inspired by the Cloud Native Computing Foundation (CNCF) Landscape.

This IBM Cloud Native Landscape is meant to provide enterprises, organizations, developers and sysadmins guidance on the tools we in IBM use (or support) in our Cloud-native products and projects.

A few examples:

The diagram below shows the different components that are either IBM branded, used within IBM products such as IBM Cloud Private, IBM Cloud Platform (Public), or supported and backed by IBM either through open source communities or foundations.

Note: This diagram is not built or officially endorsed by IBM. The information provided below is accurate to the best of my knowledge. I will try to keep it up2date and current on a best-effort basis.

Don’t do it alone

The beauty about partnering with a company like IBM is that you’re not on your own.

First and foremost “Thinking” has to be the place to start, so I recommend taking the excellent IBM Design Thinking Workshop provided by the IBM Cloud Garage team and available in multiple geos. The IBM Cloud Garages are intentionally designed to simulate creativity, learning, and transformation using the IBM Cloud Garage Method. Not only that, but IBM will assist partners and clients develop Cloud-native MVPs, contribute architectural guidance, prepare environments and transformation plans, and then finally offer managed services and SLAs.

Second, nothing beats trying it in-house. As a proclaimed resident geek, I know I can’t learn something without trying it first. So if you’re starting your Cloud-native journey behind the firewall, you can try IBM Cloud Private Community Edition at no charge. You’ll have many of the tools I discussed above and more.

On the other hand, if you want to innovate and consume on a public cloud and consume hundreds of public APIs and Cognitive/AI services on the IBM Cloud, you can try IBM Cloud Lite also at no charge.

Third, IBM has done a lot of prep-work for you. Our architects have done extensive re-engineering and Cloud-native journeys with many customers and have come up with patterns, reference architectures and sample code available to help you navigate and pilot your way in your journey.

Visit: https://github.com/IBM and the IBM Architecture Center.

--

--

Haytham Elkhoja
IBM Cloud

Chief Architect at IBM. Posts and views are my own.