How-tos

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.

Why CFEE?

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
October 19, 2018

Part 1: Build Messaging Solutions with Apache Kafka or Event Streams for IBM Cloud

As part of the iterative approach described in the main introduction blog of this series, the first step is to building messaging solutions is to identify the use case requirements and quantify these requirements as much as possible in terms of Apache Kafka and Event Streams.

Continue reading

October 18, 2018

Mount iSCSI Block Storage on VMware ESXi 6.5U2

It seems like pretty much everyone is using VMware ESXi virtualization nowadays. In this article, I'll cover how to mount IBM Cloud Block Storages onto this popular hypervisor using the iSCSI protocol.

Continue reading

October 18, 2018

Journey to Cloud – Moving On-Premise Mobile Foundation Apps to IBM Cloud

IBM MobileFirst Platform Foundation powers many on-premise customers in more than 50 countries, delivering the best-of-the-best apps and serving a large number of users. IBM Cloud Mobile Foundation Service offers all the same capabilities available in on-premise MobileFirst Foundation, with the additional benefits of fully managed service with instant deployment and scale-out option.

Continue reading