 So I'm here to talk to you about my SQL in the cloud and first I'd like to know how many of you actually use my SQL Okay, that's good. How many of you use cloud providers like Amazon RDS? HP cloud Google Cloud SQL One person that's impressive Rackspace cloud Okay All right, so So how many of you have problems with RDS or are considering using it or wants to know more about it Okay All right, we'll try to Deliver for something for everybody. So I'm Colin Charles. I work at Maria DB. Anybody use Maria DB Okay, anybody heard of Maria DB? Oh Okay, so My career for follows a series of acquisitions for the last Eight years or so I've moved from my SQL the Sun and then multi-programmed to Sky SQL all all working on my SQL and Maria DB Used I've worked at also on the Fedora project as well as openoffice.org The agenda for today is largely to focus on my SQL the database as a service offerings that are available All your choices available. So many RDS users may find that you may want to try something else out Maybe over cost or maybe over what you can get at another service Things like versions are pretty important. I think My SQL is getting better and better with every new release Despite what some may think that Oracle is stifling development. They're actually putting effort into development Also there I will talk about bit about costs will dive a little bit deeper into RDS Especially if you're a my SQL DBA for all of you using my SQL and RDS, how many of you are actually my SQL DBAs as well? No, okay So we probably wouldn't do the EC2 or an equivalent or focus too much on that So what is my SQL as a service? Database as a service is like software as a service for databases It just basically means that my SQL is available on demand. You don't have to install it You don't have to configure it. You don't have to get hardware for it. You don't have to upgrade it It's as opposed to the old way where you you know you submit a project approval And then you maybe get the approval or you're told by a CFO. You can't spend that much money Or when you finally can you order the hardware then you rack and cable it then you take it connected to the network You install and configure the OS and you start the service Typically the old way would take you weeks. Maybe Today you can start in an instant Typically in less than five minutes. You can be up and running with my SQL as a service Everything here is paper usage based and your provider maintains my SQL So you don't have to have a my SQL DBA on board or you don't have to be a my SQL DBA Because everything is done for you by your provider The new way of deployment as opposed to the purchase order is to just enter credit card number And then you call an API with many services like Amazon or Rackspace or even HP Cloud You have a front-end GUI, but if you Linux people you'd probably like scripting things along the way so you can just call an API and Just add start start an AMI and you know off you off you're going running your database as a service I Also put an option for Nova boot that because OpenStack is another way to roll your own databases a service How many of you here have private OpenStack installations? Okay, a bunch of you. How many of you use public OpenStack installations? Okay So the typical reason as to why databases a service is Usually people just say why can't we just have a few more service to handle traffic spikes? DBAs are typically very expensive indeed.com has salary listings in on average in the US where I typically DBAs earn about 91,000 on average whereas a mySQL DBA earns a hundred and sixteen thousand on average This goes up tremendously if the mySQL DBA is good and a good mySQL DBA is usually never out of a job So Using the database of service you generally can launch services Without having DBAs on board because you rely on the service provider more than anything When I say rapid deployment and scale out, this is also true But keep in mind that there are limitations by default Amazon RDS will tell you allow 40 instances per account and then you have to apply for more and Things like Amazon and Rackspace You think it's one click and then the database starts up. It's it doesn't work that way It usually takes even maybe five minutes before the database is provisioned for you. It's not instant provisioning There's always a time delay. So you can't just scale out instantly Google Cloud SQL and Rackspace. Sorry Google Cloud SQL and HP Cloud and all my testing is actually the quickest in terms of starting the database up for you and being production ready HP Cloud is Takes it one step further because you can actually do this via the command line You just use 12 command line and then you have running my SQL almost instantly So you can script it relatively well So you have four choices today Amazon the leader in the space They they push RDS and then they keep on releasing new features and then other people will generally pay catch up And you've got both Rackspace and HP Cloud both based on OpenStack So they offer similar levels of service quality In terms of what features are available because they follow the OpenStack release model And then you've got Google Cloud SQL which is based on something Google has with varying versions of API access There are obviously more providers out there. Jelastic is a platform as a service offering my SQL MariaDB clearDB is My SQL offered and they partner with Heroku app fog as well as Azure So if you want to use Heroku by default you usually get Postgres But if you want to run my SQL use clearDB Joint offers prokona my SQL, which is a very popular branch of my SQL There are two branches in the my SQL ecosystem that are popular That's prokona server with extra DB and MariaDB and I put zero in there Because they actually gave people Literally two weeks notice that they were shutting their services down earlier this May So if you are going to use a cloud provider make sure you get a reliable cloud provider because Two weeks notice and then having to move your service is not exactly easy Especially if you've relied on the service running for a while So it was two weeks notice for paid customers and non-paid customers. They were just basically told okay we're shutting down so and Zero and zero on was active literally right before they send the email they would they were even at a trade show a couple of days before they send the email so Generally the bigger companies are probably the ones you want to go for and back and use I Won't be covering genie DB or scale DB or scale base These are very varying services available around the my SQL ecosystem. They're all commercial and they do different things So anybody heard of scale scale base scale DB or genie DB before Okay, do you use it? No, okay Yeah, so we're gonna not cover that obviously in the cloud Do you have the concept of regions and availability zones? I don't know how many of you registered here earlier today and then they said that reg online was down and then you get tags like this Had reg online use the cloud and not the data center chances of them having services today would still probably be okay Any of you at Linuxcon in New Orleans? Nope, so it turns out that reg online was down then as well and they are and They are servers the data centers are in Boulder, Colorado and Colorado had some nasty stuff When Linuxcon New Orleans happening and it was a flood so the data centers did go down with the cloud You have a region which is basically a data center and each data center contains multiple availability zones This diagram is courtesy of Amazon Each availability zone is isolated from failures from other availability zones But they have and they have very low latency connectivity But the beauty of running this in the cloud is that you don't only have to have your database in one region You can have multiple regions for redundancy So if your data center does disappear and regions do go away Amazon this year has been pretty good, but lastly they had some pretty catastrophic failures If your region does go away You should be fine This is much better than having services go down because you rely on one data center with regards to open stack Zones are roughly comparable to an AWS region Google follows a similar method this in understanding what a region in an AZ is Was that clear for everybody? Okay, I think location plays a huge role AWS being the largest has many many many regions available They have varying availability zones in each region some have two some have three and some have five availability zones North Virginia probably has five whereas something like South Polo Tokyo and even Sydney have like two or three Rackspace has Rackspace uses airport codes for availability zones for for the regions and availability zones inside the regions So us the USA is like DFW and so forth I put a asterisk next to London because if you have a rack space us base account You can't start a region in London You need to now create a separate region a separate account in London That's just not very convenient for rolling out purposes. If you wanted to go across regions What it seems to be a rack space limitation maybe for accounting purposes I've never been able to get a straight answer as to why I've just been told set up a second account Very odd Whereas with Amazon you can start, you know in the US you can start in South Polo You can start anywhere you feel like it as long as your credit card can pay for it The Google Cloud SQL has three availability zones in US central and two in Europe They don't they're not very forthcoming as to where the data centers are so I can't tell you exactly where and HP Cloud has USC's in Virginia and US West just started maybe a couple months ago and They have three availability zones per region that you can make use of Rack space guarantees a hundred percent network uptime So they generally say you don't need to have multiple availability zones to maintain high uptime However, the SLA does differ on this saying that they have ninety nine point nine percent uptime So beware SLA's the fine print is sometimes really important to read the purpose of my next slide These are the SLAs available and generally you get ninety nine point nine five percent uptime guaranteed for your relational database service But all SLAs exclude scheduled maintenance With ninety nine point nine five percent uptime it means you can get up to twenty two minutes of downtime per month This means that for twenty two minutes you are not serving your customers This is why you will have more than one availability zone most likely so that when the backup happens or maintenance happens on one The other will serve your customers But when you factor in scheduled maintenance this This figure increases tremendously this means you can potentially have up to a hundred and forty two minutes of downtime a month Now can you handle that kind of downtime for your application? This is something you obviously need to think about and build in as well Rackspace at ninety nine point nine percent in a calendar month offers about forty four minutes of downtime per month HP Cloud has no SLA yet. In fact to get access to HP Cloud's database and service you have to Sign up for an account and then apply for access because it's been in beta now for I don't know 16 or 17 months since April of last year and You have to be approved to get an account But once you do it's currently free because it's in beta when you use cloud providers I think support is probably also really really important with AWS. You get forms by default For forty nine dollars a month you get access to email at local business hours. You'll get a you'll get a response time within 12 hours If you pay a hundred plus Which is basically hundred plus usage basis you get like a one-hour response time and you are Guaranteed to now have someone to call on the phone. This is this is actually quite significant Rackspace they work very well. They they sell themselves as a company that is fanatical support and it's true Their live chat works their phone works their forums work In fact the live chat usually can lead to them calling you via the phone. They will call you Their support is generally really good With regards to Google you have just access to forums You can get support for about a hundred fifty dollars a month onwards and to get a phone number. It's four hundred and above HP cloud also has pretty good support for a service that isn't charging you now. They will call you They will also have chat with you and They have a customer forum that you can access once you log in So I'd say from in terms of support so far rack space and HP cloud are pretty good because Being able to call someone is actually useful when things don't work With regards to management AWS is completely self and if you want to get them to manage it for you You have to pay a huge chunk of money starts at 15k a month rack space is If rack space really does sell managed services because they are a hosting company Basically, it's a hundred hundred dollars as at the base plus four cents over whatever cost they have for the service You're using this is not bad If you don't want to manage the databases yourself if you don't have any DBAs for example And you write code that generates queries that may not be necessarily optimized having someone Do this for you is actually handy Google is self-management as well as HP cloud. They're all self-management Frankly someone has used my skill for a long time been developing on it since 2000 I don't see why you'd need to Get someone to manage it for you, but I'd say many users who Don't have the experience or need consulting and so forth may actually benefit from managed services My skill versions are pretty important. My skill five six came out in February of this year It's starting to get more traction now, especially since Pacona server five six when GA a couple of weeks ago With AWS you get my skill five one five five and five six Realistically, I don't see why anybody would not launch on five six today Rackspace unfortunately offers my skill five one. In fact, it's five one sixty six that comes out standard of Debian This is really really old So I can't recommend you to use, you know the rack space Database of service for the sole version that the version that is shipping is really old It's it's missing out so many useful things like information schema and performance schema It's missing out on all the extra features you get out of inner DB better performance I've been told rack space is looking to upgrade, but at the moment they haven't Google ships my SQL community five five they upgrade Generally once every couple months Amazon as you can tell ships the latest release of My SQL basically every two months you get a new five six drop Amazon RDS will have it ready almost instantly HP cloud is interesting because they don't ship stand in my SQL, but Pocona server five five thirty three They they were shipping they started with five five twenty eight and they've constantly upgraded and Pocona server just released five six So it'd be interesting to see if HP cloud will offer this in the future or how they will offer it in the future But the fact that you're getting a potentially better server than my SQL makes HP cloud actually quite interesting Pocona server for all intents and purposes is a super set of standard my SQL from Oracle It has good features like you know fast in a DB restarts and stuff that you don't see inside of stock my SQL Most of the larger scale people that are running My SQL at scale don't run stock my SQL. They run either their own patch set Twitter Facebook or Google all have their own patch set or they run Pocona server or Maria DB because you're getting much better feature set outside of standard my SQL with regards to access AWS has API access. You can also access it externally via the my SQL client. You can access it within Amazon It's got a beautiful GUI It's got a unmatched GUI compared to anybody else out there Rackspace gives you a private host name within the rack space network. Then you get standard my SQL access as well as API access Google only allows you to access cloud SQL through App Engine and They also have a command line client called GCU till Which is Java based HP cloud is kind of interesting because you access it externally via Trove CLI Which is a standard open stack tool and then you can start up the my SQL clients You control the database using Trove and then you use some my SQL client you also get two IP addresses one internal one external and It's quite interesting to note that HP cloud is a mishmash of open stack releases They have they have two versions now available compute is like at version 12.12 Whereas recently I got the rdbms upgraded to version 13.6 So it's a mixture of using open stack Falsum and Grizzly releases Doesn't really affect my SQL but they keep on changing trove naturally and that the future maybe is red dwarf I'm not too into the open stack community, but it's clear that this is an example where you can really play Along with open stack tools Also with HP cloud you have to remember that when you use the trove CLI They actually have a project tenant ID at the top You have a project name and then when you use look at it via API access You have to see a project had an ID make sure you use your project name and not the project tenant ID Otherwise trove will fail There is no GUI in terms of setting up HP cloud mysql databases. You have to use the trove CLI It's completely all via API access This is a graph taken from mysql performance blog About information schema variables that are available Generally speaking you don't have access to my.cnf So if you are wanting to control your mysql, it is very hard to do it with these services Things like Amazon RDS provide things like parameter groups Which which allow you to control some things if you know what you're doing, but not all things Mysql 5.6 provides 523 options Which you can see on the left hand side of the graph Whereas in RDS you only see 283 options available and some of them are not changeable They're immutable options like you know base directory data directory and so forth You also don't get access to things like audit logs the memcash dDemon Mysql 5.6 ships with the memcash d protocol built-in With inodb as a backing store You don't get to change the binary log settings in Mysql So you can't maybe turn off durability if you wanted to when you're doing inserts You don't get to change relay log settings. The GUI doesn't have performance schema available You can't have semi synchronous replication plug-in enabled and You don't have things like SSL or access to the thread pool. The thread pool is interesting because Standard Mysql community doesn't ship with it. You have to pay Oracle for Mysql enterprise. And what is the thread pool good for? Instead of opening up one thread per connection The thread pool will open up a pool of threads that will now keep on reusing those Reusing just those threads. So if you have many short writing queries, you don't open up one thread per connection MariaDB has an open source version of this and Percona ported it into Percona server 5.5 and 5.6 But if you're using standard Oracle Mysql community, you do not get this feature And this is kind of useful because a real-world example is Does anybody here familiar the service called KakaoTalk? Nope. Anybody familiar with WhatsApp? Okay, line Okay, KakaoTalk is the is the core and equivalent of WhatsApp and They they fully use Fusion IO storage as well as MariaDB because of the thread pool for messaging purposes It actually really gives them much much better performance when they have the thread pool enabled So not having the thread pool is actually kind of a bummer when you're using Mysql community even up to 5.6 Cost changes so rapidly that there's no point in you know even listing it here You better subscribe to all the relevant newsletters of the services used Don't don't forget network access costs. Many people don't factor this in and then they say hey I estimated the cost to be x but now it's x plus y y In fact, you can monitor your costs daily or hourly even There is a wonderful little script by Ronald Bradford available That may benefit you showing you if you might want to switch instances and so forth In fact in September Amazon released another new high memory instance with 244 gigs of RAM available and This is called a DB CR1 8 times large and You get 3.6 times more memory 3.4 times more compute capacity Over the previous largest instance, which was the DB M2 4x large But the cost only about two times greater So if you were maybe having three read replicas previously you might now be able to reduce it and save money and For people that really use Amazon services I think the Netflix people are a wonderful because they always publish their tools and all their experiences and Every day using Amazon for them gets cheaper Which is what keeps their share price going up higher daily Cloud services get cheaper daily not more expensive and usually if one drops the charge Everybody else follows suit as well AWS pricing varies between regions in the US. You get the cheapest pricing EU and Singapore Asia is about matched South Polo is the most expensive But if you want to use spot instances, sometimes South Polo is the cheapest because you sort of maybe or reserve or bid for instances You might actually save money in South Polo for benchmark purposes and so forth This is a list that's available. This is not what you see on the standard Amazon website This is actually from Wikipedia, which actually looks like a much more digestible View but as I said pricing keeps on changing so often that it's really not worth talking about however you probably do want recommendations on what you do end up using and If you are testing RDS the medium instance with about four gigs of RAM is probably what you want to go for You probably won't run that in production If you want to start with a production ready instance the large instance with 7.5 gigs of RAM is generally production ready and will cost you Without you, you know paying them up in advance About 4,700 a year Of course the XL and the M and so forth start becoming even more interesting They obviously start costing a lot more and an example of When you may want to think about getting hardware is Top of the line Dell with about 512 gigabytes of RAM today would set you back about 19,000 with the best storage you can get like a on the Dell I think it's like the R910 After you pay data center costs Maybe you don't want to be running something like the M2 for XL if you're just running one instance It's well worth thinking about Looking at if the cloud is really cheaper for you or if hardware is also maybe the choice you want to go down rack space Has also again I have 4 gigabyte instances for testing and 8 gigabyte instances starting for production is Maybe a little cheaper I Suggest you generally look at the IO priority that you get Amazon offers something called provisioned IOPS, which is something you don't get on these other services yet But so I look at rack spaces IO priority and the actual transactions the second you get so before choosing a cloud provider Instead of just running sysbench actually benchmark your app against the cloud provider Sysbench is is wonderful for non real-world tests Just like dbt3 and so forth Google actually makes it quite difficult for you to start paying them money You have to actually enable billing so you think by signing up you would already have a service going But you actually have to turn it on and Then they also offer equivalents they all have different names like D8 and D16 and They try to sell you on packages more than anything and they're generally cheaper than pay-per-use billing plans Google and AWS both offer these free tiers like if you are a startup they will give you free credits It's well worth checking them out during those free credit days HP cloud It's currently free. It's in beta. So there's no SLA. Don't run your production stuff on this It may go away. I highly doubt it though, but it will probably start costing you money at some stage It has been free since last April though So it's not a bad bet for being free typically you'd host your applications in the Same compute clusters that you're running your database as a service It would be unwise to have your database as a service on RDS and host your compute clusters at HP cloud This also greatly limits your language choice Most don't have language limitations, but if you do choose to go to Google route App Engine limits what languages you can use and for example, PHP only started being available there a couple of months ago It was mostly Java and Python before that. So if you wanted to run your Ruby on Rails application You'd automatically remove the choice of having it on App Engine or using Google Cloud SQL on RDS you have the option to turn on multi availability zones. It increases the cost Maybe by about 50% You get enhanced durability because they guarantee synchronous data replication So it's quite likely that underneath it. They've implemented DRBD the distributed replication block device Which is like Ethernet over raid You get increased availability Which is you know known as automatic failover But this can be slow in production automatic failover isn't instantaneous It has very very good administration via the GUI But you really don't have another read replica. You are you actually paying the 50% extra cost for The enhanced durability now if you weren't running RDS and you were running this inside EC2 You can get this via some a tool like MHA if you want an automatic failover MHA is a great tool that handles automatic failover in use even at Facebook at DAPA in South Korea, which is that their defense ministry and so forth so Multi AZ is great if you don't have a DBA on board But if you do have a DBA or op staff it kind of makes sense to maybe start thinking about using something like MHA With my SQL 5.6 you can finally have external replication outside of from RDS to a non RDS Instance this was not possible before now you can actually have binary log access if you turn on backup retention Rackspace replicates internally to other systems and Google Cloud SQL is also internal It is possible with HP Cloud to actually replicate externally as well once you've enabled it from the 12 CLI Replicating into RDS is kind of interesting because you may want to migrate into RDS or expand using RDS and The best tool for that is tungsten replicator There is a talk here by someone from tungsten. I saw this on the schedule. I don't know if it's today or another day But check out the talk. It's it's but it's by a guy from Continuant The thing about tungsten replicators is it rewrites the replication? It sort of is a middleware that rewrites replication layer of my SQL and You can then also get it to fan into maybe like the rack space cloud and so forth You're not just locked in into sending data into RDS. You said you can send data to more places This is kind of useful My SQL 5.6 in RDS is really what you should be using if you are starting out today It has many many many cool features which are listed up that Which I'm not going to read But if you want to use something like MariaDB 10 where you get things like multi-sauce replication better global transaction IDs that you know That don't require your servers to restart you want the thread pool and so on Or if you want to even use Percona server, you're kind of out of luck if you're using a database as a service You your real option is to then use the compute services and then run The server on top of it as well Performance schema in 5.6 is great because it really instruments your application Though if you've already run this in production for a long time, and you know that you don't need instrumentation per se The option to disable the performance schema is not available inside RDS But you can do this if you're running your own compute units Performance schema has a performance trade-off to your actual servers of maybe up to about 10% in benchmarks so This is something you'd want to think about if you're running, you know multiple instances That you can't quite disable inside of something like RDS And it's also not inside the web you are you have to get access to this via the sequel client To import data into the cloud my SQL dump is generally the recommended choice by everybody All all providers with the exception of Google Cloud SQL They also allow you to import the data, but you have to have your data inside Google Cloud storage Things like HP cloud and RDS you can you can pipe my SQL dump and just get it get get your data loaded One thing that's a real bummer And this is the only one that RDS has run into because they have multiple versions of my SQL available Is that if you want to upgrade from 5.5 my SQL to my SQL 5.6? There is no online upgrade mechanism. The only way is to my SQL dump and reload your data This is kind of retarded. This is this means you're gonna have to run two instances and This is not not a good option I'd love to see how HP cloud handles this in production at some stage because they are also going to have to move from 5.5 to 5.6 This is actually one of the major stumbling blocks of RDS that many people have Complained about in the last four to five months as they started offering 5.6 Because people have relied on RDS so much for my SQL 5.5 They want all the cool features in my SQL 5.6, but they really really don't want to do my SQL dump and reload With regards to handling backups One thing you don't get with all these providers is you don't get extra backup Extra backup is kind of handy as opposed to just my SQL dump We believe Amazon Will via its automated backups generally use EBS snapshots underneath You can also create your own snapshots and save it in S3 S3 storage is generally pretty cheap They have full daily snapshots during the backup window Rackspace and HP cloud don't quite mention how backups are handled at the moment So I can't quite give you more information If you're using any of these cloud providers, your monitoring options are severely limited AWS Naturally is the best options with the prettiest graphs available It's still not what you can get if you used Nagios, Cacti or Ganglia Yourselves But it's it's the best that's available Google has very very basic read write graphs that are almost laughable. So I Wouldn't really recommend that You can with HP cloud at least and monitor externally maybe start up a Compute instance and then have something running there as well But that also involves you kind of you know doing database administration work and figuring out how to be a DBA So I guess many of these services have a lot to do with the GUI to fix it so that it becomes more AWS like My SQL ships a storage engine layer and there are many many cool storage engines like talk IDB offers fractal tree indexes So they claim very very fast insert performance over a no DB which does balance be tree in B plus tree in indexes Spider which does vertical partitioning for you automatically So you still it looks like you're talking to one my SQL instance, but it's vertically sharded your data for you automatically Kind of cool connect storage engine allows you to connect to Oracle ODBC source or SQL server ODBC source and then join that data with stock my SQL or The Cassandra storage engine which allows you to write directly to Cassandra cluster or pull data out of a Cassandra cluster and One thing I didn't put up on the slide that is there's also a HB a storage engine called honeycomb that allows you to Pull and push data out of HB Yeah, if you're using the cloud You can't use any of this you really have your options to use in a DB or my ism if it's in the database as a service In fact my ism on RDS doesn't get doesn't guarantee point-in-time recovery either or snapshots or restores Because my my ism is a non-transactional storage engine I don't know why you'd still use my ism today So in a DB is probably the way to go But the other cooler engines that you want to use if you wanted to play with this You'd have to actually use something like EC2 or a compute instance and then install Mysql MariaDB yourself with regards to high availability. You should plan for node failures. I Hi, I always say don't assume that node provisioning is quick and this is absolutely true for things like Amazon It does take time to provision your node always make backups If you have bad nodes sometimes the node doesn't give you as much performance as you were hoping for kill the node and start it up Don't get don't get you know attached to your node You don't because that's because with Amazon for example They have varying levels of hardware available Sometimes you really do get bad hardware underneath it or old hardware underneath it more accurately HA is also not equal across all the options RDS so far has the best available high availability also via GUI unsupported features With HP cloud you actually get full Mysql AWS even though you have five six it doesn't support global transaction IDs You can't have in a DB cache warming so pre-warm the buffer cache buffer pool You can't use the authentication plugins no semi sync replication Google in fact doesn't allow you to use user defined functions You can't load data You can't install plugins So there are all limitations again. This is mostly in the documentation. They don't tell you this before you Start using the service so you better read the docs first before you start using the service Provisioned IOPS is pretty cool Currently it's limited to three terabytes of storage and 30,000 IOPS per database instance. It's available on Amazon Keep in mind that If you're running a database at scale provision IOPS probably makes a lot of sense to pay for you get a lot better predictable IO it's got very very good throughput it's rate-backed and Provisioned IOPS is probably better than just rating the stuff yourself in EC2 because you can take provisioned IOPS up and down dynamically to With the parameters that you set So provisioned IOPS is probably something good to use Problem with all these cloud providers is that you don't quite get access to your slow query log in general query log easily You get it you get it via an API This also means you don't get things like super access So if you get like a replication error, you can't skip them easily You can't turn off durability if you wanted to You can't run tools like SAR PS TCP dump You can't run the very good prokona toolkit against RDS instance or instance in the cloud So log forensics are definitely slower because now you get them by the API then you have to pass them offline Boto is a pretty good tool that comes that comes for Amazon AWS it's not the official tool yet, but I believe the guy now works at Amazon So it may become the official tool eventually So Boto is better than the stock EC2 EC2 and RDS tools that you get from Amazon Warning case in point automatic upgrades are really bad because regressions in my skill happen even in minor versions You don't have control over this because the cloud providers will upgrade minor versions for you automatically we've seen Things like the query cache will be disabled for partition tables from a one version bump And if you do rely on the query cache, this is really annoying because suddenly it's gone so My SQL has generally got a good Test suite good release policy, but sometimes it's written by humans. So we do fail and sometimes These minor version upgrades can cause your application to actually have serious performance degradation So you'd always want to read the change logs There are two types of benchmarks you can use either sysbench or the yahoo cloud-serving benchmark We don't have too much time for this. So we're gonna skip it That don't seem to be any public roadmaps from these cloud providers So you will find out when there's a change from the newsletters the blogs and so on I Expect more will eventually have my skill five six available for you Google has made a public commitment to move to MariaDB. So it's unlikely you will get my skill five six, but MariaDB 10 Rackspace is still offering my skill five one. So I sincerely hope that they choose something more modern soon if you are planning to run things at scale and One of the things that many many many people end up doing is they end up running my SQL inside EC2 and here you can replace EC2 with the same compute unit that you get from a provider like HP or even Rackspace and The benefits are clear because you can do things like, you know Multiple geographic replication you can have your regions via replication You can you can also run the Kona server or MariaDB as opposed to stock my SQL you can run You can Use SSD back storage You can monitor with whatever tools that make sense to you, especially if you are a seasoned my SQL DBA You can still make your snapshot backups and save them in S3 You can also use spot instances and save money Automatic failover can come via MHA But I think one of the cool things that you could probably do is also run something like Galera cluster Galera cluster promises fully synchronous replication It is it will scale your reads and your writes So you don't need to worry about having shards So it's multi-master and Galera is something you can run inside a compute cluster and then you can Inside one region you can say hey I want to have Galera cluster fully synced here and then to another region you can do Regular replication and then have that also running Galera at fully synced fully synced mode That's generally quite good and you can build something much much better than just RDS And you can also use something like my dumper for parallel dump and load, which is something you cannot do With my SQL dump, which is not parallel based Of course doing this requires the fact that you now actually have to have a my SQL DBA on board and Galera is has been around now for maybe about two years in in production use in multiple places But it also requires understanding new technology So some very quick closing thoughts before I run out of time Hardware really does vary per region You would be surprised to know to that or you may not be surprised to know that you can get much newer Hardware say in Sydney on Amazon RDS then you can get in say in North Virginia or You can get better hardware in Portland, Oregon when you can get in North Virginia Software manageability can vary per region This is kind of true with both HP Clouds US East and US West options and again, I think it has something to do with the fact that they do run various versions of OpenStack Rackspace cloud In multiple amounts of testing could have runaway databases from the GUI And that would require you to poke support via live chat And then they would have to call an ops team later to kill the runway instance for you I didn't encounter runway instances in any other platform so far It's really easy to put These costs on your credit card if you have an amax with no limit. This could be bad for you at the end of the month Also, I highly recommend adding a backup credit card because When you finally do run out of limit on one card, you should probably have a backup while your servers will stop running Google and Amazon allow backup credit card at the moment the others don't so having backup payment method makes a lot of sense and The guy walked back and said I have one minute remaining so now you can ask me questions Does anybody have a question Your own RDS equivalent. Yeah. Yeah, there is I mean, I think that's OpenStack for the OpenStack allows you to build your own database as a service. I think that's exactly what Rackspace and HP Cloud are doing They had a release maybe recently or we'll have a release soon I can't tell you much more than that besides that you need to actually know Rackspace You need to know OpenStack and build it But the other cloud providers like Eucalyptus also offers you something that you can do relatively easily So yes, there are there are solutions to varying levels of manageability available Most of these most of the cloud providers Open source cloud providers like OpenStack and so forth allow you to do this to some extent So yes, you can build it. Can you build an equivalent to RDS with the nice GUI? Not yet But I guess eventually that'll happen. It all it has to happen Yes The Galera cluster Yeah, actually you don't have to share with the Galera cluster. That's the beauty of it because it is full It is fully synchronous. So either Either all either your transaction is committed to all nodes or no nodes So this is kind of what people have wanted in my SQL for a long time that they didn't get and Galera is not just new like it's been being developed for the like the last six or so years it's been funded by the Finnish government and and in production now in excess of maybe 100 odd installations and it's made by a company called Coatership but backed by all the major my SQL players That are not Oracle. So that's a good sign I've been told to stop. So thank you for listening. If you have questions, I'll be around all week