Better Developer

Corey Prak

VPS Details and Considerations

Devops Series #2

For Better Developer - http://bttrdvlpr.com, @bttrdvlpr - programming, collaboration, and support community - resource for learning, improvement, networking

By Corey Prak Twitter: @coreyprak http://coreyprak.me

Corrections, Improvements, and Feedback Appreciated!

Introduction

At this point we’ve learned about some types of hosting, namely Virtual Private Servers. As the most effective option between performance, cost, and control (in my opinion), I thought it’d be helpful to write about details that revolve around Virtual Private Servers.

This is yet another information post. I know it’s lengthy, but trust me, having a good foundation is important and the content should definitely be covered. In addition, we’ll learn about Digital Ocean, a cloud infrastructure provider.

The entirety of the next post will be hands on.


Objectives

  • What Digital Ocean is
  • Details to consider when shopping for a VPS

What is Digital Ocean?

Digital Ocean is a cloud infrastructure provider. Other infrastructure providers: Amazon Web Servives (styled as AWS) Microsoft Azure, Linode.

Some infrastructure providers include tools and services to help your applications run. From balancing traffic, information between services, and even sending texts.

Digital Ocean offers services of ‘renting’ a VPS by the hour. Their vocabulary for a VPS is a ‘droplet’


The Details of Starting up a VPS

When shopping for a VPS, a few things need to be taken into account:

  • bandwidth (how much speed? how fast?)
  • hard disk space (how much space? HDD or SSD?)
  • memory/RAM (how many Gigabytes/GB? What class or Type?)
  • location (where in the world is the server physically located?)
  • processor (what kind, or how many cores?)
  • cost, services, support, reputation

Other than cost and RAM, I’ve never built anyting substantial enough to warrant a serious consideration into the following details, but I still think those details are worth mentioning.

For a personal portfolio or ‘sandbox’ environment that can be trashed and experimented on, ANYTHING in this series at least, the lowest tier can work just fine.


The Details of Starting up a VPS (cont.)

Bandwidth

If your VPS will be donig something that is data intensive like serving images, bandwidth should be taken into account. In my experience, I’ve seen basic services for about a few terabytes per month.

Hard Disk

The amount of space needed is pretty self explanatory. Some infrastructure providers have services which allow you to attach ‘volumes’ to a VPS, essentially the same as mounting hard drives for additional space. I’ve only seen this on the ‘big players’ like AWS - Digital Ocean just recently released such a feature.

The last thing I’ll mention is the disk type, Hard Disk Drives (HDD) are much slower than Solid State Drives (SSD) so be on the look out for that.


The Details of Starting up a VPS (cont.)

Memory/RAM

The more memory you have, the more you can do. If you’re a gamer, you may have context into what this is. The price of a VPS is dictated by this component pretty heavily in my experience.

More sophisticated applcations require RAM. Google more information about this component if you need to.

Digital Ocean’s lowest tier VPS is 1GB, which is more than enough for what we’ll be doing.

Location

Remember that data still needs to travel over a wire from the server to every visitor. Some of my VPSes are close to me in Los Angeles. Waiting a few milaseconds for a server in New York or out of country may not be acceptable.


The Details of Starting up a VPS (cont..)

processor

Details such as the model of the processor, the number of cores, and even the make of it CAN be considered.

While the capabilities of the processor is another factor that is important in regards to performance, again, you can care about these details once you’re in a position to worry about it.


The Details of Starting up a VPS (cont…)

Cost

Some providers offer trials or free tiers for a certain amount of time. Amazon has a free tier for its services that last a year at the time of account creation.

Digital Ocean charges by the hour per VPS (the cheapest one is about 5-6 cents an hour!). Some providers charge monthly; paying for one for months or years at a time is possible too, and common. I have a few that I pay for.


The Details of Starting up a VPS (cont…)

Services and Support

Remember when I said Digital Ocean allows you to ‘add’ volumes to a droplet/VPS, should you ever run out of space? Or Amazon’s service that lets you distribute traffic, send emails?

Those nice things don’t exist everywhere. Sometimes to completely reboot your VPS and wipe everything and load a new Operating System, or to change passwords and do the simplest of things, you’ve got to have deal with your provider’s support service.

More mature providers allow you to do these things from the comfort of your browser. Keep in mind, what you get in services you pay for in price. I buy beefier servers that cost less because I get less services, although I have a little more of an idea of what I’m doing. Tradeoffs!


The Details of Starting up a VPS (cont…)

Reputation

Like all servers, they can go down and take your application offline. They can be ‘hacked’ or rather, compromised.

To echo the last section, a provider’s support might suck.

Amazon Web Services provides a service agreement to gurantee downtime to a certain amount of time - failure to do so can result in a credit that can be worth tens of thousands of dollars.

In my opinion, paying a little more for security and reliability is nice. I use Digital Ocean for my most important projects and information, but for sandboxes, I’m okay using a no name VPS provider or reseller.

Additionally, there are some providers who have deals that are just too good to resist. I’ll buy one or two servers based on the specifications, price, even both,

Again, tradeoffs!


What’s Next

  • creating a VPS on Digital Ocean
  • accessing the VPS via the SSH protocol
  • installing a web server and seeing it in action