Slashdot Log In
Sending Excess Load To the Cloud?
Posted by
kdawson
on Tue Sep 30, 2008 01:46 AM
from the failing-over-into-the-mist dept.
from the failing-over-into-the-mist dept.
TristanBrotherton writes "Cloud computing seems to be a good choice for startups like ours, looking to scale easily with users. (We're providing a series of Web services, assets, and Web applications to users of our mobile client.) There are the obvious choices of Google, Amazon, and smaller shops like EngineYard. The biggest issue we have in choosing cloud computing to run our applications is trust in their robustness. If the provider goes down, we suffer. In traditional hosting environments we mitigate this with multiple sites / vendors. It's not really feasible to host on multiple compute services, so I wondered if a better option might be to set up a small (perhaps two servers) origin infrastructure in a traditional manner at a datacenter, running our applications, but then send excess load, or in the event of our origin servers failing, all load, to compute services. This would give us the best of both worlds. Has anyone done this, or had experience in designing Web applications to scale seamlessly across both environments? Is there particular load-balancing hardware we can use to do this?"
Related Stories
This discussion has been archived.
No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
Full
Abbreviated
Hidden
Loading... please wait.
Will "the cloud" be there when you need it? (Score:5, Insightful)
Unless your "cloud" provider offers a service level guarantee with teeth, is contractually obligated to continue to provide the service for some period of time, and has sound financial fundamentals, this is risky.
I think we'll see a big shutdown of money-losing web services over the next year.
Cloud computing needs to be standards-based (Score:5, Insightful)
The answer is to not get tied into a single service provider. You need a cloud computing solution that is standard-based (formal or defacto) and that lots of providers are supporting. And you have to be prepared to migrate your stuff if/when the industry moves on to the next version of the standard ... or the next "big leap forward" after cloud computing.
And that is all hard to do.
Parent
Re: (Score:3, Insightful)
That will certainly prevent them being sued out of business.
However with no customers, they might go out of business anyway.
Re: (Score:3, Insightful)
Re: (Score:3, Insightful)
What kind of customers? Presumably not ones who stand to lose a lot of money if there's any kind of loss of service; they'd be willing to pay the premium for guaranteed relaibility.
In other words, if you aren't offering that you're aiming at the ones who don't make a lot of money to start with. They're often not worth the effort. It might be OK for a mom and pop novelty cake business, but would you want your bank hosting its apps on some nickel & dime service that try their best but it may or may not
Re: (Score:3, Insightful)
There is no such thing as a standards-based cloud computing solution. The best you can get is some middleware layers that try to abstract the APIs for a few different providers.
Since these APIs are a moving target, these middleware solutions are not very effective.
Re: (Score:3, Insightful)
Re: (Score:2, Insightful)
The Internet would survive Google's demise. It was designed to survive a nuclear attack and it survived Excite's demise. It'd survive without Google.
Just a reminder, as many people seem to have forgotten:
Google != The Internet
Re:Will "the cloud" be there when you need it? (Score:5, Insightful)
Google != The Internet
I think you misinterpreted his argument. He wasn't claiming that the internet would not survive the loss of Google - he was saying that if the financial situation were so bad that Google would not survive, then his little mobile content business doesn't stand a chance.
Parent
The C word (Score:4, Funny)
Please don't use it. Every time you use a buzz-phrase God kills a kitten.
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
I strongly agree.
It's a really annoying buzzword that seems to cover everything from VMWare to mainframes, to Beowulf clusters, SAN technology....
What is the fscking cloud?
Also, are all the offerings he mentions targeted at people running web applications anyway?
Re:The C word (Score:5, Funny)
It's a term invented by idiot managers who saw all those diagrams where the wider internet is represented by a picture of a cloud and were too stupid to grasp the concept of a representative diagram, so they took the picture of the cloud to be literal, and now there is an entire generation of managers who have an image of electrons flying around the sky. They confusion they suffer is only exacerbated when there's a thunderstorm and they hear the word "torrent" to describe the rain, thinking that the storm is the result of those damned P2P users.
Parent
Re: (Score:3, Informative)
Well, you ain't gonna change people, so unless you can come up with something catchier than "cloud" you'll have to endure it :)
Re: (Score:3, Insightful)
"Timesharing service" is available.
Re:The C word (Score:4, Funny)
Web 2.0! Cloud computing! Thin clients! The network is the computer! Software as a service! Utility computing! WHERE DO YOU WANT TO GO TODAY!?
I really hate cats.
Parent
Data Security? SLA? (Score:5, Insightful)
If your sole consideration is application availability, then your idea might make sense. But since you said you don't trust the application hosting company's "robustness," do you still trust them to protect and secure your data adequately? In other words, if you don't trust your IT service supplier in one dimension, why would you still trust them in other service quality dimensions?
Have you thought about establishing a contract with a formal Service Level Agreement (SLA), including penalties and escrow (or equivalent) for non-performance? That would seem to be a much more straightforward and comprehensive way to establish "trust."
Re: (Score:3, Insightful)
I'd tend to second that. These days even a T1 and a good server only costs several hundred a month. There's no magical cloud out there, only many loud, grimy and over-obliged companies. If you want to reduce costs, go to the regions where there is excess bandwidth.
While there may eventually be a major market for extra processor cycles, it doesn't exist now, and trying to force the issue is early.
Overload (Score:3, Informative)
Pragmatic Advice (Score:3, Interesting)
Think about it: Install Apache on one host. OK. Now, two hosts... Well, do you round robin DNS, or do you run a squid reverse proxy, do you buy something else...
Next, how are you going to monitor this monster, Nagios or OpenView... or something else.
How many people are responsible for this puppy?
Oh, yeah... And I'm just talking about static web hosting, you start having all kinds of fun when you want to track user sessions, etc.
My advice to you is to look into an Application Service Provider. Make them do all of the integration work.
If you can afford Internet connectivity to a pair of servers, you can probably afford an Application Service Provider.
scaling (Score:2)
Depends on what you are doing (Score:5, Insightful)
If you are running a web-based, hosted financial application, outsourcing "to the cloud" is a non-starter. If you are hosting pictures of kitty cats, the cloud can be an excellent resource.
Throw a server up, upload some files, start up a PG or MySQL database, and integrity is easy. But as soon as you introduce the 2nd system, integrity issues start jumping out of the woodwork. It gets worse with each additional node. Redundancy isn't just fancy-sounding, it's damned hard to do right, and as soon as you introduce it, you have to accept an elevated error rate because the number of things that can go wrong go UP, even as the number of catastrophic system failures drop.
For a great example of redundancy in action, take a look in the mirror. You have individual cells dying by the millions every minute. Your memory is fuzzy at best, your pattern-recognition in your brain frequently sees things that aren't there, and you make stupid mistakes every single day. And that's fine, because the overall system is pretty damned redundant and resilient. A mash of protein goo and calcium deposits able to sustain one of the most complex information systems around, reliably, 24x7, for an average of 70 years or so apiece.
Good luck getting any kind of hosting platform to maintain that kind of uptime, no matter the expense! But in biology, minor errors are so commonplace that they are hard to catalogue, let alone count.
So pick your battle, and realize that high-performance, high-redundancy clustering is very, very difficult to do well.
In the meantime, spend money on good quality hardware, and use top-notch colo hosting. The cost of doing it right is actually significantly lower than doing it "on the cheap" so spend money where it counts (good quality infrastructure) and save where it matters. (EG: public opinion) It's almost odd - if you look for the very, very best colo, regardless of cost, you'll find that their monetary cost is probably one of the lower ones around. (head scratcher) I've found this to be rather consistent with several reviews under my belt.
Also, I find it best to use whitebox systems with midrange hardware. These are quality, high-performance hardware developed with everything but the name brand. In my case, I've standardized on 1U multicore X86/64 systems with hot-swap, high performance 15k SCSI drives put out by Tyan and SuperMicro. There are a large number of dealers of such systems, my current favorite is Aberdeen Inc [www.aberdeeninc]. They can sell you an amazing amount of performance and reliability for around $2500.
This is the stuff that Sun will sell you for $8,000/pop. They will stand up to day-in, day-out heavy use for years, with hundreds or thousands of users every day, millions of website hits per day, etc. They are high performance. This is quality hardware. And with the money you save, you can have an immediate hot backup for less than the cost of the "premium support" of the big guys, and more redundancy in the meantime.
My $0.02. Since it's free advice, you're free to use it as you see fit!
Re: (Score:3, Funny)
Re: (Score:3, Insightful)
Everthing else is still turned on.
An amateur shouldn't attempt this (Score:5, Informative)
Distributed computing of any kind is complex and not something to be undertaken with no experience or assistance. Hire someone who knows their stuff to help you out. Being with a business case and don't be surprised if running your own cloud turns out not to be the way to go.
Security (Score:2)
Before I signed on to something like that, I'd spend some time meditating about Internet security. It's dubious at best and seems, if anything, to be slowly deteriorating. Is your situation such that you can deal with all your data being captured? How about it being altered? What future security constraints could shut you down for days, or weeks, or permanently? If you are OK on those things, then maybe.
Build a scalable system (Score:3, Insightful)
Cloud computing is a buzzword. Big server farms are may be dull, but it's a tried and tested technology that works. Ask Google.
Re:Build a scalable system (Score:4, Insightful)
This is exactly wrong. The acquisition costs of servers is the smallest portion of operating a reliable online service. Redundant bandwidth, generator power, cooling infrastructure, and staff time are much costlier problems to solve, and represent the vast majority of expense over 3+ years. Not to mention developing the software infrastructure needed to manage high-availability scale-out applications (especially at the database tier).
We just built a new datacenter, and server hardware was less than 6% of the total project budget. The OP should probably be looking at two or more virutal colocation providers, prefereably built on the same virtual machine platform to make failover and redundancy easier. Leave the details of supporting server hardware to the colocation provider.
If the OP is actually going to build two or more datacenters and host his own servers (not advisable for a startup), paying Dell/HP/whomever a bit extra for 4-hour warranty service will be much cheaper in the long run than managing a bunch of white-box frankenservers whose parts become unavailable after 6 months.
Parent
Stallman: "Cloud computing is a trap" (Score:5, Informative)
Re: (Score:3, Insightful)
Wow, he's not taking his meds today. Gmail is a trap? How? It offers email that you can access with IMAP. Keep a copy and you can just switch later down the road - even run IMAP locally.
I also don't understand his mantra of "keeping information in your own hands". I'd contend that some of these big outfits know more about security and reliability than it might be possible to afford as a little guy. So long as the solution is relatively standard and portable across providers, I don't see an issue.
If you use a proprietary program or somebody else's web server, you're defenceless. You're putty in the hands of whoever developed that software."
See, that's
PHB alert (Score:2)
(We're providing a series of Web services, assets, and Web applications to users of our mobil
This guy has the PHB manual talking points inserted rectally so hard it's still coming out of his mouth. I can't even take people seriously when they talk like this. Probably why I live in my Mom's basement instead of having a corporate job and a girlfriend.
Execs? (Score:2)
Did anyone else read the title "Sending Execs To The Cloud"?
Re:Cloud is over-rated... (Score:5, Funny)
yup, im in slashdot alright...
Parent
Re: (Score:2)
Did you read the question? Just curious...
Re: (Score:2)
Yes I did, but what does he think he's going to accomplish by shifting the service into the cloud, why not just have backup servers in many datacenters? What exactly is the difference?
Re:Cloud is over-rated... (Score:4, Insightful)
Have you tried managing racks worth of servers in many locations?
That said, most cloud services today ARE very expensive. EC2, for example, can be trivially beaten with managed hosting, and in some cases totally crushed by maintaining your own servers.
What cloud services give you (and you pay through the nose for) is the ability to scale quickly. Trouble is, most people never need to scale that quickly.
Using clouds for "overflow" from a cheaper base setup is not a new idea, and it's definitively a good one. Particularly since it allows you to cut it a lot closer with your base setup. Without overflow capacity elsewhere, you need enough extra capacity in your base setup to handle reasonable growth plus any spikes. With overflow capacity using a cloud service, you only need to handle enough of your daily traffic that whatever you end up using of the overflow capacity is cheaper than adding more servers to your base. As soon as it isn't, you add more servers.
Parent
Re: (Score:3, Insightful)
I call myth. Cloud providers benefit heavily from economies of scale which is something that you as a little startup simply can't. On Amazon you can run a "midrange" server (i.e. ec2 large-instance) with plenty of traffic and a few hundred gigs of persistent storage for roughly $350/month. That is pretty close the amount th
Re: (Score:2)
It actually has a reasonable definition.
The point of "the cloud" is:
Data availability - You can get to it from anywhere. It's on the web, or it's accessible via some sort of network call using a standard protocol.
Data portability - You can move it from one location to another...including a local machine or another node in the "cloud". (Gmail provides IMAP access, for example...a standard protocol, allowing you to use your data in ways Google never thought of.)
Resource expandability/shrinkability - You can
Re: (Score:2)
Right , so in other words its a catch all term for remote computing. So why not call it , oh , I dunno , "remote computing"? A term thats been around since someone came up with the idea of RPCs.
Re: (Score:2)
"Right , so in other words its a catch all term for remote computing."
Does "remote computing" connote any of the qualities I mentioned? I never thought it did...and I've been using "remote computing" in the form of VNC, remote desktop, ssh, etc. for a decade or more. I never had an expectation any of those qualities applied to any of those services.
Re: (Score:2)
If using a remote machine for some sort of computing services , be it data processing or display, isn't remote computing then what would you call it? Fluffy clouding? Dress it up all you want but ultimately all this "cloud" crap is just accessing data and/or services from a remote machine. Which has been done for decades.
Re: (Score:2)
Sorry the term pisses you off so. I view it as nothing more than a convenient term to cover a set of concepts. I don't think we're in agreement on what it means, however, and I can see how you'd find it irritating to use a new term for something that seems like an old concept to you.
I promise I'll never force you to use the term "cloud computing". But, to say that it's the same as "remote computing" is to say, "I don't know what one of these two terms means". Cloud computing (or whatever you want to cal
Re: (Score:3, Insightful)
Data availability - Data replication across multiple sites. Not new.
Data portability - How is this new. And please don't try to pretend that the use of IMAP by GMail is in any way innovative.
Resource expandability/shrinkability - This just isn't available outside of the mainframe world. Unless you've written software for some sort of funky cluster thing (unlikely) then the cloud is something like VMWare ESX, and the maximum expansion you're ever going to get is to the size/capabilities of a single one of th
Re: (Score:2)
I didn't claim any single one of those qualities is new...the point is that the term (like the term AJAX) is a concise way of describing a set of qualities that previously existed.
And, if you believe resource expandability/shrinkability is only available in mainframes, I'd humbly suggest you look at Xen on Linux and Zones on Solaris. Note I didn't say this up/down sizing had to be infinite, or across multiple machines...and, of course, mainframes do not provide infinite sizing, either. It merely needs to
Re: (Score:2)
Sounds pretty cool. It seems that Mosix relies on multi-process programming to acheive scalability for any particular application. That's fine (there are lots of ways of doing it and distributed/parallel programming is not as hard as people make out), but it's not the sort of magic that the cloud seems to be touting.
Re: (Score:2, Offtopic)
It's my sig. Since when is an off-topic signature a problem?
Re: (Score:2)
Oh, yeah, thanks for the heads up about the error.
Re: (Score:2)
Because its something different?
"Cloud" is more like a giant cluster of VMs which you can turn on and of node by node at will. And best of all: you only pay for the running time. No investemnts up front for hardware.
It isnt the internet just because you use the internet to connect to it.
Your Beowulf cluster in your basement isnt your LAN either.
Re: (Score:3, Informative)