Posted by giorgio79 on November 21, 2009 at 7:11am
Hello,
How does scaling work at Amazon if I start out with the smallest instance with a Mercury.
I have never used any of them, just doing my research on which way to go.
Would be as simple as clicking a few buttons on my Amazon control panel to get a bigger instance? :)

Comments
Im not 100% sure as I am also
Im not 100% sure as I am also currently researching this but I think they have some auto scaling functionality to take advantage of.
Snipped from their site @ http://aws.amazon.com/ec2/#features
Looks like its pretty cheap $0.015 per instance per hour but I would be interested to see other solutions out there as from what I am seeing there are many to choose from ... im trying to dig through them all and make an informed decision, as it stands though im seeing the amazon option on top. Its still a bit of a mystery to me how it all works and I was thinking the AWS might make things the easiest; but im not 100% decided yet.
Were probably going with a large instance to start and will likely need that auto scaling functionality as it seems more than logical for keeping costs down to a minimum and easing the massive load hits were expecting.
I am hoping to have all our stuff sorted & solid by April for our full launch of several of our bigger projects, and will likely move to AWS either on my own or through Aquia's implementation. Please post back any findings you may come across and I will as well.
Cheers!
Thanks for that info, and it
Thanks for that info, and it talks about adding additional EC2 instances. I guess in that case it would require some customization so that the EC2 instances can share the same db?
Also interested to know how to scale from a small EC2 instance to a larger one, instead of adding new instances.
****Me and Drupal :)****
Clickbank IPN - Sell online or create a membership site with the largest affiliate network!
Review Critical - One of my sites
If you wanted to scale up the
If you wanted to scale up the size of your instance you'd just want to make sure you've built an AMI that contains everything for your machine. Then you'll need an EBS volume. Then you should be able to start up a new copy of your AMI, connect your EBS and you'll be on the larger machine with the same setup as the smaller machine. Keep in mind that going from the small or medium up to the large you'll have to move from the 32bit version of an OS to the 64bit. That means the same AMI won't do the trick.
Doug
@nullvariable | www.nullvariable.com
Appreciated Doug, that sounds
Appreciated Doug, that sounds pretty sweet. I assume someone can hold off from scaling horizontally, after scaling up vertically :)
This is how I imagine the scaling path of a successful site:
small instance -> medium instance -> large instance -> start with a load balanced and additional instances for the webapp and db server.
****Me and Drupal :)****
Clickbank IPN - Sell online or create a membership site with the largest affiliate network!
Review Critical - One of my sites
You could scale that
You could scale that way...just depends on the type of site and the type of traffic. Having huge machines is great if you need tons of RAM for computing large problems where those types of machines offer little benefit when you're handling thousands of requests per second that don't need a lot of calculation. For most of my customers that would need some sort of scaling we're just adding instances on a temporary basis to distribute the request load. This keeps the costs down in the off time since we're not running huge machines and still lets us make things happen when traffic is high. Basically we're looking for the weakest link here, is it RAM/processing or network I/O that the application uses up the most (and sometimes its both).
You might also use a huge instance as a database server and small instances for handling traffic. Or you might run memcache on a huge instance, the list goes on.
So I guess what I'm saying is that typically you'd very rarely up the size of the instance. It's harder to do and doesn't scale back down easily.
The biggest point of using something like AWS is so that you can scale back down when you're not using the resources instead of the traditional model of having racks and racks of unused servers so you can handle peak capacity but them lying around doing nothing during off hours. Otherwise you'd probably be better off setting up co-located boxes in a data center somewhere instead.
Hope that helps :)
Doug
@nullvariable | www.nullvariable.com
Thats the part thats still a
Thats the part thats still a bit of a mystery to me .. how does it scale and all that? I have no clue lol .. im going to keep digging though im sure there is some good docs in their developer section .. ive just not had the most time as of late .. just got a great organic farm and were doing some remodeling so ive got my construction & mover hats on for the time being, I want to be in before we get our first snow! I am reading the AWS docs whenever I get a little time.... I will post back when I find more details.
I am curious about your main question too... which is what considerations or methods are most appropriate when using the Pantheon goodies, but thats something we'll have to get from one of the Pantheon users, I'm guessing there is no one right way but there must be some good opinions floating around.
sadly it's not quite that
sadly it's not quite that easy :)
Auto-scaling basically turns off or on additional machines based on the load your site is carrying. It doesn't do anything with the size of the instance you're on. So you would need to have a preplanned setup to handle more servers.
One possible setup would be 1 mercury box and 1 box just running a MySQL server. Then as auto-scaling detected that the mercury instance was reaching a certain capacity it would start a second instance for you. Then you need an elastic load balancer. Then you'll need our own pre-built AMI's, EBS volumes and customized startup scripts.
Basically as you scale up AWS's auto-scaling just adds more machines to the pool to handle the load. You've got to have a system in place to work with the auto-scaling. Otherwise the auto-scaling doesn't actually benefit you.
You can get into all kinds of fun things with Master-Slave MySQL servers and more when you're building a system like this. My suggestion is that if you're not sure about any of the things I'm talking about, hire a professional. They'll save your bacon and probably a good bit of your cash along the way too.
Here's a graphical illustration of load balancing from the developer docs:
http://docs.amazonwebservices.com/ElasticLoadBalancing/latest/DeveloperGuide/images/LoadBalancingDesign2.png
And the AWS intro to Elastic Load Balancing.
Doug
@nullvariable | www.nullvariable.com
Sweet .. thanks for sharing
Sweet .. thanks for sharing your thoughts, its much appreciated! ^_^
I totally agree about having a team of pro's .. at the moment we have some consultants & we are gathering potential candidates whom will work with us when the time comes. Mostly I know what im doing, but I try to operate from a constant learning perspective.
Im not 100% decided on which to go with but im leaning AWS & I think its smart to jump in either directly or indirectly through a value added service like Aquia, Scalr etc, that way when the time comes we have the needed tools to enable our expansion without having to start when we hit peak and instead be ready for it... though honestly when that time arrives we will have plenty of budget and staff to handle pretty much anything, and I wont be solely responsible for everything!
Cheers!
I think no matter if your on
I think no matter if your on the cloud or on a traditional server setup, if you plan on scaling, it's generally recommended to start with a load balancer, web app server, and database server. From there you can always add more servers to your load balanced server and scale.
The most unique feature, I think, for the Amazon servers is that you expand your disk storage space as far as your budget can handle on a single server.
Just signed up for Scalr
They had a free development account at scalr so far its looking quite cool and simplifies a lot of things into a nice ui .. though you have to use their ubuntu AMIs until they release their next version which will allow almost any ami, I use ubuntu anyhow so its not a bother for me... im checking it out to see and may go with it, but I would still like to hear back from the Aquia folks on what they're offering.
I liked the scalr setup, had
I liked the scalr setup, had a great ui and worked out of the box pretty quickly.
Now im going to test out using the all inclusive Mercury ami now, totally from within AWS console and also their cheap EBS & Elastic Load Balancer & Cloud Watch services, I want a feel for how it is to accomplish with the aws stuff similarly to how scalr does it. We dont want to start bigger than we need and I'm going to test out having an all inclusive system like Mercury and then maybe later fork off the Database and other bits into their own instances where warented. I love how easy it is to jump around from different builds and dev them so cheap & quick! Was only 50 cents for a few hours of fun ... AWS Rocks!
Opinion of RightScale Service
Has anyone looked into RightScale.com? It seems like it's a service that will assist with the AWS scaling process. I'm hoping to find a way to simplify the process of setting up multiple servers (load balancer, application servers, db servers, etc).
Otherwise, can anyone point me in the direction of how to set this up on my own?
Thanks!
It seems that Amazon has
It seems that Amazon has enhanced the features of its Cloud since 2009. Here's a good comparison chart showing different big players in the Cloud arena and their offerings. Please refer : http://www.thbs.com/pdfs/Comparison%20of%20Cloud%20computing%20services.pdf
Cloud Hosting | Web Hosting UK