{"id":426,"date":"2014-10-14T20:04:48","date_gmt":"2014-10-14T20:04:48","guid":{"rendered":"http:\/\/blogs.nd.edu\/devops\/?p=426"},"modified":"2014-10-14T20:04:48","modified_gmt":"2014-10-14T20:04:48","slug":"the-speed-of-light","status":"publish","type":"post","link":"https:\/\/sites.nd.edu\/devops\/2014\/10\/14\/the-speed-of-light\/","title":{"rendered":"The Speed of Light"},"content":{"rendered":"<p>How fast is it really? \u00a0In the course I teach, students have the opportunity to interact with a database, taking their logical models, turning them into physical designs, and finally implementing them.<\/p>\n<p>Up until this semester, I have made use of a database that is local to campus. \u00a0The ongoing management and maintenance of that environment is something which is of no particular interest to me &#8211; I just want to use the database. \u00a0Database-as-a-Service, as it were. \u00a0As in, Amazon <a href=\"http:\/\/aws.amazon.com\/rds\/\">Relational Database Service<\/a>.<\/p>\n<p>Lucky for us all,\u00a0Amazon has\u00a0a\u00a0generous <a href=\"http:\/\/aws.amazon.com\/grants\/\">grant program for education<\/a>. \u00a0After a very straight-forward application process, I was all set to experiment.<\/p>\n<p>To baseline, I executed a straightforward query against a small, local table. \u00a0Unsurprisingly, the response time was lightning-fast.<\/p>\n<p><a href=\"http:\/\/blogs.nd.edu\/devops\/files\/2014\/10\/local.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-427 aligncenter\" src=\"http:\/\/blogs.nd.edu\/devops\/files\/2014\/10\/local-300x149.png\" alt=\"local\" width=\"300\" height=\"149\" srcset=\"https:\/\/sites.nd.edu\/devops\/files\/2014\/10\/local-300x149.png 300w, https:\/\/sites.nd.edu\/devops\/files\/2014\/10\/local-500x248.png 500w, https:\/\/sites.nd.edu\/devops\/files\/2014\/10\/local.png 891w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>Using RDS, I went ahead and created\u00a0an Oracle database, just like the one I have typically used on campus. \u00a0After setting up a VPC, subnet groups, and creating a database subnet group,\u00a0I chose to create this instance in Amazon&#8217;s N. Virginia Eastern Region. \u00a0Firing off the test, we find that, yes, it takes time for light to travel between Notre Dame&#8217;s campus and northern Virginia:<\/p>\n<p><a href=\"http:\/\/blogs.nd.edu\/devops\/files\/2014\/10\/east.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-429 aligncenter\" src=\"http:\/\/blogs.nd.edu\/devops\/files\/2014\/10\/east-300x146.png\" alt=\"east\" width=\"300\" height=\"146\" srcset=\"https:\/\/sites.nd.edu\/devops\/files\/2014\/10\/east-300x146.png 300w, https:\/\/sites.nd.edu\/devops\/files\/2014\/10\/east-500x243.png 500w, https:\/\/sites.nd.edu\/devops\/files\/2014\/10\/east.png 896w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>Looks like it added about 30 milliseconds. \u00a0I can live with that.<\/p>\n<p>Out of curiosity, how fast would it be to the west coast? \u00a0Say, Amazon&#8217;s Oregon Western Region? \u00a0Fortunately, it is a trivial exercise to find out. \u00a0I simply snapshotted the database and copied the snapshot from the eastern region to the west. \u00a0A simple restore and security group assignment later, and I could re-execute my test:<\/p>\n<p><a href=\"http:\/\/blogs.nd.edu\/devops\/files\/2014\/10\/west.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-428 aligncenter\" src=\"http:\/\/blogs.nd.edu\/devops\/files\/2014\/10\/west-300x138.png\" alt=\"west\" width=\"300\" height=\"138\" srcset=\"https:\/\/sites.nd.edu\/devops\/files\/2014\/10\/west-300x138.png 300w, https:\/\/sites.nd.edu\/devops\/files\/2014\/10\/west-500x230.png 500w, https:\/\/sites.nd.edu\/devops\/files\/2014\/10\/west.png 895w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>Looks like the time added was roughly double &#8211; 60 milliseconds.<\/p>\n<p>Is that accurate? \u00a0According to\u00a0Google Maps, it looks like yes indeed, Oregon is roughly twice as far away from Notre Dame as Virginia. \u00a0The speed of light doesn&#8217;t lie.<\/p>\n<p>So, what did I learn? \u00a0First, imagine for a moment what I just did. \u00a0Instantiate an Oracle database, on the east coast, and the west coast. \u00a0From nothing! \u00a0No servers to order, to routers to buy, no disks to burn in, no gnomes to wire equipment together, no Oracle Universal Installer to walk through. \u00a0I still get a thrill every time I use Amazon services and think about what is actually happening. \u00a0I can already see myself when I&#8217;m 70, regaling stories about what it was like to actually see a data center.<\/p>\n<p>OK, deep breath.<\/p>\n<p>Second, is 30 milliseconds acceptable? \u00a0For my needs, absolutely. \u00a0My students can learn what they need to, and the 30 millisecond hit per interaction is not going to inhibit that process. \u00a0It&#8217;s certainly a reasonable price to pay, especially considering there is nothing to maintain.<\/p>\n<p>What is the enterprise implication? \u00a0Is 30 milliseconds going to be insufficient? \u00a0An obstacle that inhibits business processes? \u00a0We shall see. \u00a0For local databases and remote web\/application servers, perhaps. \u00a0Perhaps not.<\/p>\n<p>This is why we test, remembering that despite what a remarkably amazing toolset AWS represents, we are still bound by the speed limit of light.<\/p>\n<p>AWS Midwest Region, anyone?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>How fast is it really? \u00a0In the course I teach, students have the opportunity to interact with a database, taking their logical models, turning them into physical designs, and finally implementing them. Up until this semester, I have made use &hellip; <a href=\"https:\/\/sites.nd.edu\/devops\/2014\/10\/14\/the-speed-of-light\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1551,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-426","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/sites.nd.edu\/devops\/wp-json\/wp\/v2\/posts\/426","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sites.nd.edu\/devops\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sites.nd.edu\/devops\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sites.nd.edu\/devops\/wp-json\/wp\/v2\/users\/1551"}],"replies":[{"embeddable":true,"href":"https:\/\/sites.nd.edu\/devops\/wp-json\/wp\/v2\/comments?post=426"}],"version-history":[{"count":1,"href":"https:\/\/sites.nd.edu\/devops\/wp-json\/wp\/v2\/posts\/426\/revisions"}],"predecessor-version":[{"id":430,"href":"https:\/\/sites.nd.edu\/devops\/wp-json\/wp\/v2\/posts\/426\/revisions\/430"}],"wp:attachment":[{"href":"https:\/\/sites.nd.edu\/devops\/wp-json\/wp\/v2\/media?parent=426"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sites.nd.edu\/devops\/wp-json\/wp\/v2\/categories?post=426"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sites.nd.edu\/devops\/wp-json\/wp\/v2\/tags?post=426"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}