What is our primary use case?
The solution is used as a runtime for microservices developed in Node.JS for a SaaS mobile solution.
We had +/- 20 microservices which serve an app developed for Android and iPhone. The microservice has a direct connection to MySql, PostgreSQL, and identity services.
The solution is hosted in the IBM Cloud Dallas region, and the clients (mobile app) are in Peru and South America. Most of the users use just 4G to access the services. The use case doesn't require high availability of the services, and it was enough not to invest in redundancy.
How has it helped my organization?
The administration of the runtime environment is almost zero, as most of it is being managed by Cloud Foundry itself. Very easy to auto-scale applications both up and down and good observability features. It almost eliminates the admin role.
Cloud Foundry and IBM Cloud also manage the network and security settings, so network and security senior specialists are not required to set up the infrastructure.
Deployment of new instances is also very fast, so a very complex CI/CD environment is not required to apply changes to the code.
What is most valuable?
We enjoy the fast deployment. Cloud Foundry builds the runtime environment directly without requiring dependency management from the developer or administrator.
The autoscaling is great. It is just a switch that needs to be turned on, and autoscaling starts working. At this moment, you begin to see different meters about usage that helps you in updating the scaling limits, which help you tune the running instances. Besides this, autoscaling can be scheduled, so in times of low activity, you can have lower limits or increase in advance for special dates.
It has good logging. CF has logging events that help identify when a transaction runs and its response time which helps in monitoring execution.
What needs improvement?
In IBM Cloud, the product has been deprecated in favor of Kubernetes, which is a more complicated infrastructure to manage.
CF should be merged with the Kubernetes project. This could benefit both projects in areas of easy deployment and manageability. Cloud Foundry could include multizone support so it can be run in an enterprise production environment.
Another consideration is the typical "the chicken or the egg" problem. Should you run containers on top of Cloud Foundry, or should you have a Cloud Foundry container? If this is more clearly defined, a long life for Cloud Foundry can be secured.
For how long have I used the solution?
I've been using the solution for three years.
What do I think about the stability of the solution?
What do I think about the scalability of the solution?
How are customer service and support?
Customer service was good until the announcement of deprecation was released. then problem resolution took longer.
How would you rate customer service and support?
Which solution did I use previously and why did I switch?
Before Cloud Foundry, I ran workloads in virtual machines.
How was the initial setup?
The initial setup was very easy as I used the IBM Cloud service.
What was our ROI?
We have developed a SaaS solution and currently we are concern more in acquiring additional customers with a low entry-point prize and having an personalized support. The trick with SaaS solutions is to increase the volumen of customers and democratized/demonetize your solution.
What's my experience with pricing, setup cost, and licensing?
Use autoscaling to define the right number of instances. Usually, the cloud providers define a default size for memory or the number of instances. Try to see if you can decrease these numbers so that, perhaps at the beginning, you don't need those overestimated sizes.
Which other solutions did I evaluate?
I did not evaluate other options as I started with IBM Cloud and there the entry point was Cloud Foundry. I heard from Heruko long time ago but at that time I was not thinking in a cloud environment.
What other advice do I have?
Look for a cloud provider that has long-term support for Cloud Foundry. IBM is deprecating it.
Which deployment model are you using for this solution?
Public Cloud
If public cloud, private cloud, or hybrid cloud, which cloud provider do you use?
IBM