• bmg002 - Wednesday, March 8, 2017 7:36 AM

    Is there a reason you want the databases on the cloud though?  Is this something customers are requesting or your company is thinking is a good idea?  I am just not sure that jumping onto the cloud for your database and having the software live locally is the best solution.

    I think that there are going to be a lot of headaches getting the software to work with each individual companies requirements and ensuring the data is secured.  As you would be the provider of the services, I believe you could be considered liable in the event that data got hacked due to your security settings.  Think of the cloud provider as just another disk.  They do their best to secure it, but lets say your admin password to get in is P@ssw0rd.  It meets most security requirements (capital letter, lower case letter, more than 6 characters, symbols and numbers) so a lot of sites will say that is OK.  A hacker gets in and steals all of the data and puts it out in the open, your customers will not be looking at the cloud provider for help, they will be coming to you.  You could complain to the cloud host, but there is only so much they can do and if it is your account password that gets hacked and not a data breach on their end, it is very unlikely that they will help you much.
    And with any data breach that results in your company having private data released publicly, you will lose a lot of customers.

    Legal aside, I think you meant 1 database per customer, not 1 instance per customer.  1 instance per customer means you will use more resources and need a different port for every customer.
    And my last concern is with backups.  Do you really want any of your customers handling those?  This feels like a huge security risk.  I know if I own the instance, I wouldn't want any customers having any elevated access like that.  But I am a paranoid DBA... I wouldn't want a customer to come to me to tell me that their database is corrupt and they need it restored and I have no backups.  Also, if I was a potential customer, one of the benefits in my mind of having the database on the cloud is that it would be backed up and I wouldn't need to allocate space for backups.  For that particular customer, I do not see what benefit they would gain from the cloud system you are proposing.

    Thanks for the response again, & Apologies, I may have been a bit discreet when attempting to give you a good scenario!

    So to give an overview of the situation:- We supply our software and for the purpose of this example we supply them with what I'll label as 'Terminal A'

    Once 'Terminal A' is configured on site we will connect it to our customers network and then install our software & SQL locally on either a standalone machine or where possible on the customers server (when allowed). 'Terminal A' sends data across the network into our software and then all data is stored in our created SQL Instance - DB. Which for 95% of the time is what happens with no issue!

    Now what we are now attempting to achieve is sort of similar, we will go to the customer site, and install 'Terminal A', however in this instance our customer is based away from the site itself , and we not allowed near the server, so there is no direct hardwired connection between the customer and 'Terminal A'. Now what we have done in the past is portfoward 'Terminal A' so that this customer can then see 'Terminal A' from their standalone workstation to which we have installed the software and SQL and they are able to collect the information as if they where physically on-site (permitting that they had an internet connection)

    Which now brings us to the hosting aspect, we have been requested to remove the database away from this customers machine and have it stored elsewhere (I.E the cloud?) as you stated it puts the onus on us to backup the data and what not!

    So the customer will still have our software on there machine, they click the icon and by magic aslong as they have an internet connection they find the database and all of the data collected by 'Terminal A'.

    I hope this make's a bit more sense? I could be over complicating things by looking at this particular aspect but its sort of the path which we have looked at (if  there are any alternative ways to resolve this issue would be appreciated?)