We don’t need no servers, we don’t need no source-control
Let’s break this down into several categories that have seen major improvements over the years — hosting, CI/CD tools, Cloud infrastructure tools, marketing tools, and general cloud automation tools.
Ok, we do need source control, but bear with me.
For some time already cloud isn’t a buzzword anymore. Normally, buzzwords form around something very popular and emerging at the time and when the hype-train passes, we are left either with obsolete technologies or household names in the industry.
I like to believe that the latter happened with the cloud which paved way to now-established tools like Azure, Firebase, Zapier, Bitrise, Mailchimp, Netlify, CircleCI etc. What once required a whole team of engineers is now available to a single developer, powerful as ever, once again enabling one-man-show products and rise of the so-called indie developer. Tools in the article are not sponsored or endorsed in any way, they are just something I’ve come across in every day work with the technologies that power today’s web and mobile apps. Also this is not meant to be a thorough overview of all tools for every possible scenario — there are a million other tools that can help you build and publish apps the way you want it.
Now that the disclaimers are out of the way, let’s break this down into several categories that have seen major improvements over the years — hosting, CI/CD tools, Cloud infrastructure tools, marketing tools, and general cloud automation tools.
Hosting
Hosting plans have recently come a long way. Right now, you can get free hosting, using Firebase or Netlify.
Choosing Firebase gets you 1GB of storage and 10GB of monthly bandwidth for 0$, while Netlify offers the same 1GB of storage and generous 100GB of bandwidth. On both platforms, you also get free SSL and custom domain support.
Setting up SSL went from purchasing SSL certificates, editing server configuration files and worrying about expiries, redirects and other stuff to ticking a checkbox in some dashboard and forgetting about it.
Just a couple of years ago, this was unheard of, especially 100GB of bandwidth for free, which Netlify currently offers. Even some paid hostings used to offer less than this. This means that you can bootstrap your project well into profitability and serious user base using completely free hosting.
Even when you have to step up a tier and pay, you’re still left with a hosting service which is nicely integrated with their simple CI/CD tools, and, advanced functionalities aside, provides you with plug and play solution for delivering content to your audience in a smart way with almost zero maintenance hours needed.
CI/CD Tools
Continuous Integration / Continuous Delivery, which would be a fancy term for automating repetitive tasks of building and deploying apps to staging and production servers.
What has sometimes required a whole dedicated build server and at least one hairy guy in a basement that maintains that weird thing no-one understands is now a dashboard with more configurations available out-of-the-box that you may ever need. Bitrise, CircleCI, Netlify and probably a dozen others are one registration away, and free tiers are generally generous enough for building and deploying a smaller project without concerns.
Forget about cPanels, drag and dropping to the server, slow FTP connections when you drop 20k files (oops, forgot to delete node_modules). Merge the feature in you source control of choice (again almost completely free, hello Microsoft and GitHub :)) and watch it automatically on development and staging environments. Wonderful!
Read more about using CircleCI & Firebase from our CTO here:
Cloud infrastructure tools
When you think about a product, an app, or merely about a complicated website, usually it revolves around design, frontend and backend development.
If you’re tight on budget/time, the design is usually the first to go. You can always use some Material UI library, throw something together and call it a day. UX will suffer, but generally, it should work.
With backend, it’s a bit different story. Normally, you must have a database, you need some architecture planning, you must know at least another programming language, etc. However, with the rise of cloud infrastructure tools like Firebase and Azure, you can skip that part as well.
Firebase, for example, gives you the SDK that ties in with their Firestore/Functions/Storage services with any language you want. So if you know only Javascript, this doesn’t stop you from creating full fledged software in a matter of days.
Not so fond of SQL and it’s relation-based approach, scaling, performant queries and other stuff needed for enterprise-grade solutions? Firebase’s Firstore NoSQL database gives you simple collection-document solution which automatically scales with requests with zero setup required.
If you wan’t a bit more oversight over what’s happening behind the scenes, or you wan’t to use something else then provided NoSQL database, you have Microsoft’s Azure and AWS’s Amplify tech stacks at your disposal.
Marketing
A bit of an outlier between all other tools, marketing is something average developer struggles with or finds irrelevant in building a product. “If the tool is good it will market itself” is a popular saying between those who don’t believe in marketing. Sadly, if no-one knows about your tool or service, its technical excellence is of little use.
What has historically taken a team of people months and thousands of dollars, today you can achieve with a viral post, youtube video or a simple self-expanding campaign (remember Google’s “Sent from G-mail” signature added in every mail back when Windows Live was all the rage? More of similar techniques are covered in Ryan Holiday’s excellent Growth Hacker Marketing: A Primer on the Future of PR, Marketing, and Advertising (non-affiliate link).
For example, if you’re lucky, you can end up on the Reddit homepage (it doesn’t even have to be posted by you). It’s at the same time best and worst thing to happen to your project. You can get millions of views in hours, but also you can get MILLIONS of views in hours, for a website that has chugged along nicely on a micro instance of a shared hosting for 5$ a month.
Protip: Those two don’t work together.
Regarding tools, Mailchimp, Mailjet, and others give you world class tools and one-click marketing campaigns for the basic newsletters out of the box for free or very cheap. If there are people amongst you that have tried to code nice looking email templates that actually work in all weird email clients that people use, you know how pain in the a** it is. I’ll take even basic email templates for free that I know are tested and work in most of the clients.
General automation tools
Market leader here is probably Zapier, but others like Automate.io and IFTTT are also great. Using any of these tools you can integrate unrelated services, and, for example, send marketing emails after successful registration of the user on your service, add your sales numbers from online stores to your custom sheet, notify you of increasingly negative metric on Google Analytics, etc.
While this area isn’t something closely related to software development and product management, a tightly integrated environment of these workers may enable you to focus on the product itself, not pushing papers and filling out tables.
Pieter Levels covers this topic greatly in his book called Makebook (https://makebook.io/)
Here’s where many people would say: “go hire some people to work for you”. Here’s where I say: “avoid hiring, build robots”. Hiring increasing the complexity of your product, business and life. Hiring a person means you need train and manage them and makes you liable for their income and in many countries a lot more than just that (e.g. health insurance). Humans are complex. They’re also relatively slow. Robots can be simple. They’re also very fast. Most of the regular stuff to maintain your product can be automated as a scheduled computer script (run by scheduled cron jobs on your server). Those scripts I like to call “robots”. I have about 700 to 2,000 running depending on server load. They’re such an important part of my business I list them on my team page:
Pieter Levels, Makebook
I can only highly recommend the book which looks at bootstrapping businesses and from another perspective.
Closing word
The point of any of these tools isn’t to make DevOps position obsolete or downplay the importance of a custom backend for a product. Major thing to grasp here is how has the market of cloud-based products matured and now offers tested and stable solutions for most of the problems that early-stage products are facing.
If you don’t have a dedicated backend developer for your product use Firebase. If you are not a DevOps engineer, use Bitrise or CircleCI. Maybe you just want to test market feasibility of a product and need a quick hosting you’re up and running with Netlify or Firebase in a couple of minutes. People run full businesses around just maintaining newsletters through Mailchimp.
The barrier to enter a usually highly demanding and time-consuming area of selling a software product on the internet has never been lower, and with amazing tools like these, it will become even more approachable to the average developer of tomorrow. Let’s make something great with it!
I hope I’ve inspired some of you to build your own things, or to simplify processes that you’ve maybe inherited from days past. Either way, let me know if I skipped something important, or wrote something just plain wrong. Write in the comments if you have any thoughts about this or contact me at sebastijan@prototyp.digital. Drop us a visit at prototyp.digital if you’re just clicking links now. Cheers!