Picking a Hosting Platform

Regardless of the type of application, online applications need a few key pieces of infrastructure to be accessible securely and reliably online. This includes some sort of server to host the content of the site, networking infrastructure to route traffic to and from the server, and a firewall to protect against unauthorized or malicious traffic. In the past, amateur and professional web developers needed to procure, run, and maintain this infrastructure on their own. However through the cloud, this no longer needs to be the case as cloud providers have developed platforms where you can own the application, but allow the provider to run and maintain the infrastructure for you. This makes our job, in my team’s senior project, to develop and maintain an online application feasible within the timeframe we were allotted. It also means that, with the right approach, we can hand over the project to someone less technical without them needing to worry about the underlying infrastructure running their solution.

Our Team’s Approach

My team’s senior project was tasked with creating a site that would be used to match prospective mentees with mentors within the EECS program. The objective for this site is to be embedded in the current Center of Practice site which our mentor, Dr. Cate, owns and maintains. Our application would need to be able to stand on its own, independent of the CoP site, handle authentication and authorization, as well as the storage of user account data.

With that in mind, picking a hosting platform was a daunting task as today there are many options that all provide more or less the same features. The previous team who was working on this project before us had picked Google Cloud as their hosting platform. This was not a bad choice as it had most of the functionality needed for the application, and it’s a fairly popular choice for this type of project. However, we found a few problems when trying to reconcile all of our technical and non-technical requirements.

See, Dr. Cate was ultimately going to need to be able to run this site after our team completed the project. While Google Cloud is great, the management console could be clearer and easier to understand from a non-tech-savvy perspective. So, our team opted to go with a platform called Firebase, another Google Cloud offering, as our platform of choice. Firebase, in our opinion, has a much more refined and straightforward approach to its choice of hosting options, billing options, and its management console. To illustrate what I mean, here is the storage portal for Google Cloud.

Versus Firebase

With one click, the user can immediately see the data for the project, whereas someone less tech-savvy would not know where to start in Google Cloud. While Google Cloud may offer more options, Firebase provides an overall clearer implementation. 

The same goes for Firebase’s approach to billing. For example, billing on Firebase takes a plan approach rather than a bill-per-resource approach. A per-resource approach makes sense for larger companies who would rather have the granularity of information available, however for one person, the value proposition of granularity is much lower. 

See for reference: https://firebase.google.com/pricing

Security and Compliance

While user experience is one big factor that played into our decision, security, and compliance will ultimately overrule any of those considerations. Our team will be building a site that stores and shares the data of students, meaning our chosen platform will need to meet FERPA requirements when it comes to data security. Luckily, Firebase does comply with FERPA requirements.

See for reference: https://cloud.google.com/security/compliance/ferpa/

Another security consideration was how we planned to authenticate and authorize users on the application. Google Cloud itself does offer what they call an IAM (Identity and Access Management) service, and thus so does Firebase. The difference was again in it’s implementation. Firebase gives our mentor a very straightforward, easy solution to managing user accounts on the site. 

Since Firebase had a free and easy-to-implement solution for our application, this made picking Firebase even more beneficial as we did not have to depend on another third-party provider to give us this functionality.

Conclusion

In essence, a hosting platform can make or break the long-term success of an online application. If the platform is not secure or compliant, your application risks being removed or even worse, breaking a law. If the platform is too difficult to navigate for the support team of the application to understand, you run the risk of unknown errors occurring. This is why we took a lot of careful consideration and looked at many options when choosing our platform.

Print Friendly, PDF & Email

Posted

in

by

Tags:

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *