For the next phase in our DevOps Lifecycle, my advice is to keep operation costs as low as possible. Hosting a server introduces monthly cost and efforts to your project.
From setting up your server to maintaining security updates for OS, applications and libraries.
For most projects, it’s a good idea to keep these efforts as low as possible.
Do you need a Server?
The first step to saving operational costs, is to not require a server.
When developing an app, it might be okay to authenticate with Google, Apple and Twitter.
Need to synchronise files? Many apps support Dropbox, Google Drive and iCloud instead of synchronising via their own servers.
There are many ways to leverage existing online services instead of developing and hosting your own.
Low Maintenance Hosting
So for some projects, there is no alternative. Interaction and communication between users is key to many applications and games today.
But just because you require your software running online, does not mean that you must setup and maintain a server yourself.
Luckily, we are in the age of cloud computing.
Serverless Functions
If you haven’t begun development yet, you can decide to use a serverless architecture. This just means that you code individual functions, which will be run on different machines by availability.
My recommendations here would be Google Firebase or Azure Functions. If you are developing a game, you should check out Azure Playfab.
They offer large free tiers, so you can try them out and even operate a small application completely for free.
When your project grows, Google Firebase will be cheaper than Azure Functions. However it only lets you deploy NodeJS functions written in JavaScript or TypeScript.
Be aware though, that Firebase includes many other features tailored to mobile app developers. It’s not just serverless functions here.
While Azure Functions are slightly more expensive, they enable you to deploy functions written in JavaScript, Typescript, C#, F#, Java, Python and even PowerShell. And while Azure Functions can be easily integrated with other Azure services, this easy integration does come at a cost.
Though I personally really enjoy the Azure services and have had a great experience with Azure Functions, I would recommend Firebase Functions for small teams just starting out, especially if you are using other Firebase services, such as authentication or notifications.
Managed Hosting
If you’ve already got some backend code, serverless functions aren’t an option.
Luckily, you can get managed hosting from many providers nowadays. This means, that the hosting provider will keep your operating system and all software up-to-date and secure. This is especially vital for database servers.
Major cloud providers offer such services with AWS Elastic Beanstalk or Azure App Service. You simply upload the code for your web application or even a dockerfile. They are more expensive than your usual virtual server, but don’t forget to calculate the time you save when you don’t have to keep your servers secure and running.
Conclusion
Low maintenance hosting gives you the space you need to focus on your product development.
Not only do the services easily scale to large traffic, but it scales to many projects as well, without you needing to hire someone for server administration.
You can reach me on Twitter or the BrutalHack Discord Server for questions or feedback.