How to build a cloud native app in 30 minutes

Share this post:

I’m one of the IBM Cloud App Service architects and have been involved in leading the team in the engineering and delivery of this tool for accelerating development of cloud native apps.

After giving an overview of app architecture and stating the game plan,  I’ll take you through video demos of creating two microservices and an iOS mobile front-end.

Cloud native use case: building an order management app



Although this diagram seems complicated with its many different boxes, what I want to highlight is that a cloud-native architecture supports building tens of different microservices that can run in many different compute environments–from virtual machines, platform-as-a-service container runtimes, or serverless functions. Typically, microservices in cloud native apps are very loosely coupled, and they are associated with each other through the use of APIs (and REST calls) and messaging technologies. In this diagram, we have multiple front-end digital channels (mobile apps, Web apps, maybe a voice-controlled device), with each communicating to their edge-of-network through a back-end-to-front-end pattern. This is a common approach to cloud-native apps that, for example, enables deploying a new version of a mobile app and the APIs that support it without necessarily iterating all other parts of the overall application backend.

The back-end-to-front-end orchestrates API calls into the various microservices below it. And, again, typically, you’d have business-logic microservices and maybe foundational-persistence or integration microservices. And then right at the back end are core, high-value, cloud-native services like an integrating database in the form of cloud or object storage or an Elasticsearch engine for doing indexing or integrating with some of the value through a blockchain network or a Watson conversation.

I’m going to create the three highlighted microservices, wire them together, and get my mobile app to click all the way through to my back-end microservices app. Let’s say we already have a products database, and we need to provide a products microservice that can integrate with that database. So first, I’ll use Spring Boot as the technology in Java to build that microservice, deploying it into a Kubernetes environment. And second, I’ll build the back-end-to-front-end in Node and Express, connecting that Node/Express app to the Spring app. Third, I’ll expose that back-end-to-front-end using API Connect to give us a robust, secure API that we can then provide through to the mobile app.

Creating the new product listing microservice

Creating a backend-for-frontend microservice and iOS app

More How-tos stories
February 13, 2019

Simplify and Automate Deployments Using GitOps with IBM Multicloud Manager 3.1.2

Use Argo CD, a GitOps continuous delivery tool for Kubernetes, and IBM Multicloud Manager to achieve declarative and automated deployment of applications to multiple Kubernetes clusters.

Continue reading

February 11, 2019

Solving Business Problems with Splunk on IBM Cloud Kubernetes Service

In this tutorial, we will install Splunk Connect for Kubernetes into an existing Splunk instance. Splunk Connect for Kubernetes provides a way to import and search your Kubernetes logging, object, and metrics data in Splunk.

Continue reading

February 8, 2019

A How-To for Migrating Redis to IBM Cloud Databases for Redis

If you’re moving your data over to IBM Cloud Databases for Redis, you’ll need to take some steps to successfully migrate all of your data. We’ve got you covered. In this post, we’ll show you a quick way to start migrating your data across to Databases for Redis, whether your database is on-premise or in the cloud.

Continue reading