Author Topic: Cloud Services  (Read 7848 times)

0 Members and 1 Guest are viewing this topic.

Oceander

  • Guest
Re: Cloud Services
« Reply #25 on: September 11, 2016, 02:23:31 am »
Oceander, just as a point of contention on cloud services, IaaS does NOT provide resiliency.  If you are trying to go to cloud for the purpose of resiliency, understand that often what is sold is rapid recovery of the OS only!  Your data, your configs, many times are up to you to detect and repair.

Part of what I want to find is the ability to scale resources up and down with a high degree of granularity.  I'd also like a better ability to fine-tune the resources that are getting the most use, without having to acquire large amounts of resources that aren't needed.  For example, the forum doesn't actually need that much disk space, but it does need cpu time, RAM, and bandwidth.

HonestJohn

  • Guest
Re: Cloud Services
« Reply #26 on: September 11, 2016, 02:33:57 am »
I think that AWS is probably the best overall.

For one thing (the last time I checked in 2012), roughly 5% of all internet operations (worldwide) are handled by AWS.  They are the single largest commercial provider of servers and processing for the internet, period.  You can't beat that in terms of scalability.

Oceander

  • Guest
Re: Cloud Services
« Reply #27 on: September 11, 2016, 02:35:53 am »
I think that AWS is probably the best overall.

For one thing (the last time I checked in 2012), roughly 5% of all internet operations (worldwide) are handled by AWS.  They are the single largest commercial provider of servers and processing for the internet, period.  You can't beat that in terms of scalability.


True, but the question then becomes cost; the problem is finding the mini-max solution.

Offline bolobaby

  • Hero Member
  • *****
  • Posts: 2,373
Re: Cloud Services
« Reply #28 on: September 11, 2016, 03:11:31 am »
I noticed that with AWS (I opened a free account to do some experimentation).  How robust are the instances?  If I have one running and it shuts down, how much do I lose?

