You may not know how to code. But even then, before you start wasting your money on your dreams, it's essential to have some basic knowledge of the server requirements of your website and/or mobile app.
Following our last article, let's talk about this major item that – some – software companies use to exploit their customers.
What is it and what is it for?
Your website is basically a digital catalogue. Pages of code and dozens of files come together to form a meaningful whole. This catalog works in a way that, while on his drive, only the programmer can browse; but when you want everyone to see it, it needs to be moved to a publicly accessible computer, and that computer has to be rented. This is called server.
Servers are basically either physical (dedicated) or virtual (VPS/VDS/cloud). Technically, let's not go into details for now, but note that the first is expensive and unnecessary for most projects at the beginning of the road, and you should probably choose the second type.
In the case of mobile applications, you don't need to look for hosting, as you upload your 'catalogue' to the servers of the AppStore or Google Play. Both platforms have their own fixed service fees and you just have to pay them. For example, while you spend $25 once to publish your Android app, you have to pay $99 a year to keep your iOS app live.
There is also, for example, 'product and price information' on your catalog. This data needs to be written to and fetched from somewhere, and this place is called database.
Your website itself and the database are often integrated on a single server, and the 'rent' you pay includes both. If it's your mobile app's database, it should be stored in a different location than AppStore and Google Play. Don't get confused; your project will probably have a website and two mobile apps (iOS & Android) and they will all use the same database.
In summary, if we assume we're writing our own code, our monthly expenses will be:
- Google Play streaming fee – $25 (one time)
- AppStore publishing fee – $99 (annual)
- Server cost of our website – __ (monthly or yearly)
- Database server cost – __ (monthly or yearly)
Time to fill in the blanks
Recently, a customer whom I had to turn down due to time constraints, reached out to one of the well-known companies in the hosting sector. They tried to fill the gaps above for his project, which is still at the idea stage, by submitting 4 different offers varying between $3,000 and $10,000/year.
Let's rewind time 10 years. In my first venture, we worked with four different software developers and companies. All of them suggested using local servers and I always agreed, thinking "since the project is Turkish, it makes sense for the hosting to be Turkish".
Sad but true, this is the most common mistake beginners make.
Continuous slowdowns, interruptions lasting hours if not days; vain attempts to reach customer service, endless tickets...
Hello WordPress, welcome DigitalOcean!
Finally, we burnt the bridges with software developers and local hosting providers, switched to these two, and most our problems were solved. If there was an issue, all we had to do was 'reset' the server from the control panel and within 1-2 minutes, we were back online.
So what are these?
WordPress is a content management system that allows you to simply create your own website. Its biggest rival is Wix. Let's talk about the use cases in a separate article (and no, this site wasn't built on WordPress, but it could be done).
DigitalOcean is one of the most popular internet service providers in the world. They offer virtual hosting starting from $5 per month.
Your eyebrows are raised and your mind is confused because of the gap between the first offers and the figure just above. Let's dig a little deeper.
Target customer group of domestic companies are domestic entrepreneurs at the beginning of their journey, who are completely unfamiliar with programming and server management. Target audience of international companies is… everyone. Whole world.
As a matter of fact, the profit margins of Turkish companies must be much higher than those of foreign ones so that they can survive. With such low prices and distribution of huge amounts of referral credits, only 10% of DO's total revenue comes from cloud services
The point is this: When you go to a software company, they offer you the inflated prices of the local hosting firms they have contracted with, adding a few alternative offers with some arbitrary numbers below – like "package 3 is suitable for 15-20k users per month", etc.
You sign up, overestimating your traffic, and assuming that traffic really requires a server at that cost. Of course, these prices often belong to 'physical' servers that are 'leased' to you; naive thoughts cross your mind, such as "I pay a lot but it's good value – after all, I have my own server". And when you add customer support in your native language, mistakes become inevitable.
What about the 'virtual' server?
Underestimated by novices, these servers are actually a software-based representation of extremely powerful physical servers, so they're more than capable of meeting your needs. Their location hardly matters – how many times have you seen Google load slowly? Besides, they offer some options when starting your server: For instance, if you want to be close to us (or for purely emotional reasons), you can choose Amsterdam instead of New York.
OK, I'm sold. What now?
What you need to do is to start with the lowest plan of a service provider like DigitalOcean or similar (such as AWS) and gradually upgrade as your number of users and traffic increase. Don't worry about customer service; a well-established server won't be easily 'down' as long as it is regularly updated and restarted. And when this happens, they'll take care of you so well that even if you don't speak English, their support will probably be still more helpful than that of local companies.
The basis of data
Basically, we can talk about two types of databases: SQL (systems such as MySQL, PostgreSQL) and NoSQL (platforms such as Firebase, MongoDB). Your database choice is shaped by whether you want to store the data on a server or on your user's device.
Let's say 1000 users are actively using your app per day (good job!) viewing images and text, but not uploading or downloading videos. A database consumption of this scale will cost you approximately $50 per month in addition to your server. But remember! Database services are often 'pay-as-you-go'; so if things went sluggish that month and you greeted an average of 100 people per day, you would only pay ~$5.
Who has the key?
At the end, the issue comes back to the software developer or company you will work with. After all, they are the ones who will make the server installation of your project and regular updates we mentioned, and connect your database.
The important thing is that you have the knowledge to question why your contractor imposes expensive alternatives on you, when there are such affordable and reliable services that will do the job just as well.