diff --git a/_drafts/2019-10-04-google-firebase-overview.md b/_drafts/2019-10-04-google-firebase-overview.md deleted file mode 100644 index d422c2a..0000000 --- a/_drafts/2019-10-04-google-firebase-overview.md +++ /dev/null @@ -1,83 +0,0 @@ ---- -title: "Choosing a Backend Tech Stack for Apps in 2019 and an Overview of Google Firebase" -permalink: "/google-firebase-overview" -description: "Let's discuss what Google Firebas has to offer for app development in 2019." -keywords: "" -image: "firebase" -image-attrib: "https://firebase.google.com" ---- - -Rcently, I've been looking into some of the latest ways we can quickly spin up a backend system for an app prototype. - -I didn't really expect it to be so hard but, to my surprise, the sheer number of available options can really be overwhelming. - -In this post, let's go through my considerations for choosing the backend teck stach for my future apps and why I eventually chose Google Firebase. - -I understand that not all apps will have the same requirements but since it doesn't make sense to have monolithic architecture for most modern web projects today, I will just assume that my future projects will need a backend that is a separate component of the architecture being accessed by frontend client apps through APIs. - -Now, to guide in our decision, let's list some things we actually want our backend to have. - -**1. Authentication** - We want users to easily be able to get access to our app without sacrificing security. Having integration with 3rd party networks is ideal especially for users who do not want to sign up to yet another system. - -**2. Database** - We want a database system that is flexible in data structures and is capable of handling real time transactions, as we expect growth in the number of active users doing huge numbers of transactions daily. - -**3. Serverless Cloud Functions** - We want to save time in operations by not having to worry about setting up and maintaining servers for the backend - -**4. Low Cost** - We want to be able to test and run a prototype with minimal costs. Pricing increase must also be reasonable as our usage grows. - -As I said earlier, there are so many options available now for us to spin up a backend server. I don't want to go through everything here so I will just classify the different backend technologies you can mix and match in another post. - -Now, considering the features we listed above, I found that though there are many options out there right now, one platform stood above the rest. - -## What is Google Firebase - -Google Firebase, first and foremost, is a platform. You can think of it as a suite of services for all your backend needs. It offers all the basic features we listed earlier and more. It comes with SDKs, tools, helpers, and an active community to support your backend development. - -We can't go through everything here, but let's go through some of the reasons why I think Google Firebase is one of the best (if not the actual best) choice right now for backend. - -## Why Choose Google Firebase - -Among the other choices out there right now, I decided to test out Google Firebase for several reasons. Let's go through some of them here. - -### 1. Apps will be performant, secure, and easily integrated - -### 2. Authentication as a service - -### 3. Awesome file storage - -### 4. Automatic database backups - -### 5. Automatic scaling - -### 6. FREE tier enough for even light production apps - - -## Why Not to Choose Google Firebase - -Of course, despite all the sweet deals Firebase has to offer, it is not a perfect platform. Primarily I can think of three reasons why you might not want to go with Firebase for your app's backend. - -### 1. It has limited SDKs - -### 2. It offers limited queries - -### 3. It is a NoSQL database - - -## Other Things to Note - -Aside from the things I previously mentioned, here are some things worth knowing before choosing Google Firebase. - -### 1. You don't hold your data - -### 2. You will use JavaScript (JSON) - -### 3. Firebase Console is constantly evolving - - -## Summary - -So that's pretty much how we choose the backend tech stack for app development and a quite a *loooong* list of Google Firebase features. - -If you are interested in more detailed posts on how to use Firebase, be sure to check back here in the coming days. I will probably write more posts about Google Firebase as I learn it. - -Also, if you think there is another tech I should look into, please feel free to comment here or message me. diff --git a/_drafts/2019-10-05-google-firebase-why-and-why-not.md b/_drafts/2019-10-05-google-firebase-why-and-why-not.md new file mode 100644 index 0000000..7327bca --- /dev/null +++ b/_drafts/2019-10-05-google-firebase-why-and-why-not.md @@ -0,0 +1,53 @@ + +## What is Google Firebase + +Google Firebase, first and foremost, is a platform. You can think of it as a suite of services for all your backend needs. It offers all the basic features we listed earlier and more. It comes with SDKs, tools, helpers, and an active community to support your backend development. + +We can't go through everything here, but let's go through some of the reasons why I think Google Firebase is one of the best (if not the actual best) choice right now for backend. + +## Why Choose Google Firebase + +Among the other choices out there right now, I decided to test out Google Firebase for several reasons. Let's go through some of them here. + +### 1. Apps will be performant, secure, and easily integrated + +### 2. Authentication as a service + +### 3. Awesome file storage + +### 4. Automatic database backups + +### 5. Automatic scaling + +### 6. FREE tier enough for even light production apps + + +## Why Not to Choose Google Firebase + +Of course, despite all the sweet deals Firebase has to offer, it is not a perfect platform. Primarily I can think of three reasons why you might not want to go with Firebase for your app's backend. + +### 1. It has limited SDKs + +### 2. It offers limited queries + +### 3. It is a NoSQL database + + +## Other Things to Note + +Aside from the things I previously mentioned, here are some things worth knowing before choosing Google Firebase. + +### 1. You don't hold your data + +### 2. You will use JavaScript (JSON) + +### 3. Firebase Console is constantly evolving + + +## Summary + +So that's pretty much how we choose the backend tech stack for app development and a quite a *loooong* list of Google Firebase features. + +If you are interested in more detailed posts on how to use Firebase, be sure to check back here in the coming days. I will probably write more posts about Google Firebase as I learn it. + +Also, if you think there is another tech I should look into, please feel free to comment here or message me. diff --git a/_posts/2019-10-04-google-firebase-overview.md b/_posts/2019-10-04-google-firebase-overview.md new file mode 100644 index 0000000..8d6c390 --- /dev/null +++ b/_posts/2019-10-04-google-firebase-overview.md @@ -0,0 +1,64 @@ +--- +title: "Choosing Backend Tech in 2019 and Why I Choose Google Firebase" +permalink: "/google-firebase-overview" +description: "Let's discuss what Google Firebas has to offer for app development in 2019." +keywords: "" +image: "firebase" +image-attrib: "https://firebase.google.com" +--- + +Rcently, I've been looking into some of the latest ways we can quickly spin up a backend system for an app prototype. + +I didn't really expect it to be so hard but, to my surprise, the sheer number of available options can really be overwhelming. + +In this post, let's go through my considerations for choosing the backend tech for my future projects and why I eventually chose Google Firebase. + +## My Considerations for Choosing the Backend Tech For My Future Projects + +I understand that not all apps will have the same requirements but since it doesn't make sense to have a monolithic architecture for most modern web projects today, I always make sure that my projects have a backend that is separate and is accessed by frontend client apps through APIs. + +To guide in our decision, let's list some things we actually want our backend to have. + +**1. Authentication** - We want users to easily be able to get access to our app without sacrificing security. Having integration with third-party providers is ideal especially for users who do not want to sign up to yet another system. + +**2. Database** - We want a database system that is flexible in data structures and is capable of handling real time transactions, as we expect growth in the number of active users doing huge numbers of transactions daily. + +**3. Serverless Cloud Functions** - We want to save time in operations by not having to worry about setting up and maintaining servers for the backend + +**4. Low Cost** - We want to be able to test and run a prototype with minimal costs. Pricing increase must also be reasonable as our usage grows in production. + +As I said earlier, there are so many options available now for us to spin up a backend server. I don't want to go through everything here so I will just classify the different backend technologies you can mix and match in another post. + +Considering the features we listed above, I found that though there are many options out there right now, one platform stood above the rest. Here's why I chose Google Firebase. + +## Why I Chose Google Firebase + +I want to make it clear that I am not paid in anyway to promote Google Firebase. I am sharing this because the technology basically addresses all of the features I am looking for for my backend. Let's go through my list again and see what firebase have to offer for each. + +**1. Authentication** + +In Firebase, authentication is a breeze with many (and I mean *many*) providers for logging in such as Facebook, Google, Twitter, and others. + + + +**2. Database** + +With **Cloud Firestore** as the database, flexibility and scaling is never a problem and you are always sure that your data is in sync across all your client apps --be it in mobile, web, or some server application. + + + +**3. Serverless Cloud Functions** + +**Cloud Functions** for Firebase let you run backend logic in response to events triggered by HTTPS requests or some other Firebase features, deployed in Google's cloud and fully managed environment. This frees us up from the responsibility of setting up, maintaining, and scaling our backend manually. + + + +**4. Low Cost** + +Lastly, I find the [Firebase pricing plans](https://firebase.google.com/pricing) are very reasonable. I am sure the free tier covers a lot of my needs, and I don't have to worry about testing prototypes. I even think *some* light-weight production apps may work with the free tier. + +## Summary + +Choosing technologies to build your backend in 2019 is no joke. There are a lot of options out there, and so it is absolutely necessary that you know what you want. I find that for most of my needs, Google Firebase offers awesome features... and more. + +In my next post, I will go through what exactly is Firebase and some reasons why it might be a good fit for your project and some reasons why you might not want to choose it.