5 Things you should consider before subscribing to a Continuous Deployment Service
Are you looking for a way to boost your productivity as a developer? There are methods and best practises in software development everyone talks about, for example Continuous Integration (CI) and Continuous Delivery or Continuous Deployment (CD), often referred to in tandem as CI/CD. Before you sign up for a CI/CD service, there are a few things you should consider, though. In this article we will have a look at five of them.
1. Does it integrate with existing Workflows?
We all are creatures of habit. Habits help us to get through our life, and that includes the work life. That's why it makes sense to look for a service that plays nice with the other tools and applications you're already using. For example, the version control system – it's crucially important that your CI/CD system integrates seamlessly with your preferred VCS. If you're a Git user, then it doesn't matter if you're hosting the code on GitHub, GitLab, or Bitbucket, it's quite easy to connect DeployBot to those platforms or any other Git repository out there
By the way, DeployBot supports more than just network protocols like SSH or Git. Our REST API makes sure that certain events in your connected repositories can trigger actions in DeployBot.
Apart from the VCS, there are other external services you might want to think about. Deploying your code to DigitalOcean, connect AWS or the Heroku cloud? DeployBot supports all those providers and offers additional integrations via the FTP/SFTP protocols. Want to deploy your Shopify store themes? DeployBot is your friend. And there is more coming soon: Native deployments to Microsoft Azure and the Google Cloud Platform (GCP) are on our to-do list.
It's helpful if the CI/CD service supports the technologies your applications rely on. If your code is built with Node.js, for example, it's a good thing when your deployment tool provides assistance for the JavaScript runtime environment. DeployBot is up-to-date when it comes to application development frameworks. It can compile Java code as well as Scala and Go sources. It supports npm, Node.js, and Composer. On top of that, Gulp and Grunt are supported for automated builds. In other words: If your applications require a certain technology, there is a good chance that DeployBot can handle it.
If you've read this far, maybe automation is an issue for you. It makes sense to look into that, not only when you’re updating more than one server. This is exactly what we offer with DeployBot. DeployBot integrates perfectly with the most popular tech. You can find an ever growing collection of beginners’ guides on our website.
2. Does it support Containers?
So, we’ve talked about workflows and technologies which brings us to the next point: containers. A lot of modern micro-architecture applications are simply not possible without container technology. Containers are the environment where your code is built or tested. A CI/CD service that treats Containers as "first-class citizens" is therefore a good idea.
So, what would that "treatment" look like? The CI/CD service should be able to generate containers based on the content that you pass on to it because most developers don’t want the productive workload to run on their laptops. Since Docker is the de-facto container standard these days, look for a solution that supports Docker and has the ability to build Docker containers. It should also feature uploading built containers to a Docker container registry, such as Docker Hub.
By default, DeployBot comes with its own Docker containers. It's also possible to connect containers from Docker Hub – that's up to you.
3. Does it save Time?
Would you rather concentrate on coding instead of setting up your work environment? Then better spend time on your application, not on your CI/CD tool chain. A lot of CI/CD systems out there are Open Source software and many of them come at no cost for the software itself. While quickly firing up a virtual machine and setting up your own solution may be tempting, have a look at the downside of this approach.
It requires a machine with an operating system, the CI/CD and related services, and, of course, somebody who administers the system. In addition, the CI/CD software itself needs looking after. Regular software updates to fix security-related vulnerabilities are vital. So, why not look for a solution that you don't need to manage yourself? Think about all the free time that you can spend working on your application...
Since DeployBot is hosted on our premises, we take care of the infrastructure. Any required maintenance is done by our experts – no hassle for your, promise!
4. Does it strengthen the Team?
I've already mentioned how important it is that a CI/CD service can integrate your favourite tools and support your work habits. So what about other people? Everytime there is more than one developer involved in a project, he or she has to communicate with the other team members. Many teams use some kind of messaging service to communicate with colleagues and customers these days, for example Slack or Campfire.
It's easy to connect DeployBot to both, Slack and Campfire. That way everybody is always in the loop, knows about new deployments and also gets notified when something goes wrong during a deployment. Not interested in the modern ChatOps world? Well, then configure DeployBot to send out email notifications. Other supported external tools are New Relic, Honeybadger, and bugsnag – they all improve collaboration and team work.
5. Does it cost a lot of Money?
Closely related to the time-saving aspect is the last point on our list: money. A number of (commercial) CI/CD services out there offer tons of features that you will likely never need, but cost a small fortune. Those solutions are targeted at legacy environments, i.e. historically grown setups that come with a large variety of tools and solutions. So, if you’re a freelancer or a small web agency, why not find a service that fits your business model and needs instead of paying giant fees for features you don't require?
DeployBot doesn't ask for giant upfront fees – instead you pay for the things you really need.
The right Choice
Of course, large cloud providers feature their own set of tools for a smooth CI/CD workflow. While it's appealing to rely on those tool chains since they come at no extra cost, keep in mind that being locked-in by a vendor is not ideal. Migrating from one provider to another can cause some grey hair, especially in multi-cloud environments.
So, best evaluate what's out there before you sign up with one or more service providers. Only if the CI/CD service supports your preferred workflow (and that hopefully includes containers!), saves time and money, then it's worth giving it a try. If you're a team of developers, don't forget about the collaboration features. Happy coding!