creating a cloud based app

Hi, I built a app that includes a small database of a few thousand rows. All it does is display a few columns based on simiple query searches that I enter inside a text box at the top of the apps window. The bottom portion of the window displays the results.  What is needed for me to make this a cloud based app?  I don't want to put the app on the cloud.  I only want to put the database (sqlite) table onto the cloud and then have my app access it through the cloud.  


Can I get some ideas of how to do this or what steps are involved please ?

Is the TMS Cloud Pack for this only? Or do I need more?
TIA

A possible solution is to put the database in Google DataStore or Apple CloudKit and use the components from TMS Cloud Pack to connect to these tables.
Alternatively, you can use TMS XData or TMS RemoteDB when self-hosting the database as the former creates a REST (JSON/HTTP based) front end for the database, the latter a remote dataset connection to a DB on your server. Either TMS XData or TMS RemoteDB are in this case the parts that offer the HTTP based interface to these databases.

All this sounds complicated, but I need to get some experience in this now. 

I need the simpliest solution in order to get started in this endeavor right away. I only want to put my database into the cloud and access it through my app, an android, since I can deploy directly to it via usb cable.
And windows.  But an iOS version will follow shortly. But I'd like to get the android and windows working first.

Do you have any start-to-finish video tutorials for how to do this?

I am using Delphi XE7 Professional w/ Update 1 and firedac and mobile add-on packs installed. 
(I am currently using the UniDAC component suite for the sqlite database handling on the android)
(the database is just one flat table)

Hi John,

as Bruno mentioned, there are many ways to implement what you want. When you mention "put the database in the cloud", it's not very clear why or how you want to do it.
What is your need, exactly? If it's just a single user accessing the database, are you using the cloud just as a back up? Here are some common ways to do so:

1. Connect to the database directly
Your database will stay exclusively in the cloud, and your application will access it directly. This means that you need a client-server database, meaning SQLite cannot be used in this situation (you can access a SQLite database directly in the cloud, since SQLite is just a file). If you were using some other database like PostgreSQL, SQL Server, MySQL, etc., then you could connect directly to it or use TMS RemoteDB as a proxy to do so. 

2. Access a XData Rest Server
In this case, you will not access the database directly, but instead you access a HTTP REST server that in turn will save data in a server-side database. For that you can use XData. Your application will not perform SQL queries in the database, but instead will perform HTTP requests to send/get data (with XData there are high-level classes so that you don't worry about the low level HTTP requests).

3. Access an existing cloud service for data storage/database
You also have the alternative of not building the server yourself. You can just find a cloud service in the web that saves data for you. For example, if you just want to use the cloud as a backup, you can use things like DropBox to send/receive file. Or you can use Rest based databases like Firebase (www.firebase.com) so save the data directly. It's a paid service but has free plans for low data storage. This is similar to 2, one key difference is that you don't need to build/maintain the server, but you have to pay monthly for some services (and have less flexibility on what your server will do).

All the options above assume your client has internet connection. If it does not, the application will not work. You can mix any of the 3 options above with a local SQLite database. So your application will work offline with the local SQLite, and then you send data to the cloud using any method (either SQL to a server database, or through HTTP rest requests). If the client application will be just one, this is somehow simple. But if more than one application (more than one SQLite database) will exist, then this gets a little bit more complicated since you have to replicate data from one device to other (for example, if one user modifies data and send to the server, the second device should be able to retrieve those changes).

What exactly your needs and what of those options above do you think fits best for you?
I will try to explain my situation. I am working on a project for my boss, unofficially. And in many conversations, the cloud is brought up. You know how it goes.. "and we can access it through the cloud.." thus, its cloud-this, and cloud-that, every so often in conversations. Today, it came up again. So I decided that I need to start looking into this now. And, if I could show him a very simple demo, that would push the projects importance further. With all the trouble and set-backs i've been having lately, my bosses confidence in this project has lowered. So I need to raise his confidence some. He is unaware of this idea i'm trying to do right now. I figure it'll be a few days before I can get this demo up and running for him to see, assuming I have all the pieces necessary to do it. 

I have prepared a simple database (sqlite) app on the android, with a simple search box at the top where I can enter a search criteria, i.e., "SELECT fruit FROM tblData" and the results is posted in a grid just below it. It is that simple. It works fine on the android, the sqlite db is deployed onto the android. Now, I want to change the project a little and make it cloud-based, and put the database in the cloud and access through any android tablet. So, my boss and I (and anyone he asks me to put onto their android tablet) can now run the app and start searching the database in the cloud. For this example, there would only be one database.  And in the unofficial project that I am working for him, we will only be using one database also. Note, at this time, I am currently deploying the app(s) that I create to the android tablet(s) through usb cable. 

At this point, I am looking to gain knowledge and understanding of how the cloud can be used in these kinds of projects. I also have plans for my own personal database projects to be put into the cloud, the database only. The apps I want to put onto the android and run them from those devices. 

Does this help to explain better what I am trying to do ?

Well, my comments stay the same. Actually your situation confirms that there is no "put in cloud" stuff. You really have to think about what are your exact needs. Following a hype word just because doesn't help. Why do you need to put it in the cloud? Backup? Online access to data? Multi-user? Single user? Do you have control over the server? Do you want to manage your own server? Do you want to use an existing server and pay per month? 


As I said, the options are the ones I gave to you. If you want to continue using SQL in your application, you must get rid of SQLite and use another database. Then access it directly or use RemoteDB (recommended). This is a quick and dirty solution.
Or, you have to change your application and not use SQL anymore, but instead access the server using HTTP requests.
Or, you can keep using local SQLite database but then you have to "download" the database from the internet and later "upload" it back. This works for single user/device. If you have multiple users or devices, it can get complicated. You have to first decide what of those options fits best your requirements and business model.