For this edition of the ‘Ask a Skytap Engineer’ series, I spoke with Ian Bone, an engineer on Skytap’s networking team. Ian’s been all over the stack at a variety of large and small employers, and he really dislikes doing work that computers can do for him.
In his spare time, Ian bikes, dances, does acrobatics, and appreciates the large variety of craft beer, wine, and spirits the Pacific Northwest has to offer.
1) What is the “A-ha!” moment most developers have when they learn what Skytap Cloud can do for them?
A: Honestly, I’m still having a-ha moments. I’ve been working on Skytap Cloud for over a year now, and I still haven’t discovered all of the ways it makes my job as a developer easier. That’s what gets me excited, and what drew me to the company: Skytap is a meta-tool that can really change how software is created. I know I’ve written about this before, and I intend to keep writing about it.
OK, a specific example? A coworker and I were adding an entirely new back-end service. He implemented the new service, and I integrated it into our existing networking service. Problem was that he’d been working on his own branch for so long that he had a lot of upgrading to do to get his integration tests to pass. With a deadline looming, he was getting worried. Now here’s the a-ha moment: I had also been working on his branch, but had been tracking more closely with Skytap’s mainline, so I had my integration tests passing, but still didn’t have his freshest bits. I was able to give him my entire stack (after saving off a template first) and meet his need of current Skytap code that he could apply his patches to, saving him probably a day of work and helping him meet the deadline.
Developing on the cloud requires a new way of thinking about development. I’m really glad to be pushing ahead on it every day.
2) You’ve said you’re a huge development-in-cloud proponent. Are there any downsides to keeping the stack in the cloud?
A: The big one for me is having to be connected to a reasonably fast Internet connection to be able to work. I’m a digital nomad, so I like working from all kinds of crazy places. Sure, needing a solid network isn’t too big of a limitation these days, but it can bite you unexpectedly if you’re trying to work from a remote location.
It also feels kind of silly to have a shiny new notebook that is a thin client over my dev stack. In some ways we’ve come full circle from mainframe to personal computing and back again. It does mean I’m not tied to my Skytap-issued machine though; in a pinch I could ssh into my machines from almost any computer.
Another issue that people express a lot of concern with is being able to get to their machines if the cloud provider is having problems. Or, us nerds being the control freaks we are, vague uneasiness about not having ‘control’ of our own machines. Reliability could be a problem in theory, but in my year+ at Skytap, the only productivity I’ve lost was when our office building’s Internet had some problems—the datacenters were rock solid, so I just relocated to a coffee shop. As for the general control issue, well, I feel much more in control knowing that all of my hard work is preserved across a really robust ZFS back-end, not bouncing around on a single spinning disk that I keep on my person. (This is especially relevant to me; I had a laptop bag—sans laptop, luckily—wander off a few weeks ago. It only takes one careless minute to lose massive amounts of work kept locally.)
3) OK, trivia round: In electricity, voltage is measured in volts. How is current measured?
A: Amps. Or Amperes if you want to pedantic. [Editor’s note: Never.]
A lot of people get watts, amps and volts confused since they’re all units that apply to electricity. To keep them straight, I use a metaphor of water. Voltage is the difference in charge across a circuit, so it’s potential energy. I think of it like water pressure. Imagine pouring a cup of water into a bowl from an inch above, and from several feet above. The water will be moving a lot faster from higher up, because it has more potential energy given the height.
Amperage is the volume of electricity that passes across a point in a second, so it can be thought of as the rate of water flowing through a pipe.
Wattage is the amount of work done, so it’s a multiple of the voltage and the amperage. You can think of this as the total amount of water that goes through a pipe. This is what your power company bills you for … for the most part.
People often assume that high voltage is dangerous, but really it’s the wattage—i.e., the total volume of electricity—that can get you. A Super Soaker can get a pretty high pressure (high voltage) but low flow rate (low amperage) so the wattage stays pretty low. You get shot in the face and you stay standing. A smallish waterfall has lower pressure than the squirt gun (it can’t hit you from 25 feet away horizontally) but a massive volume of water. If you step under a waterfall, even a modest one, you’ll have a hard time keeping your feet. That’s like a relatively low voltage at very high amperage pushing a lot more watts. Remember, watts are a measure of work; would you power a water wheel with a squirt gun or a waterfall?
I feel smarter already. Thanks for your time, Ian.