With the new microservices architecture patterns, existing providers of virtual machine hosting are not fulfilling the requirements on an application-based hosting anymore. Usage of containers and application runtimes is on a rise and these services provide all major players in the industry. We have been using IBM '' platform since 2015. What are our experiences so far?
IBM Bluemix provides variety of services, for our application backends were important two - CloudFoundry apps and containers. For CloudFoundry apps IBM provides reverse proxies with scaling and this service is running smooth and fine.
Here are the main problems we have been facing:
Volumes for persistent storage are implemented as NFS storages. This has two implications - they are slow and only a root user can access data on it. So for example with a mysql database container that stores all data as myslq user, the original Docker image must be hacked to access filesystem under a root user. This is a blocker for most applications that store data.
2) DevOps services
The DevOps pipeline is a web-based application, so all deployments and env. variables of single Docker images can be configured over web. The problem is that the DevOps pipeline is incredible slow. Rebuild and deployment of single image takes up to 15 minutes.
Some services tend to fail, or, for some reason, we were unable to deploy an image to another space (spaces are used to separate single projects or clients). This was clearly a problem of Bluemix platform, but reaction of support team was always 1) "send me a log" 2) "are you logged in?" 3) "here is a link to FAQ that may solve your issue" 4) GOTO 1).
4) Black friday at May
Who reads IMPORTANT emails... well, I don't. There was an email from IBM support team in May, that they are migrating to a new data center and all running containers will be shut down and must be started again by hand. I would be ok with it (even it is very annoying and I overlooked the email), but the problem was (again) with volumes and support. Newly cerated containers didn't have rights to access data on volumes (even under root user). We had to solve this over support, that took about 2 days.
IBM Bluemix is a great tool for CloudFoundry apps. Docker containers support + DevOps delivery pipeline are very promising as well, but it is not ready for a serious production use (in 6/2016).