• Dt_Andy - Wednesday, March 8, 2017 8:56 AM

    bmg002 - Wednesday, March 8, 2017 8:44 AM

    That does make sense.  
    My understanding is that Termianl A collects data and dumps it into a database.  Your application reads from that database and generates information for the end user.  Since Terminal A and the customer's network would both need internet to be able to see and work with each other, is there any reason that Terminal A can't just have a VPN connection back to the customer site?  This way you could host the SQL Instance on Terminal A and the end user could use your software on their own machines and as long as everybody had internet access, you'd be fine.

    This would remove the reliance on the cloud and should meet all of your requirement, no?  Even if you hosted the SQL instance on the cloud, you would still need to open ports in the firewall, but it would be all internal to their network due to the VPN.  And there are free VPN solutions as well as paid ones that all offer different things.

    One issue I do see with the cloud is, lets say you pick the cloud company called "Clouds" (an example one, I don't know if they actually exist or not).  The solutions works good for a few years and you gain a few more customers.  Suddenly the company closes without notifying anybody.  All of your customers are left hanging.

    This type of scenario happened to me with 2 different cloud file hosting services I had signed up to.  I am thinking about companies like megaupload.  Their services ran great for a number of years and then one day they all got shut down.  They came back up with a different name, but a lot of their old content was lost.  Mind you they wouldn't be what you would be looking for, but just as an example.  The 2 other companies I was referring to were not megaupload mind you...

    Also, in your scenario, what happens if the internet cuts out?  Does Terminal A stop collecting data while waiting for the internet to kick back in or does it cache it locally or does the data get lost?

    'Terminal A' isn't what you would label as a computer (sorry my incorrect terminology I should probably of used 'Device A'!) it simply collects times and then is downloaded by the host (wherever that might be)

    In the scenrio if the internet cuts out then 'Device A' will simply store all data and has a big enough reserve to last a few weeks to continue storing newer data, once the internet connection is restored all data held within the 'Device A' will be downloaded at the next download point

    Ah... If you are unable to set up a VPN on the device, then cloud does sound like a good solution, but I'd still be concerned about the cloud host being hacked or shutting down.  
    Is it just 1 customer that is wanting the cloud solution?  If so, can you just push back onto them and tell them they need to figure out where they want it hosted and not have that on you?

    Where I work, we have several pieces of software that require a database and all of the ones we have put it on us to install the database software.  One of them specifically requires SQL Server Standard or higher and does not include a license for it.
    In my opinion, I think it should be up to the customer to provide the database, not you.  In the event that the customer collects data for many many years and breaks the 10 GB limit of SQL Enterprise, what is your plan?  Would you provide the SQL Standard license or would that be up to the customer to purchase it?

    The other issue with SQL Express is that you don't get the SQL Agent, so all backups are done either manually or by windows task manager.  I'd be looking at pushing this back on the customers instead of managing it yourself personally.  If they want it on the cloud, they get that set up with the version of SQL they require (they may even have a SQL Standard or Enterprise license already that they could use) and your application just needs to know where to dump the data.

    The above is all just my opinion on what you should do. 
    As with all advice you find on a random internet forum - you shouldn't blindly follow it.  Always test on a test server to see if there is negative side effects before making changes to live!
    I recommend you NEVER run "random code" you found online on any system you care about UNLESS you understand and can verify the code OR you don't care if the code trashes your system.