Hi! I'm edunham everywhere that matters, and qedunham in some places that
don't, and I'm here to talk to you about... The Cloud!
Raise your hand if you identify as a Real Sysadmin.
Everybody else, you might want to ask these people questions afterwards. You
can nap for the next 5mins, or keep watching for some cute pictures.
Ok, now who here just wears a sysadmin hat sometimes? You manage one or two
servers, but you don't need any of that complicated redundancy and load
balancing stuff that the ops team keeps going on about, because you're
using...
The Cloud! The Cloud, for those new to this decade's trends and jargon, is
often represented as a technological panacea. But what does Cloud really mean?
The Cloud is a sophisticated system for abstracting away your servers. There's
a flavor of cloud for every use case, from Cirrus to Altostratus to
Cumulonimbus... Wait, this isn't the meteorology talk.
Using “The Public Cloud” refers to renting a subset of someone else's server's
resources. Someone Else, in this case, is usually a Cloud Hosting Company.
But what if you don't want to share with everybody else on that cloud?
The Private Cloud is what you get when you run Virtual (aka imaginary) servers
in servers that you own. You like servers, so you put servers in your servers,
and if the servers break, the servers can fix it!
Looks *great* on paper.
But it's not turtles all the way down. At some point, your computation gets
done on transistors. Transistors are ornery little devices that live on
electricity. Transistors live in servers, and servers live in....
Datacenters! The Internet as we know it requires a bunch of different servers
to all talk to each other. This means we've got to link all the datacenters
up, and keep them in contact. This is done with a network of...
Fiber optic cables! There are a bunch of different organizations that control
the cables, and the continued functionality of the whole network relies on the
politics between those organizations... But it's better than the alternative.
While you can get decent bandwidth with a box of hard drives in the mail or an
SD card on a pigeon, it's generally accepted that the latency doesn't compete
with sending your packets at the speed of light.
And packets these days come from servers. Who here has a single server in the
cloud that it's important not to lose? I'm here to tell you where your server
is.
Your AWS instance or Heroku app lives in a datacenter in one of these
locations. US-West regions are a popular choice for developers in North
America, and are conveniently located in a region that geologists call
overdue for a catastrophic earthquake!
Microsoft's Azure data centers draw a beautiful line along the Pacific Rim, a
region poetically described as the Ring of Fire for its prevalence of
earthquakes and volcanic activity. Maybe you should put your server in Europe
instead...
When your servers are located in the European Union and your cool app lets
people search others' users' personal data, you could be legally required to
remove all traces of a user who invokes their right to be forgotten.
Better just code that up real quick before shipping it!
There are also laws in many jurisdictions requiring data retention, but think
twice before blindly instructing your Cloud to copy your data everywhere, if
your data includes secrets that you'd rather keep away from state actors
Unrelatedly, Google Cloud now offers a region in China.
There can be all kinds of problems with locating your “cloud” servers
overseas! Let's just stick to the safety of datacenters in the midwestern
United States, where government surveillance is a known unknown and you're
unlikely to get earthquakes or tsunamis.
The region featuring Linode's Atlanta and Dallas Datacenters and Rackspace's
Virginia, Dallas, and Chicago locations is popularly known as Tornado Alley,
and is fraught by a variety of seasonal storms.
Datacenters usually have backup generators with enough fuel to keep them
powered for a while, and redundant networking. Everything might be okay.
Just remember that when you get down-to-earth about this cloud thing, your
servers and data are still located somewhere. Addressing your reliability
concerns takes a lot more work than just using the cloud!