1
0 Comments

4 ways to deploy your web apps/websites

Hi guys, it's a pleasure to be a part of your community. That's a pity I found it only now, but not when I was creating my own website and needed to make it live. Hence I had to research a lot and now I want to share my findings with you. Hope it'll be useful for some of you.

I examined 4 different ways in which applications can be deployed - the most common and effective deployment techniques available today. Here I'll just quickly run through pros and cons of each of them. Share your opinion in the comments below and sorry for such a longread.

CircleCI and Travis CI

Advantages of Circle CI

  • Fast start.
  • Fast setup integration with GitHub.
  • Lightweight and with easy to read YAML configuration.
  • Cloud-based thus, requires no dedicated servers.
  • Has a clear workflow diagram with the ability to re-run specific steps.

Disadvantages of Circle CI

  • Cost per user is very high.
  • UX is not very intuitive.
  • Unlike say Jenkins, customization is limited.
  • Its documentation is inferior to competing applications.
  • Takes a bit of time to get git submodules working properly.

Regular cloud hosting + Jenkins

Advantages of Jenkins

  • With hundreds of plugins available on its update center, Jenkins can integrate with practically every tool in the continuous integration and delivery toolchain.
  • Jenkins is available for free.
  • Jenkins is a self-contained Java-based program that gives full control of the system.
  • Allows for the lunch of builds with various conditions.

Disadvantages of Jenkins

  • Requires dedicated servers which means extra expenses.
  • Needs time for configuration/customization.
  • Compared with modern UI trends, its interface is outdated.
  • Jenkins is difficult to install and configure.
  • Its continuous integration breaks regularly due to small setting changes.

Automated cloud platforms (I used Hostman.com because it allows you to deploy 3 websites for free).

Advantages of Automated Cloud Platforms

  • They support CI/CD.
  • A free tier and the paid versions that begin from as low as $6 a month.
  • They shorten the development cycle and produce fewer errors.
  • Deployments can easily be repeated in a secure manner.
  • It is super easy, no need to spend days on configuration.

Disadvantages of Automated Cloud Platforms

  • There could be a feeling of loss of control with cloud-based deployment.

Bitbucket pipelines

Advantages of Bitbucket Pipelines

  • Bitbucket allows for the creation of merge rules specific to the needs of each repository.
  • It has robust team and project management tools.
  • Great pricing for small and enterprise-level companies (including a free tier).
  • Allows for continuous integration- meaning more people can work on the same project.
  • Can be integrated with JIRA.
  • Bitbucket pipelines make scaling easier and commits are executed on new docker images.

Disadvantages of Bitbucket Pipelines

  • You can’t store data for your pipelines reliably as data gets lost easily unless cached.
  • Per project pricing is a bit more compared with competing deployment applications.
  • Setting specific permissions for projects and repositories is not as intuitive as on other solutions available.

All in all, choosing the method for deployment depends on your requirements (data security, all-time access to the information, existence of your own data center, etc.), but don't be afraid to try new platforms, it may occur to be a lucky find and close a lot of your issues.

What is your favourite way to deploy? And how do you feel about trying something new?

Trending on Indie Hackers
How I Launched My AI Startup with a Warm Email List and Zero Marketing Budget? 27 comments What you can learn from Marc Lou 19 comments Here's how we got our first 200 users 18 comments Software Developers Can Build Beautiful Software 10 comments Worst Hire - my lessons 8 comments Transforming Habits: What I Learned from 90+ Days of Regular Workouts 7 comments