Design update: choosing a server type
Have you ever avoided some parts of your website or application just because they are not up to your standards or just got old and dusty? Well, I certainly have! Lately I’ve been looking for excuses to not add any more servers to environments just because choosing a server type was kinda embarrassing:
Don’t get me wrong — this page looked alright when it was built in the early 90s. But we have been adding so many new targets and deployment types lately that it got out of control. At first we even discussed never adding another integration again, but then figured that redesigning this page is a better idea.
We were concerned about a lack of structure and communication in the old list — Atomic SFTP was next to a regular FTP, and Shell commands were next to a Shopify theme deployment. It was so easy to make the wrong choice and sacrifice your app’s uptime and stability just by not realizing that there are better options! Especially if you’ve been with us for a while and are not aware of new types of deployments. All deployment activities can be organized into 3 categories and we wanted to make sure that you have the best information to choose the right one:
- Deploying web applications. That’s what our atomic deployments with zero downtime are for. This deployment uploads all of your changed files to the server, runs your custom shell commands, and, when everything is ready, performs an atomic version switch allowing your web server to pick up all new changes at once.
- Deploying files. This can be a simple website, Shopify theme or even some assets — anything with relaxed uptime requirements or sites that are insensitive to runtime filesystem changes.
- Executing commands on your server. This is your choice if you aim to build a genuinely unique deployment workflow. We connect to your server using the SSH protocol and run any commands or deployment script that you have provided.
A single deployment environment can consist of multiple servers from these categories — for example, you can deploy your web application to DigitalOcean, assets to Amazon S3 and then run a Shell script on another server to finalize process. This modularity and flexibility is a key to powerful custom workflows.
Hopefully this explains the difference between Atomic vs Regular SFTP or DigitalOcean for Web applications vs Files. If you ever have a question about any of the server types just click on a question mark icon in the top right corner to read how it works.