Self hosted or cloud sql database? - database

I know this question was asked here before but why should I choose cloud sql?
I'm developing mobile game that will be relaying mostly on backend/database. I'm targeting 100.000 dau. I was looking at some options for hosting and cloud vps + cloud sql database are much more expensive that buying vps/dedicated machine.
I get that cloud take from me the administration/replication/backup part but the cost of it is insane.
For example, 4 cores 24gb ram and 100gb ssd https://www.ovh.pl/vps/vps-cloud-ram.xml cost ~45$.
For the same specs on google cloud I would need to pay more than 100$. We talking vps here which is cheaper than google cloud sql.
For example, I can have one backend server, one database server, one replication server, and one weak backup server for the price of 1 vps in google cloud.
Is this really worth it?
Am I not seeing something?
I know that my time/team time cost a lot of money but we talking a small server here if we would want to scale this up to something bigger, buying a dedicated server is even a 10% of the google cloud vps price.

Related

SQL server high availability solutions in Amazon AWS

I am in the process of migrating to Amazon AWS and need a SQL server high availability solution. The current licence that I have is SQL standard 2016.
At this time Amazon does not support shared volumes for Windows instances. Therefore, I am not able to do a regular SQL cluster fail over solution. This is the one where if the entire server goes down the stand by server picks up the slack and continues writing to the same storage. My only option is high availability always on basic groups. As I am starting to get familiar with this feature I find it very maintenance intensive and can see it becoming a problem when dealing with thousands of databases. In my case I have about 5k databases mostly small in size 600mb or less each. My question is Amazon not a viable hosting environment for a full SQL fail over solution. Is the high availability always on basic groups one per database a viable solution?

Is it possible to use autoscaler for google SQL as it is possible for compute engine

Let me explain the problem. I have a magento project with 3 million products and more than 6 million urls. The problem ist only the database because of this much products. I would like to only autoscale the google cloud sql database. Then it would always respond adequate. I know its possible for google compute engine and that also includes the database. So is it possible with google or another cloud sql provider?
You cannot scale databases the same way Autoscaler is doing for Compute Engine managed instances. Autoscaling capabilities of Compute Engine works for stateless VMs. Databases are stateful. You can use read replications to scale Cloud SQL. Read Replica instances allow data from the master instance to be replicated to one or more slaves. This setup can provide increased read throughput. Visit this artcile for different read replica scenarios.

Using Amazon RDS while having your application running on-premises. Makes sense?

I'm interested in taking advantage of Amazon's managed database (RDS), but, at the same time, I'd like my web application to run on-premises or on another cloud provider that offers data centers near me (less latency, as my application not always has to fetch data from the DB).
Is this scenario common? Would it make sense, or is Amazon RDS supposed to be run with instances running in Amazon?
If you're looking to reduce latency this is probably not your best option, as DB performance is going to be pretty bad (very large latencies between the web application and the DB server, basically cancelling out and advantages of having the app server as close to your clients as possible).
I've actually had to test a similar configuration, with a DB server in Europe and an app server in the US and the performance was much worse than having both in any of the two regions.
I've recently moved the database for our web application to RDS whilst still having our application servers hosted on-premise. Eventually the entire application will live on AWS, but it was too big a move to do all components at the same time. I'm only dealing with latency between Perth and Sydney in Australia, which is about 50ms, and this is working fine for us.
I don't recommend that you adopt this as a permanent configuration. You'll get much better performance from hosting your entire stack at AWS as opposed to keeping parts separated.

Amazon AWS:: Which service should I use?

I am planning to host my iphone game on amazon aws. Basically my game just need a database, and currently I am using mysql (relational database) to store users data.
I am new to amazon aws, and I have read some of the articles. This page: http://aws.amazon.com/running_databases/ provides some available choices for databases.
RDS (relational database services)
EC2 with Relational Database AMI (it has mysql)
simpleDB
I think I will skip simpleDB, because I have read the sample codes, the database structure is kind of different from relational db, no join tables, all data stored in strings. The current game that I am developing is already in relational form, with all the php codes already, maybe for future project, I could consider it.
Now, left RDS and EC2, which one should I use? In comparison in costs, performances, reliability and stability? My game server requirements:
MySQL database (as I only familiar with this database engine and I already developed the game half way, no time to re-write or learn new language)
Easy to scale
Load balancing
Automatic backup
(if possible, less maintenance works in future)
Please give me some advice, thank you very much.
As you have already chosen MySQL on AWS, the question is only whether you want to host the Database Server on the Instance or through AWS RDS Service.
In comparison in costs, performances, reliability and stability and the your game server requirements:
MySQL database Easy to scale,
Load balancing,
Automatic backup,
(if possible, less maintenance works in future),
AWS RDS would be the BEST option.
As once you scale the Environment, it might be complex and needs lot of processing and maintaining if you host it on the INSTANCE.
While AWS RDS makes it easy for you.
Hope It Helps.. :)
If you need EC2 instance(s) anyway (for web hosting for instance) then hosting MySQL on an EC2 instance that you are already paying for is going to be cheaper...
But as your load goes up I would definitely look towards RDS for easier scaling, reduced admin overhead, better disaster recover story, etc... No reason in my opinion to host MySQL on dedicated EC2 instances...
For your requirement of load balancing and easy scaling you will need a dedicated instance for database. Your EC2 instances hosting your game would be behind load balancer and those will all connect to one database on dedicated instance.
That dedicated instance hosting your database could be RDS or EC2 instance. RDS is expensive but has its benefits.

Is it possible to host SQL server in the cloud and connect an ASP.NET app hosted on DiscountASP?

Does anyone know if it's possible to host a SQL server in the cloud and connect an ASP.NET app hosted on DiscountASP?
I'd like to consolidate my SQL Server instances but keep the web app hosting where it's at. There are various reasons for I want to do this and I don't particularly want to get into it. I don't have any experience with cloud computing but I'm trying to wrap my head around it. It seems to be similar to standard hosting except for the metered billing and flexibility. If my idea is nuts and flawed, feel free to let me know, but be nice. ;-)
Yes, but subject to the following:
Unless your cloud provider offers a VPN or you otherwise encrypt the data, all traffic will be unencrypted over the internet
It will probably be slow as every DB operation goes over the internet.
Some cloud providers (Amazon for sure) charge for internet traffic but not for internal traffic.
Depnding on what features you use of SQL Server, SQL Azure hosting is close to production, it goes live for the US datacentres in January (PDC announcement) and billing for the service starts in February.
At present though the database limits are purely 1GB and 10GB which is a bit limiting, but if your data can be partitioned across databases and the app can be changed to understand this then the limitation is not so harsh.
It has limitations on functionality etc but it is a potential choice that could be investigated - but not the only one.

Resources