(I'll talk in terms of AWS, as it is my preferred provider.)

The quick answer is "everything that you would normally expect stored on a server's local disk."

These are ephemeral instances. When they crash, they get terminated and removed, along with all the data that was on their local disk. Your EC2 cluster realizes the need for a new server and starts spinning one up to replace the one it just terminated. This new server is based off your machine image (AMI), which is a point-in-time, clean configuration for the box. Savvy shops will build custom deployment managers that will grab the latest version of deployed software so that AMIs don't have to change constantly.

You have to make a paradigm shift about where you store data. Local things that you want saved must be moved to cloud-based storage solutions - either cloud DB, or cloud disk. That's why I mentioned S3 earlier.

I don't know how this forum works under the hood, but you may need to rejigger some of the code to properly work with multiple ephemeral instances and centralized storage - I don't know. A google search reveals that a couple of providers have already put SMF solutions on AWS - Bitnami, Turnkey, and Webuzo. Start there and see if it prices in the range y'all are willing to pay. Bear in mind that with autoscaling, you may have fewer servers running during non-peak hours depending on your min/max server counts set in your autoscaling group.
How to lose credibility while posting:
1. Trump is never wrong.
2. Default to the most puerile emoticon you can find. This is especially useful when you can't win an argument on merits.
3. Be falsely ingratiating, completely but politely dismissive without talking to the points, and bring up Hillary whenever the conversation is really about conservatism.
4. When all else fails, remember rule #1 and #2. Emoticons are like the poor man's tweet!

Oceander

  • Guest
Re: Cloud Services
« Reply #29 on: September 11, 2016, 03:20:40 am »
(I'll talk in terms of AWS, as it is my preferred provider.)

The quick answer is "everything that you would normally expect stored on a server's local disk."

These are ephemeral instances. When they crash, they get terminated and removed, along with all the data that was on their local disk. Your EC2 cluster realizes the need for a new server and starts spinning one up to replace the one it just terminated. This new server is based off your machine image (AMI), which is a point-in-time, clean configuration for the box. Savvy shops will build custom deployment managers that will grab the latest version of deployed software so that AMIs don't have to change constantly.

You have to make a paradigm shift about where you store data. Local things that you want saved must be moved to cloud-based storage solutions - either cloud DB, or cloud disk. That's why I mentioned S3 earlier.

I don't know how this forum works under the hood, but you may need to rejigger some of the code to properly work with multiple ephemeral instances and centralized storage - I don't know. A google search reveals that a couple of providers have already put SMF solutions on AWS - Bitnami, Turnkey, and Webuzo. Start there and see if it prices in the range y'all are willing to pay. Bear in mind that with autoscaling, you may have fewer servers running during non-peak hours depending on your min/max server counts set in your autoscaling group.

It certainly will require that I reconceive how I think about things.  For one thing, I am used to thinking of disk storage as something persistent, so that even if the virtual server and/or container (as the plesk parallels system calls it) crashes.

Is it fair to say that what you end up with is something like the RAM drives we used to use to overcome the deadly slow pace of actual disk drives back in the 1980s?  So that if the RAM "goes away" so does everything that was stored on the virtual disk?

I may set up a dummy version of the forum to test what happens when it's running on AWS.
« Last Edit: September 11, 2016, 03:22:29 am by Oceander »

HonestJohn

  • Guest
Re: Cloud Services
« Reply #30 on: September 11, 2016, 03:28:45 am »
It certainly will require that I reconceive how I think about things.  For one thing, I am used to thinking of disk storage as something persistent, so that even if the virtual server and/or container (as the plesk parallels system calls it) crashes.

Is it fair to say that what you end up with is something like the RAM drives we used to use to overcome the deadly slow pace of actual disk drives back in the 1980s?  So that if the RAM "goes away" so does everything that was stored on the virtual disk?

I may set up a dummy version of the forum to test what happens when it's running on AWS.

One of the nicest things about AWS is that they have a really helpful crew to help you with all of it.

Oceander

  • Guest
Re: Cloud Services
« Reply #31 on: September 11, 2016, 03:42:12 am »
One of the nicest things about AWS is that they have a really helpful crew to help you with all of it.

Good to know.  Still, I like to learn things myself through trial and error - which is why I want to play around with a dummy clone of the forum first.  Sometimes I "code" without a net, but that's not very smart when it comes to messing with the whole forum.

Offline Weird Tolkienish Figure

  • Technical
  • *****
  • Posts: 18,161
Re: Cloud Services
« Reply #32 on: September 11, 2016, 05:26:54 am »
It certainly will require that I reconceive how I think about things.  For one thing, I am used to thinking of disk storage as something persistent, so that even if the virtual server and/or container (as the plesk parallels system calls it) crashes.

Is it fair to say that what you end up with is something like the RAM drives we used to use to overcome the deadly slow pace of actual disk drives back in the 1980s?  So that if the RAM "goes away" so does everything that was stored on the virtual disk?

I may set up a dummy version of the forum to test what happens when it's running on AWS.

They have persistent storage. Set up the instance, then save it to an image. Then if the forum has a problem, just launch the image. I run my own personal website from AWS (though I'm meaning to change it).

Offline bolobaby

  • Hero Member
  • *****
  • Posts: 2,373
Re: Cloud Services
« Reply #33 on: September 11, 2016, 02:21:17 pm »
They have persistent storage. Set up the instance, then save it to an image. Then if the forum has a problem, just launch the image. I run my own personal website from AWS (though I'm meaning to change it).

@Oceander

Right - what you would do is set up an external Elastic File System, which you can think of as a NAS. You would mount the EFS to your EC2 instances as part of your AMI so that every new server that instantiates connects to the EFS.

If you don't do this, you lose everything that is stored on the machine itself when it terminates. So, when you are looking at EC2 instance specifications (M3 or C1, for example) and they list storage, that storage is ephemeral. Use EFS to have non-ephemeral storage that gets reused between ephemeral instances.

(Or, if you are archiving data, or persisting logs that you are unlikely to access after written, you can drop them into an S3 bucket like I mentioned before. That's what we would do with server logs.)
« Last Edit: September 11, 2016, 02:22:45 pm by bolobaby »
How to lose credibility while posting:
1. Trump is never wrong.
2. Default to the most puerile emoticon you can find. This is especially useful when you can't win an argument on merits.
3. Be falsely ingratiating, completely but politely dismissive without talking to the points, and bring up Hillary whenever the conversation is really about conservatism.
4. When all else fails, remember rule #1 and #2. Emoticons are like the poor man's tweet!

Oceander

  • Guest
Re: Cloud Services
« Reply #34 on: September 11, 2016, 03:50:20 pm »
They have persistent storage. Set up the instance, then save it to an image. Then if the forum has a problem, just launch the image. I run my own personal website from AWS (though I'm meaning to change it).

@Oceander

Right - what you would do is set up an external Elastic File System, which you can think of as a NAS. You would mount the EFS to your EC2 instances as part of your AMI so that every new server that instantiates connects to the EFS.

If you don't do this, you lose everything that is stored on the machine itself when it terminates. So, when you are looking at EC2 instance specifications (M3 or C1, for example) and they list storage, that storage is ephemeral. Use EFS to have non-ephemeral storage that gets reused between ephemeral instances.

(Or, if you are archiving data, or persisting logs that you are unlikely to access after written, you can drop them into an S3 bucket like I mentioned before. That's what we would do with server logs.)

@Weird Tolkienish Figure
@bolobaby

That's useful to know.  In terms of the forum, it consists of a large number of php scripts which are static and the database, which is where all  of the dynamic data is kept (along with a lot of other mostly static data that is specific to the particular forum, like member records).

Since I tend to keep backups of the files, and since they're static, a loss of the files themselves would not be catastrophic and would probably not even be noticed.  A loss of the database would be pretty bad since everything that changed since the last backup would be lost.