Deploying a Microservices-Based Solution to Cloud Foundry Enterprise Environment (CFEE)

Share this post:

As a curious developer, I started exploring Cloud Foundry Enterprise Environment (CFEE) with a plan to deploy Logistics Wizard application to CFEE. Through this blog post, I want to share my CFEE journey, explain the answers I found, answer the questions that you may be having when you try CFEE for the first time, and share how to redeploy an existing application to CFEE. Let’s start with WHY.


With Cloud Foundry Enterprise Environment (CFEE), you can instantiate multiple, isolated, enterprise-grade Cloud Foundry platforms on demand. Instances of the CFEE service run within your own account in

IBM Cloud. The environment is deployed on isolated hardware (Kubernetes clusters). You have full control over the environment, including access control, capacity management, change management, monitoring, and services. With deploying Logistics Wizard to CFEE:

  1. I have my app running inside an isolated enterprise environment with additional access control functionality.
  2. I can control what services that users within the org can use, set capacity management, and more. 
  3. I get to leverage the full use of Stratos UI to view application logs, health, usage, configurations, and much more.

Now that you understand why you would want to use CFEE, let’s explore the Logistics Wizard application I deployed to CFEE. Logistics Wizard is a reimagined supply chain operations through cloud-native architecture and services. The Logistics Wizard app is broken down into multiple microservices using many IBM Cloud services.

Deploying apps to CFEE

Before deploying applications to CFEE, you may be wondering about the following questions:

  • How are services handled?
  • Where are they created?
  • How does public Cloud Foundry work with CFEE
  • How do you move apps to CFEE?
  • Can a part of the app run on public Cloud Foundry and another part on CFEE?
  • Is CFEE any different compared to public Cloud Foundry when deploying apps?

Let’s start by looking into the Logistics Wizard architecture diagram, which should answer some of the questions. If you have never seen or used the Logistics Wizard application before, don’t worry. Just focus on the runtimes and services used and see the overall architecture to understand the parts of the application running on IBM Cloud.

How are services handled, and where are they created? The services are created within the IBM Cloud account, under the public Cloud Foundry org, and then they are linked to a CFEE account. To use services like Cloudant or Watson, you would first create the services on public Cloud Foundry and then link that service to your CFEE account to make the service ENV variables available to the app in CFEE. In the Logistics Wizard application example, I have to deploy three runtimes to CFEE, while the services and Cloud Functions are outside CFEE.  How does public Cloud Foundry work with CFEE, and how do you move apps to CFEE? To move apps from public CF to CFEE, you just need to change the target API endpoint from public CF to CFEE API endpoint and re-deploy the app. It’s that easy. Can a part of the app run on public Cloud Foundry and another part on CFEE? Public CF and CFEE work hand-in-hand. You can have a part of the app running on public CF and the rest on CFEE. The choice is yours.

Is CFEE any different compared to public Cloud Foundry when deploying apps?

No, deploying apps to CFEE is just the same as deploying apps to public CF. When deploying apps to CFEE, you just need to target the CFEE API endpoint, and if you are using services like Cloudant and Watson,  you would need to create them in IBM Cloud under a public Cloud Foundry org and then link the service to CFEE.

Deploy the app

Now that you understand CFEE, the next thing to do is to deploy the example Logistics Wizard app CFEE. To do that, we have created a step-by-step guide covering how to deploy Logistics Wizard to CFEE. Deploying Logistics Wizard to CFEE will help you understand how easy it is to deploy enterprise apps to CFEE on IBM Cloud.

Deploy Logistics Wizard to CFEE

If you face any issues while deploying Logistics Wizard to CFEE, feel free to open an issue on the Logistics Wizard GitHub repo and we will respond as soon as possible.

Full-Stack Software Developer & Developer Advocate at IBM Cloud

More How-tos stories
May 3, 2019

Kubernetes Tutorials: 5 Ways to Get You Building Fast

Ready to start working with Kubernetes? Want to build your Kubernetes skills? The five tutorials in this post will teach you everything you need to know about how to manage your containerized apps with Kubernetes.

Continue reading

May 3, 2019

Using Portworx to Deploy and Manage an HA MySQL Cluster on IBM Cloud Kubernetes Service

This tutorial is a walkthrough of the steps involved in deploying and managing a highly available MySQL cluster on IBM Cloud Kubernetes Service.

Continue reading

May 2, 2019

Kubernetes v1.14.1 Now Available in IBM Cloud Kubernetes Service

We are excited to announce the availability of Kubernetes v1.14.1 for your clusters that are running in IBM Cloud Kubernetes Service. IBM Cloud Kubernetes Service continues to be the first public managed Kubernetes service to support the latest upstream versions from the community.

Continue reading