5 ms·
Though it may seem silly, it is not always about cost and performance. In many cases, EC2 allows you much more flexibility than a traditional dedicated server.
by ridruejo 15y ago
Though it may seem silly, it is not always about cost and performance. In many cases, EC2 allows you much more flexibility than a traditional dedicated server. One example, for EBS-based servers it is possible to clone the entire server with just one API call. This allows you to test upgrades, performance enhancements, etc. without disturbing the production server configuration. And you will be doing so in an exact replica of the machine, minimizing the bugs or issues introduced when an staging or test system had changes applied. Another one: it is simple to resize your server as needed. You can start with a micro instance when developing and then scale to bigger instance types as needed after you on production. With a dedicated server, it is much complex to migrate your setup. We take advantage of those and other features at BitNami Cloud Hosting (http://bitnami.org/cloud http://bitnami.org/cloud) and have had a lot of success so far.
Finally, hosting on Amazon is not only about EC2, it is about the whole ecosystem. You can take advantage of many other services, such as their offerings for MySQL (RDS), memcached (elastic cache), CDN (CloudFront), monitoring (CloudWatch), etc.. Like any other technologies, they have their shortcomings, but can save a significant amount of time and effort vs. doing it yourself and they are way ahead of anybody else in the space (specially traditional hosting companies)
As a side note, EC2 costs can be significantly reduced with reserved instances if you are willing to commit to 1 or 3 year terms.
- mark_l_watson 15y agoI totally agree with you: AWS is a platform with a range of services and much flexibility. Depending on requirements, sometimes using a PAAS like Heroku (and plugins) makes sense, sometimes AWS, sometimes naked hosted servers. I think that very high level PAAS providers like Heroku, DotCloud, and CloudFoundry are the future, at least for what I would like to do. If I am working for customers, spending effort on plain AWS or hosted servers is OK if that is what they want, but for my own projects I prefer to spend a little more money and save a lot of my own time.
- ridruejo 15y agoThose providers do, in turn, run on top of AWS so in a way you are still running on Amazon's platform. At one point that layer will be standardized as well (and at the speed AWS is going, sooner than later...)
- prib 15y agoAnd I really agree with you too. Adding to that, AWS does have its own PaaS: Elastic Beanstalk. We've been using it for several months now without a single hiccup. It's Java only, but it just works: load-balancing out-of-the-box, auto-scales beautifully and replaces dead instances in a couple of minutes. You can easily launch new environments for testing new features and app updates are a breeze. And you're still close to all the AWS services like S3 and CloudFront which adds a lot of value to the package. This sounds almost like a commercial but, yes, being used to manage our own servers, this was one of the greatest moves we did. We still have a server hosted at Hetzner (mentioned by the OP), but have moved pretty much everything to the cloud. It's good to know that updating MongoDB is now just a matter of sending an e-mail to the guys at MongoHQ (which also runs on AWS) and they do it in a few seconds. It may not work the same for everyone but from our experience it does pay off even if we're burning a few more dollars every month, as we're not spending long unexpected hours on server management anymore. And for a small team trying to focus on product development, that's gold!
- prateekdayal 15y agoExactly my point. As I mention in the post, if you are using the APIs to provision or free up resources, then the cloud is definitely for you. Ultimately if you are using the flexibility and power of the cloud to your business advantage, cost stops being a concern.
- ridruejo 15y agoYou can resize the machines or take snapshots from the AWS console, no need to use the API. Some people prefer to simplify it further and use something like BitNami to manage it, but there are options to the API. Our infrastructure runs on both dedicated and cloud servers, and we have found that the more services we move to the cloud, the easier things can be managed
- r00fus 15y ago> And you will be doing so in an exact replica of the machine, minimizing the bugs or issues introduced when an staging or test system had changes applied. Another one: it is simple to resize your server as needed. You can start with a micro instance when developing and then scale to bigger instance types as needed after you on production VMware? Assuming you are limited to on-premise options, isn't this kind of flexibility addressed with in-house virtualized instances? At a previous employer (who was too paranoid about cloud) I could easily pull a snapshot of prod into a test/dev environment with a few clicks and coffee-break worth of lagtime (likely possible with command line too), then use my deployment process to push changed code/metadata changes back out to prod if need be. The only downside to this approach is you need to have IT ops that's up to snuff on virtualization (not guaranteed)... with cloud you cut this out, and your devops guy can manage everything.
- ridruejo 15y agoYes, I was referring to 'traditional' hosting. The VMWare vcloud offering is actually quite interesting in the ease with which you can migrate from on premise to public vcloud providers. Still way more expensive that just going the Amazon route for most people