This content originally appeared on Level Up Coding - Medium and was authored by Mykhailo Kushnir
Extra-rapid DevOps
Welcome to the continuation of a previous post! I’ll show how I’ve hosted all developed applications in this part and how much it cost me. At the end of the article, I’ll also share my plans for scaling using CI/CD.
Before I jump into the helpful part, let me reiterate a bit about what has been done so far:
- First, a website called promedium.destilabs.com was created. This tool helps you understand better what topics of interest you have in your Medium Reading List bookmarks using Machine Learning.
- Second, a few backend applications were created to maintain the complete solution.
Yet, developing applications and sharing them with end-users are not the same.
Deployment
For Promedium, I’ve used Heroku as a platform for deployment. While it’s not the most popular provider and after some experience with Azure Cloud, Google Cloud Provider and AWS, I find it still quite useful for rapid prototyping and low-config tasks.
To complete this part, you’ll need to install Heroku CLI.
Releasing applications these days is heavily tied with Docker, and that should be a standard that we all should comply with. Yet, Heroku offers an abstraction over it and makes it possible for you to release containers without using Docker tools. Here’s how you can release a new app within Heroku CLI, assuming you also built it on top of create-react-app:
heroku create $APP_NAME — buildpack mars/create-react-app
git push heroku main
heroku open
These three lines in the root folder of your app ideally should give you a fully-functional website hosted on Heroku and hidden behind a custom Heroku domain. Of course, your application should also build successfully (npm run build) and ideally have no security issues (npm run audit).
ESTIMATE: If you have a complete application with no build failures, it shouldn’t take you much time to release it as described. For me, it was around 1 hour. Also, be aware that Heroku has a limit of 500MB of random access memory (RAM), so it’s not possible to host a significantly sized ML model there.
COSTS: Free tier of Heroku can serve you well, but I’d suggest you to use Heroku Hobby to unlock SSL certificates and ~100% uptime of your applications. It’ll cost you 7$ and will give a significant boost in motivation to actually work on your project.
Domain
My goals in building and publishing projects are beyond a single service. I am starting a web company called DestiLabs, and, naturally, the domain I was searching for is destilabs.com. I took Hostinger as a domain provider purely because they offered it at a lower price than competitors. Here are three things that I’ve had to configure:
- Purchase domain
- Setup email address for @destilabs.com
- Configure subdomain for promedium.destilabs.com to host Promedium tool. Here’s excellent instruction on how to do it.
I also encourage you to use SSL as it would raise more trust in your new application from customers. For example, on Heroku, it’s possible to access configuration under “Settings → SSL” section.
Estimate: Subdomain configuration can be a bit difficult on various domain providers so allocate a bit more time to it. I’d say you should be able to finish around 2 hours.
Costs: I’ve prepaid domain and email usage for the next 2 years for 55.3$
Total Costs: Assuming resources for this service would be used for the next 2 years, I’ll spend ~220$ on it. I don’t plan to monetise it right now, and my main goal is brand awareness and customer acquisition. So paying 220$ for those is a very modest price, to say the least.
Scaling Strategy
Because I’m still a single developer of this project, I have to be clever about its scaling. I can’t spend much time testing, so it should be automated. Some coding standards should also be maintained if I’d like to delegate them at some point. With that in mind, I’ve decided that the current level of functionality is enough to capture feedback, and in the meantime, I should spend some time on technical debt:
- Cover project with Jest unit tests and automated PlayWright;
- Fix some visual issues and make the site responsive to screen size;
In the following articles on this blog, I’ll share more about the progress and how I implemented it.
Summary
Building projects solo can be quick and cheap. Of course, you have to know what you’re doing, and your tech stack should consist of agile and configurable tools. While it can be challenging and unobvious, the benefits outweigh the drawbacks:
- Having a hosted SaaS in your portfolio is a huge plus for your career options;
- You can test your product hypothesis and earn. You are the product, CEO, designer and every other member of a typical engineering team that you typically disagree with within your main place of work;
- Solo development boosts your tech skills. You’d better understand all the nuances that various parts of engineering teams have to deal with;
Let me know what you think about my journey in building Promedium and what you’d have done differently.
You might also be interested:
- How to create SaaS within 24 hours. Part 1
- How to write a good Machine Learning headline on Medium
- How I scrape lots of sites with one python script
How to create SaaS within 24 hours. Part 2 was originally published in Level Up Coding on Medium, where people are continuing the conversation by highlighting and responding to this story.
This content originally appeared on Level Up Coding - Medium and was authored by Mykhailo Kushnir
Mykhailo Kushnir | Sciencx (2022-05-01T15:59:56+00:00) How to create SaaS within 24 hours. Part 2. Retrieved from https://www.scien.cx/2022/05/01/how-to-create-saas-within-24-hours-part-2/
Please log in to upload a file.
There are no updates yet.
Click the Upload button above to add an update.