Writing a Serverless Android app (ft. Huawei's AppGallery Connect) - Part 0
Tags: android, serverless, java, appgallery
Published: 2021-06-28 12:50:20

Over the next couple of months I will be releasing a complete end to end guide to creating an Android app using serverless functionality to completely remove the need for any backend server/hosting etc. 

These guides will be made up of a weekly [live stream](https://www.twitch.tv/devwithzachary) which will then be edited into a [YouTube video](https://www.youtube.com/channel/UC63PqG8ZnWC4JWYrNJKocMA) along with each having a blog post for those that prefer a written guide!

But before we get into the actual guide (which will start with 'Part 1' next week) lets start from the... well start! Why might someone want to build a serverless app? what IS a serverless app? and what does Huawei's AppGallery Connect have to do with it?

Well I'm glad you asked!

#What is a serverless app?

If Cloud computing takes away the need to manage the hardware, serverless computing takes away the need to manage the software. Its an extension of cloud computing where the provider handles everything about the servers and simply provides some kind of interface for the user to access their services. This might be in the form of an API, SDK, GUI or all of the above!

#Why would I want to build a serverless app?

Server management is in its own right a full time job, from setting up the environment to installing and managing the software stack. Security updates, security hardening, authentication (to name a few) are all things that need to be managed in a traditional backend server setup. By using a serverless service all of this management work is removed, you as the app developer simply have access to the resources you need when you need them. 
A couple of examples of why or when you might use a serverless system:

##Example one - Prototyping
If you need to build an application prototype quickly, you want something that is just going to work and don't want the hassle of setting everything up! By using a serverless system you have instant access to the services you need, this lets you focus on prototyping the app itself.


##Example two - Basic requirements
Many apps have very basic backend server requirements. Perhaps they just want to store users details and setting preferences. Or maybe they just need a way to host and download files. These kinds of requirements tend to mean that a full managed backend server is overkill. When your requirements are simple no one wants to spend hours setting it up and managing a server!


##Example Three - Small Team/Limited knowledge
If your a small team (or solo) you might simply not have the knowledge or man power to manage servers. The time taken to learn and maintain that knowledge might significantly impact the amount of time you have to develop your application. Sometimes its just much more cost effective to let another company manage this.

#What does Huawei's AppGallery Connect have to do with it?
As part of Huawei's AppGallery platform they now offer a wide range of serverless features and functionality. These services come under the [AppGallery Connect](https://developer.huawei.com/consumer/en/doc/overview/AppGallery-connect) suite, including but not limited to, database, web hosting, authentication and storage. These services include generous free tiers which make prototyping and developing using these services even more attractive and cost effective.
Because of this we will be using this platform throughout the development guides as we explore what can be done with a serverless Android app!

Thank you for reading and see you all next week for part !