1 00:00:07,020 --> 00:00:08,439 - Now let's review an introduction 2 00:00:08,439 --> 00:00:12,123 to Amazon Relational Database Service or RDS. 3 00:00:13,010 --> 00:00:17,320 Now before we get into the details of RDS itself, 4 00:00:17,320 --> 00:00:20,554 let's first take a look at what it means 5 00:00:20,554 --> 00:00:23,923 to manage a relational database service. 6 00:00:25,509 --> 00:00:29,300 So as you can see, managing a Relational Database 7 00:00:29,300 --> 00:00:31,410 on Premises requires a lot. 8 00:00:31,410 --> 00:00:34,457 There is a lot involved and of course your DBAs 9 00:00:34,457 --> 00:00:37,530 are probably not doing all of these things. 10 00:00:37,530 --> 00:00:39,880 Uh, you're going to have different people 11 00:00:39,880 --> 00:00:41,130 at different levels. 12 00:00:41,130 --> 00:00:43,600 You know different levels of hardware and software. 13 00:00:43,600 --> 00:00:46,320 In fact you probably have different teams of people, 14 00:00:46,320 --> 00:00:49,310 right? But you can see that on Premises 15 00:00:49,310 --> 00:00:52,500 you are responsible. Your organization 16 00:00:52,500 --> 00:00:55,300 is responsible for providing of course the data 17 00:00:55,300 --> 00:00:57,710 center in the Power and Cooling, uh 18 00:00:57,710 --> 00:00:58,830 that goes into that. 19 00:00:58,830 --> 00:01:01,520 You are responsible for building out, 20 00:01:01,520 --> 00:01:04,060 maintaining, and securing the network 21 00:01:04,060 --> 00:01:05,540 that allows, you know, 22 00:01:05,540 --> 00:01:08,660 all of these systems to communicate. 23 00:01:08,660 --> 00:01:10,670 You know, of course you have a rack and a chassis 24 00:01:10,670 --> 00:01:11,950 that need to be put in place. 25 00:01:11,950 --> 00:01:14,560 You have CPU, memory, hard disk 26 00:01:14,560 --> 00:01:16,810 that need to be purchased and maintained 27 00:01:16,810 --> 00:01:18,740 and upgraded over time. 28 00:01:18,740 --> 00:01:20,740 And then of course you have an operating system 29 00:01:20,740 --> 00:01:23,500 that needs to be installed and patched and maintained. 30 00:01:23,500 --> 00:01:26,580 You have database engine that needs to be installed 31 00:01:26,580 --> 00:01:28,190 and maintained. Right? 32 00:01:28,190 --> 00:01:31,070 There is a fair amount of work that goes into that 33 00:01:31,070 --> 00:01:33,440 to ensure that you are always operating 34 00:01:33,440 --> 00:01:35,630 in a secure environment. 35 00:01:35,630 --> 00:01:36,910 And then of course, 36 00:01:36,910 --> 00:01:40,010 not only do you you need to perform backups, 37 00:01:40,010 --> 00:01:42,620 it's also your responsibility to ensure 38 00:01:42,620 --> 00:01:44,840 that those backups are 39 00:01:44,840 --> 00:01:45,673 are being written to a system 40 00:01:45,673 --> 00:01:49,560 that itself is highly durable. 41 00:01:49,560 --> 00:01:52,292 And that you have multiple copies of those backups 42 00:01:52,292 --> 00:01:53,330 (emphasizes) and 43 00:01:53,330 --> 00:01:55,810 that you have a 44 00:01:55,810 --> 00:01:59,650 reliable way of restoring from those backups. 45 00:01:59,650 --> 00:02:01,690 And then of course you can 46 00:02:01,690 --> 00:02:02,860 write your SQL Queries. 47 00:02:02,860 --> 00:02:04,490 So if your DBA 48 00:02:04,490 --> 00:02:06,590 is burdened by backups 49 00:02:06,590 --> 00:02:08,120 and database engine updates 50 00:02:08,120 --> 00:02:09,894 and operating system 51 00:02:09,894 --> 00:02:10,800 (stutters) 52 00:02:10,800 --> 00:02:15,020 details, then they have a lot more on their plate. 53 00:02:15,020 --> 00:02:18,950 Now, if we were to compare this with running 54 00:02:18,950 --> 00:02:21,360 a database on EC2, 55 00:02:21,360 --> 00:02:22,560 then of course 56 00:02:22,560 --> 00:02:27,240 AWS is managing the physical infrastructure. 57 00:02:27,240 --> 00:02:29,710 We offload the physical infrastructure burdens 58 00:02:29,710 --> 00:02:33,100 to AWS so that they are now managing power, 59 00:02:33,100 --> 00:02:36,490 cooling, network, chassis, CPU and so on. 60 00:02:36,490 --> 00:02:39,150 It is still our responsibility, and this is true 61 00:02:39,150 --> 00:02:41,510 for other things that'll we'll talk about later. 62 00:02:41,510 --> 00:02:43,280 As far as the operating system goes, 63 00:02:43,280 --> 00:02:46,830 it is still your responsibility to ensure that 64 00:02:46,830 --> 00:02:49,980 that operating system remains patched 65 00:02:49,980 --> 00:02:51,960 as new security updates come out, 66 00:02:51,960 --> 00:02:54,960 as new versions of an operating system come out 67 00:02:54,960 --> 00:02:56,690 even though its running on EC2 68 00:02:56,690 --> 00:02:58,730 and even though its Amazon's responsibility 69 00:02:58,730 --> 00:03:00,770 to install the operating system, 70 00:03:00,770 --> 00:03:03,630 it is your responsibility to keep it up-to-date. 71 00:03:03,630 --> 00:03:05,240 If you need to go from, you know, 72 00:03:05,240 --> 00:03:07,260 one version to a later version, 73 00:03:07,260 --> 00:03:09,030 then it's up to you to do that 74 00:03:09,030 --> 00:03:10,755 and because 75 00:03:10,755 --> 00:03:11,588 (pauses) 76 00:03:11,588 --> 00:03:15,630 EC2 is based on virtual machines 77 00:03:15,630 --> 00:03:17,870 and we have machine images, 78 00:03:17,870 --> 00:03:21,410 it becomes very easy for us to automate the process 79 00:03:21,410 --> 00:03:23,690 of updating an operating system. 80 00:03:23,690 --> 00:03:28,010 And considering that EC2 instances are ultimately 81 00:03:28,010 --> 00:03:32,100 disposable, we simply throw the instance away 82 00:03:32,100 --> 00:03:34,730 and replace it with a new instance, so 83 00:03:34,730 --> 00:03:38,880 the process of maintaining an operating system 84 00:03:38,880 --> 00:03:41,330 actually becomes much more efficient, 85 00:03:41,330 --> 00:03:45,250 much more fluid than it was on premises. 86 00:03:45,250 --> 00:03:48,710 We're not locked into a particular set of hardware. 87 00:03:48,710 --> 00:03:51,160 We have the ability to replace things 88 00:03:51,160 --> 00:03:53,650 much easier within EC2. 89 00:03:53,650 --> 00:03:54,810 And the same thing could apply 90 00:03:54,810 --> 00:03:56,350 to the database engine as well 91 00:03:56,350 --> 00:03:59,590 If you want to go from one engine to another, 92 00:03:59,590 --> 00:04:03,090 you could create, you could do all of that work 93 00:04:03,090 --> 00:04:05,499 on some other machine create and 94 00:04:05,499 --> 00:04:06,332 (stutters) 95 00:04:06,332 --> 00:04:10,070 once all of that... you're satisfied with that arrangement 96 00:04:10,070 --> 00:04:12,320 then you could create a machine image 97 00:04:12,320 --> 00:04:15,773 and replace the existing machine very easily. 98 00:04:17,100 --> 00:04:19,460 Backups are also still your responsibility 99 00:04:19,460 --> 00:04:21,690 but the benefit of having them on EC2, 100 00:04:21,690 --> 00:04:24,090 especially if you're using something like 101 00:04:24,090 --> 00:04:28,540 the Elastic Block Store, is that we can 102 00:04:28,540 --> 00:04:31,270 we can very easily take sanapshots 103 00:04:31,270 --> 00:04:32,730 of those block store volumes 104 00:04:32,730 --> 00:04:35,910 and know that those snapshots are stored 105 00:04:35,910 --> 00:04:38,130 in S3 that we already have 106 00:04:38,130 --> 00:04:42,240 a very durable place to write those backups 107 00:04:42,240 --> 00:04:45,740 and that place is not managed by us. Right? 108 00:04:45,740 --> 00:04:50,740 And so we have far fewer responsibilities by running 109 00:04:50,760 --> 00:04:53,640 a relational database on EC2. 110 00:04:53,640 --> 00:04:58,640 Now let's compare all of this to running on RDFs. 111 00:04:58,960 --> 00:05:03,960 With RDFs, as you can see we are offloading 112 00:05:04,010 --> 00:05:08,700 all of these operational burdens to Amazon. 113 00:05:08,700 --> 00:05:12,240 Amazon now takes over not only installing 114 00:05:12,240 --> 00:05:13,190 the operating system 115 00:05:13,190 --> 00:05:15,560 but also patching and updating 116 00:05:15,560 --> 00:05:19,000 the operating system of that instance. 117 00:05:19,000 --> 00:05:22,210 Amazon also manages the upgrading 118 00:05:22,210 --> 00:05:23,870 of the database engine itself 119 00:05:23,870 --> 00:05:25,960 and performing backups. 120 00:05:25,960 --> 00:05:28,550 And so as an organization 121 00:05:28,550 --> 00:05:31,850 we get to focus on our data. 122 00:05:31,850 --> 00:05:35,590 We get to focus on optimizing our schemas 123 00:05:35,590 --> 00:05:37,880 and optimizing our query statements 124 00:05:39,047 --> 00:05:42,800 and offloading the operational burdens to AWS. 125 00:05:42,800 --> 00:05:45,660 Okay so the benefits of RDS would be 126 00:05:45,660 --> 00:05:48,550 that we have a reduced operational burden. 127 00:05:48,550 --> 00:05:51,960 As we've seen we can offload a lot of those 128 00:05:51,960 --> 00:05:55,757 underlying physical and software burdens to AWS. 129 00:05:57,330 --> 00:06:00,060 We also get our choice of 130 00:06:00,060 --> 00:06:03,023 a number of popular engines such as MySQL, 131 00:06:03,870 --> 00:06:07,130 SQL Server, Oracle, PostgreSQL, MariaDB 132 00:06:07,130 --> 00:06:11,160 and of course Amazon Aurora is a drop-in replacement 133 00:06:11,160 --> 00:06:14,583 for later versions of MySQL and PostgreSQL. 134 00:06:16,060 --> 00:06:19,940 We also have a very easy ability to create Read replicas. 135 00:06:19,940 --> 00:06:22,190 There are plenty of situations were 136 00:06:22,190 --> 00:06:23,881 perhaps you are doing 137 00:06:23,881 --> 00:06:24,714 (stutters) 138 00:06:24,714 --> 00:06:26,930 a lot of reads and 139 00:06:26,930 --> 00:06:29,180 and those operations are 140 00:06:29,180 --> 00:06:31,880 maybe becoming a burden on the primary. 141 00:06:31,880 --> 00:06:35,810 And so by offloading reads to, you know, 142 00:06:35,810 --> 00:06:38,250 one or more servers and then allowing 143 00:06:38,250 --> 00:06:40,560 the primary to handle only writes, 144 00:06:40,560 --> 00:06:43,730 you can improve the performance of the entire system. 145 00:06:43,730 --> 00:06:47,910 So again we have very easy creation of read replicas 146 00:06:47,910 --> 00:06:51,090 where AWS handle the creation, the maintenance 147 00:06:51,090 --> 00:06:54,470 of those actual servers, as well as 148 00:06:54,470 --> 00:06:56,513 ongoing synchronous replication. 149 00:06:57,770 --> 00:07:01,260 We also have a number of things that are automated 150 00:07:01,260 --> 00:07:04,300 by RDS servers such as backups, 151 00:07:04,300 --> 00:07:05,983 operating system pa... um patches, 152 00:07:06,960 --> 00:07:08,760 database engine updates. 153 00:07:08,760 --> 00:07:12,130 So if you wanted to go from, you know, for example 154 00:07:12,130 --> 00:07:14,970 MySQL five-five to five-six, you know, 155 00:07:14,970 --> 00:07:17,970 minor version updates, then those things 156 00:07:17,970 --> 00:07:20,260 can be done automatically for you 157 00:07:20,260 --> 00:07:22,540 and you get to control the window, 158 00:07:22,540 --> 00:07:24,930 the maintenance window in which those things happen. 159 00:07:24,930 --> 00:07:27,960 Of course you may want that to happen at one AM 160 00:07:27,960 --> 00:07:30,400 or five AM or even noon. 161 00:07:30,400 --> 00:07:33,800 Whenever...whenever you determine that you have 162 00:07:33,800 --> 00:07:36,830 for example, lower levels of traffic. 163 00:07:36,830 --> 00:07:39,070 And then of course one last thing to talk about 164 00:07:39,070 --> 00:07:40,800 with RDS is that we also have 165 00:07:40,800 --> 00:07:43,570 a very easy ability to failover, 166 00:07:43,570 --> 00:07:45,900 if you opt in to the right option 167 00:07:45,900 --> 00:07:48,780 such as a multi AZ deployment, then 168 00:07:49,798 --> 00:07:53,980 AWS can manage failover automatically. 169 00:07:53,980 --> 00:07:57,120 Whereas you can have not only just a primary 170 00:07:57,120 --> 00:07:59,180 but you would also have a secondary 171 00:07:59,180 --> 00:08:03,620 that AWS is also managing with synchronous replication. 172 00:08:03,620 --> 00:08:06,960 And if the primary fails, RDS can automatically 173 00:08:06,960 --> 00:08:09,193 fail over to that secondary, 174 00:08:10,720 --> 00:08:12,450 right? So again, 175 00:08:12,450 --> 00:08:13,530 plenty of benefits 176 00:08:13,530 --> 00:08:16,383 by using the Relational Database Service.