top of page
Search
  • Writer's pictureLaurence Wingo

Serverless Technologies and Real-Time Databases

In the last few years, I’ve been drawn to adding or simply using newer database technologies such as AWS and Google’s Firebase real-time database. This wasn’t by pure personal choice but open debates at work were in favor of non-relational databases over relationships with tables. This blog post is not a rant because I was pleased with how easy the step and execution process is for Cognito and Dynamo DB as I was building a Bluetooth application in synch with HealthKit and Bluetooth glucose meters (GitHub repo link: https://github.com/cosmicarrows/BraceletOneHealth). Great idea, sure. But it was short-lived due to learning how technology had already advanced with the use of Bluetooth technology which could be injected into the users arm for tracking. Although, I did enjoy learning how easy it was to use serverless technology. Before then, I initially developed another app called Nostalgia and it was made with the idea of sending push notifications to users depending upon their location and saved experiences matching the vicinity to that same location using region monitoring (GitHub link: https://github.com/cosmicarrows/Nostalgic-Mobile-Proj). There was ample documentation for setting up the real time database but I became frustrated without knowing the possibilities of authentication and cloud functions. Google’s Firebase real-time database provides the ability to add event observers within your application which could go as far as also adding cloud functions triggered by data changes on the database, similar to AWS Lambdas. As an example, cloud functions could be designed to fire when a specific user logs in which could send a push notification to maybe that one user or all users notifying them of a specific user logging in or having joined the conversation. For added security to Google’s Firebase real-time database, you can also create Rules which resembles a simple a JSON document. After learning how both AWS and Google Cloud technologies are so similar and vowing for our business, logical thinking would suggest how you develop your iOS architecture to prevent service lock, meaning not to be tethered to a serverless platform such as AWS, Firebase, or even Azure when considering your software’s architecture. Database tree structuring could also help in reducing the amounts of bandwidth used during calls to the backend for each payload. The data types available to you in Firebase are strings, booleans, doubles, and floats. Before I go off on a tangent exploring the risks of singletons versus dependency injections, I’ll end this blog now in hopes that you’ll follow along with the CandeLight project I’m developing to assist users who don’t have a ride to their nearest local pharmacy after being discharged from hospitals (GitHub link: https://github.com/cosmicarrows/Candlelight)



3 views0 comments
Post: Blog2_Post
bottom of page