What is our primary use case?
We use UrbanCode Deploy for storing the artifacts of the environment.
In both our production and non-production environments, we rely on UrbanCode as an artifact repository. For example, if we want to deploy something in production then we take our usual steps, such as stopping what needs to be stopped, then we deploy using UrbanCode, and then we restart to make our production environment available again.
This solution is also useful for maintaining different versions of the artifacts because it has the capability of maintaining snapshots.
What is most valuable?
The most valuable feature is the snapshot functionality, which allows us to access previous versions of the artifacts. I can see what versions are there and it has helped a lot in one of my products that has many different artifacts that need to be managed. UrbanCode shows me which versions of which artifacts are in each environment.
What needs improvement?
This solution could be made more flexible with respect to deploying databases. Liquibase is a valuable feature but it is weak and could be better. I have just seen a video on a product called Datical, and the database workflows are easy to manage.
Not just anybody can use this tool without first taking at least the basic training online.
I would like to have the agent up and running at all times, as opposed to only while it is in the DevOps pipeline.
For how long have I used the solution?
I have been using UrbanCode Deploy for nearly four years.
What do I think about the stability of the solution?
The stability is good and we've had no issues with it. We use it on a daily basis in both non-production and production environments.
What do I think about the scalability of the solution?
This solution is very easy to scale. We have between 300 and 400 users and we have had no issues at all. Our development and support teams have access to this tool, although there are only four or five of us with administrator access.
How are customer service and technical support?
We have only contacted support one time and it was concerning a very minor issue. Currently, we are running this solution without a support contract from IBM, although we will be purchasing support the next time we upgrade UrbanCode.
Which solution did I use previously and why did I switch?
Before UrbanCode was implemented in the organization, we used to perform the basics using Jenkins. However, it was a very lengthy and difficult process.
For some of our products, we are not using UrbanCode. For example, we have implemented Ansible and we are looking forward to using it more as a Linux tool. The major difference between the two is that Ansible is agentless. I just need to log in to the server and do my deployments. The issue we are having with UrbanCode, where we want to keep the agent up and running at all times, is automatically resolved using Ansible.
We will continue to use multiple products for the time being.
How was the initial setup?
The initial setup is easy, although it depends on the tool that you are comparing it to. For example, Ansible is a similar tool that is not agent-based. Overall, I would rate the ease of setup a three out of five.
What about the implementation team?
When the product came in, one of my colleagues went for training and then assisted me with the implementation. I also took some online training and I think that anybody would need it before they can use UrbanDeploy.
What's my experience with pricing, setup cost, and licensing?
The licensing fees for this solution are based on the number of servers that are being deployed and the number of agents that you have. There is a separate charge if you want support from IBM, and the cost of support also varies depending on the number of agents.
What other advice do I have?
This is a solution that I recommend but I think that for anybody who is interested in implementing it, I would suggest that they start by reviewing the resources that IBM has online. It is not complicated, and they will be comfortable with how the variables are used and that kind of thing.
I would rate this solution a seven out of ten.
Which deployment model are you using for this solution?