Results 1 to 21 of 21

Thread: "Scaling"

  1. #1

    "Scaling"

    I'm reading up on clouds, the infrastructure, design, etc. but im a little confused on the "scaling" part of it.

    In example, and in simplistic terms, if I have 2 servers each with 128 megs of ram within my cloud and I have one client who has purchased 128 megs of RAM for just one of his hugemongous VM's using all resources on one of the servers, and then decides to "scale" to use more ram, say 256MB, how is it possible that his VM can use the extra ram when its on a completly different server?

    I use RAM as just an example, but any resource for that matter whether is disk space, ram, etc. still applies for the question.

    Im am absolutely sure im misunderstanding the concept. I'm reading through a book, and thought i'd ask this while it was fresh on my mind.

  2. #2
    Join Date
    Jan 2011
    Location
    UK
    Posts
    776
    Quote Originally Posted by saki2fifty View Post
    I'm reading up on clouds, the infrastructure, design, etc. but im a little confused on the "scaling" part of it.

    In example, and in simplistic terms, if I have 2 servers each with 128 megs of ram within my cloud and I have one client who has purchased 128 megs of RAM for just one of his hugemongous VM's using all resources on one of the servers, and then decides to "scale" to use more ram, say 256MB, how is it possible that his VM can use the extra ram when its on a completly different server?

    I use RAM as just an example, but any resource for that matter whether is disk space, ram, etc. still applies for the question.

    Im am absolutely sure im misunderstanding the concept. I'm reading through a book, and thought i'd ask this while it was fresh on my mind.
    It's not possible and you have understood it just fine!

    You'll hear about vertical and horizontal scaling, vertical being eg adding RAM to an instance, horizontal being adding more instances. The vertical scaling of the RAM is limited to the amount available to the VM in the machine it's running on. Same to the number of CPUs being limited to the cores in the machine. The same architectural principles for scaling apply to cloud servers as physical ones, once you go beyond individual server limits.

    Incidentally one aspect this won't apply to in any 'real' cloud (I know, sorry.....) is the disk space - 'real' clouds use shared storage rather than the in-server disks.
    Advania Thor Data Centre Iceland - www.thordc.com
    High Spec Colocation and Dedicated Servers, powered by cheap, abundant and 100% renewable energy.
    Enterprise grade hosting, ISO27001 accredited for security, and all at fantastic pricing.

    brian.rae@thordc.com

  3. #3
    Quote Originally Posted by saki2fifty View Post
    I have 2 servers each with 128 megs of ram within my cloud and I have one client who has purchased 128 megs of RAM for just one of his hugemongous VM's using all resources on one of the servers, and then decides to "scale" to use more ram, say 256MB
    I actually meant Gigs of RAM but the question still applies whether its gigs or other.

  4. #4
    Join Date
    Mar 2012
    Posts
    162
    Some cloud hosts can support live migrations, which means moving a VM to another host without stopping it - essentially no downtime. This is only possible with network storage. The guest OS cannot see memory that is added without a reboot, but it is possible to allocate more memory than a single host actually has, and memory ballooning let's the guest VM see all the memory even though it is consumed and unavailable until the guest moves.

  5. #5
    I just looked up what you just mentioned regarding Vertical / Horizontal scaling, and it describes it in much the same way.

    Incidentally one aspect this won't apply to in any 'real' cloud (I know, sorry.....) is the disk space - 'real' clouds use shared storage rather than the in-server disks.
    I'm looking at examples of a cloud infrastructure, and it looks like you have a couple of options. One is having a dedicated storage server, which I guess is what you are referring to and will limit its IO (??) because now it travelling over wire (??), and the other way (at least with CloudStack) is to define storage locally to the management server itself, which could use the HDD's full potential, maybe? Other than the disk IO and a complex setup, I dont see why you wouldn't use a cloud.

    I just bought 4 cheap laptops and setting it up as a cloud for testing to educate myself... I know, I could do the same with some VM's but they were cheap.

  6. #6
    saki, on ebay i buy 6 server erally cheap i spense almost 3000$ but i buy for enterprise server in 300$ reallys server with dual xeon, ecc memori and more features. why u dont see that option? is more reliable than this laptop.. because server have full integration vmx.. laptop not...

  7. #7
    Join Date
    Jan 2011
    Location
    UK
    Posts
    776
    Quote Originally Posted by saki2fifty View Post
    I'm looking at examples of a cloud infrastructure, and it looks like you have a couple of options. One is having a dedicated storage server, which I guess is what you are referring to and will limit its IO (??) because now it travelling over wire (??), and the other way (at least with CloudStack) is to define storage locally to the management server itself, which could use the HDD's full potential, maybe? Other than the disk IO and a complex setup, I dont see why you wouldn't use a cloud.
    I really meant a SAN rather than a storage server, but in principle the it's the same, just bigger, faster and more reliable. You're right that the shared nature of such storage is often the limiting performance factor of cloud services, similar to the fact that the disk i/o is often the limiting factor for a single virtualised server hosting VPSs. You can indeed use local HDD storage (which will be cheaper) but you lose the resilience which shared storage gives you and to me is one of the most attractive things about cloud.

    I just bought 4 cheap laptops and setting it up as a cloud for testing to educate myself... I know, I could do the same with some VM's but they were cheap.
    Have fun!
    Advania Thor Data Centre Iceland - www.thordc.com
    High Spec Colocation and Dedicated Servers, powered by cheap, abundant and 100% renewable energy.
    Enterprise grade hosting, ISO27001 accredited for security, and all at fantastic pricing.

    brian.rae@thordc.com

  8. #8
    Quote Originally Posted by Brian_R View Post
    I really meant a SAN rather than a storage server, but in principle the it's the same, just bigger, faster and more reliable. You're right that the shared nature of such storage is often the limiting performance factor of cloud services, similar to the fact that the disk i/o is often the limiting factor for a single virtualised server hosting VPSs. You can indeed use local HDD storage (which will be cheaper) but you lose the resilience which shared storage gives you and to me is one of the most attractive things about cloud.



    Have fun!
    Definitely agree with you. A "cloud" with on-disk non-shared storage is just an expensive VPS, nothing more. Cloud only gets interesting when you can move your installation easily from one node to another, which requires shared storage of some form or another.
    IOFLOOD.com -- We Love Servers
    Phoenix, AZ Dedicated Servers in under an hour
    ★ Ryzen 9: 7950x3D ★ Dual E5-2680v4 Xeon ★
    Contact Us: sales@ioflood.com

  9. #9
    Are we talking about Cloud spun servers or physical dedicated servers and scaling these? It seems as maybe the OP's lead off was hinting towards them looking at the two examples as physical hard disks. Cloud scaling works on a massive pooling of pure database(s) driven resources harnessed into one singular massive instance (going long here) and virtual servers instances and other services are chunked off as needed or requested, and via templates are dished out as pre determined configurations based upon allocated ram and disk space requested.

    Essentially the same, but not, as how some disk partitioners will allow you the ability to re-size a partition which takes up only half the space of an entire physical disk while the disk is in use, vise versa if the partition covers the entire disk but only contains data on 50% of the disk.

    Leaving out aspects of virtual memory and further pooling of resources via networking, maybe Cloud load balancing is what the OP is hinting towards?
    Last edited by VaporCreations; 05-06-2012 at 06:07 PM.
    You Can't Always Get What You Want
    Mick Jagger, Rolling Stones: 1969~Let It Bleed
    Cloud to Web Development Design & Deployment and of course, hosting of Cloud services:
    VaporCreations.com

  10. #10
    Quote Originally Posted by VaporCreations View Post
    Are we talking about Cloud spun servers or physical dedicated servers and scaling these? It seems as maybe the OP's lead off was hinting towards them looking at the two examples as physical hard disks. Cloud scaling works on a massive pooling of pure database(s) driven resources harnessed into one singular massive instance (going long here) and virtual servers instances and other services are chunked off as needed or requested, and via templates are dished out as pre determined configurations based upon allocated ram and disk space requested.

    Essentially the same, but not, as how some disk partitioners will allow you the ability to re-size a partition which takes up only half the space of an entire physical disk while the disk is in use, vise versa if the partition covers the entire disk but only contains data on 50% of the disk.

    Leaving out aspects of virtual memory and further pooling of resources via networking, maybe Cloud load balancing is what the OP is hinting towards?
    Disk is always easier to scale than ram / cpu. I'm not aware of any cloud implementation that allows one operating system to operate, transparent to the software running on that OS, as though the resources of multiple servers are actually part of one physical device. So long as that limitation exists, there will be a limit to scaling in the cloud in the way in which the OP is asking about. I.E. sure you can scale your 1gb cloud node up to 72gb and 12 cores, but because that's the entire size of the largest physical server the cloud operator happens to offer, to scale past that you must scale in exactly the same way as if you had multiple physical servers: split up the workload across two separate machines, running two separate OS's, and make sure some software is in place that the data each server needs is accessible and in sync with all of the other servers, and that tasks and workloads are split in an even and efficient manner. For some workloads scaling out to multiple machines is trivially easy, and for others, nearly impossible. More common are situations somewhere in the middle, where you can, without a terrible amount of effort, scale to a handful of machines, but certainly not automatically and certainly not without having considered how exactly you plan to physically do the scaling.
    IOFLOOD.com -- We Love Servers
    Phoenix, AZ Dedicated Servers in under an hour
    ★ Ryzen 9: 7950x3D ★ Dual E5-2680v4 Xeon ★
    Contact Us: sales@ioflood.com

  11. #11
    Ahhh, 10-4. I get what it is that this thread was getting at. Yes.

    Yep, you can only split the cookie up so many times and datacenters providing on a Cloud based level can have only so many reserves to back up the reserves that backup the core.


    I'm not aware of any cloud implementation that allows one operating system to operate, transparent to the software running on that OS, as though the resources of multiple servers are actually part of one physical device.
    Although in someways it has to be considered an operating system, but I recall stateless computing being the term of choice which best describes what occurs in a Cloud data center.

    An environment where a virtual node is compared to deflated balloon and filling this balloon to various sizes serves some widget of a purpose. This node balloon can be filled with either helium, oxygen, acetylene or what ever (referencing to flavors of OS's). If you only need your balloon filled so much, let's say half, then you still have room to scale it up or down. Once the balloon serves its purpose it can then be deflated for use later, but all the while this balloon has a point which it will burst if filled too full. Bad I know.

    Rest assured that a mortal man will never have sole access to the entire bag of balloons. Although that would cool just to clock and watch some assume 3/d renderings, but thanks to the efforts of Google and the PCI Data Security Standard regular guys and gals will only have access to those balloons that were made thick and hard to fill.
    Last edited by VaporCreations; 05-07-2012 at 01:39 AM.
    You Can't Always Get What You Want
    Mick Jagger, Rolling Stones: 1969~Let It Bleed
    Cloud to Web Development Design & Deployment and of course, hosting of Cloud services:
    VaporCreations.com

  12. #12
    good explain with balloon xD... but remember, 1 room can get another room toghter.. i explain i have 1 house, 1 room are for multiple ballons or 1 ballons alone, but sometime can make more and more bigger and need another room.. but need to move or another big room, or create another room, but never expand over your house. i explain?

    house (server)
    room ( virtual machine)

    btw i can copy your explain to my web page? i love it!

  13. #13
    Join Date
    Jan 2011
    Location
    Canada
    Posts
    938
    Quote Originally Posted by funkywizard View Post
    Definitely agree with you. A "cloud" with on-disk non-shared storage is just an expensive VPS, nothing more. Cloud only gets interesting when you can move your installation easily from one node to another, which requires shared storage of some form or another.
    Rackspace had a odd one in terms of scaling. Normally, I wouldn't call their disk 'shared', but once you start a scale, it starts a replication job at the block level. While things are written to the live node, they too get replicated. When the job is done, the two are are swapped and you can accept or revert.

    From the provisioning aspect, I still call them a cloud. But I know most people here would rather call it just a VPS because of its topology.

  14. #14
    Join Date
    Apr 2002
    Location
    Seattle, WA
    Posts
    955
    Generally speaking, life becomes a little easier when you can scale out and not scale up. It's application dependent of course, but once you hit it, it's a good thing.

    That's the true "win" in cloud, is when you stop caring about any single server, because you're scaled out across a bunch of generic instances.
    I <3 Linux Clusters

  15. #15
    Join Date
    May 2006
    Location
    San Francisco
    Posts
    7,325
    Quote Originally Posted by x86brandon View Post
    That's the true "win" in cloud, is when you stop caring about any single server, because you're scaled out across a bunch of generic instances.
    Precisely... and that's how you get real abstraction of the technology layer.

  16. #16
    Join Date
    Apr 2002
    Location
    Seattle, WA
    Posts
    955
    Write once, deploy anywhere.
    I <3 Linux Clusters

  17. #17
    Quote Originally Posted by x86brandon View Post
    Generally speaking, life becomes a little easier when you can scale out and not scale up. It's application dependent of course, but once you hit it, it's a good thing.

    That's the true "win" in cloud, is when you stop caring about any single server, because you're scaled out across a bunch of generic instances.
    That's certainly true, but that's like saying climbing a mountain becomes easy once you've reached the summit. Technically true, but meaningless. Horizontal scaling is simply out of reach for the average website for very good technical reasons and so cloud is irrelevant from the horizontal scaling point of view except for those projects with a savvy dedicated technical staff. Luckily at the same time, the average website will never need more than a single server if they don't want it. We've got a website that is highly processor intensive and also has nearly a million uniques a day and 10 million pageviews and although we solved the horizontal scaling here, if cost weren't an issue, servers are becoming so powerful that we could conceivably run the entire site from a single beefy server if we wanted to. Horizontal scaling is a big selling point for cloud, but to be honest, is the least interesting and overhyped feature.

  18. #18
    Join Date
    Apr 2002
    Location
    Seattle, WA
    Posts
    955
    The smaller sites can benefit from PaaS stuff like Cloud Foundry. If all you want is an "always on" big box, then you are just looking for standard virtualization, stuff VMware and others have been doing for 10 years, not a cloud.
    I <3 Linux Clusters

  19. #19
    Join Date
    Jan 2011
    Location
    UK
    Posts
    776
    Quote Originally Posted by funkywizard View Post
    ...Horizontal scaling is a big selling point for cloud, but to be honest, is the least interesting and overhyped feature.
    Horizontal scaling is hard, that's why people don't generally do it until/unless they have to. Horizontal scaling on cloud isn't functionally any different or easier than on physical servers, it's the same architectural issues blocking the horizontal expansion. But if you do solve the functional problems, then it does provide a quicker response when you need to double/3x/4x your front-end processing in a hurry. That, I would say, is the only way cloud really makes it easier.
    Advania Thor Data Centre Iceland - www.thordc.com
    High Spec Colocation and Dedicated Servers, powered by cheap, abundant and 100% renewable energy.
    Enterprise grade hosting, ISO27001 accredited for security, and all at fantastic pricing.

    brian.rae@thordc.com

  20. #20
    Quote Originally Posted by Brian_R View Post
    Horizontal scaling is hard, that's why people don't generally do it until/unless they have to. Horizontal scaling on cloud isn't functionally any different or easier than on physical servers, it's the same architectural issues blocking the horizontal expansion. But if you do solve the functional problems, then it does provide a quicker response when you need to double/3x/4x your front-end processing in a hurry. That, I would say, is the only way cloud really makes it easier.
    Completely agree. Few sites need to scale faster than you can rent more dedicated servers, and dedicated servers offer 3x the bang / buck as cloud. Cloud has plenty of advantages but the horizontal scaling advantage, there's few sites that would need what cloud brings to the table there, which is far less than many assume. Shared and scalable storage is a far more interesting and useful advantage for cloud as it enables failover and HA.

  21. #21
    Join Date
    Jan 2011
    Location
    Canada
    Posts
    938
    Quote Originally Posted by Brian_R View Post
    But if you do solve the functional problems, then it does provide a quicker response when you need to double/3x/4x your front-end processing in a hurry. That, I would say, is the only way cloud really makes it easier.
    I think we're on the same page about horizontal scaling being hard. I just want to point out that front-end processing for most part is a very nicely formed problem.

    Outside of that, I'm not even convinced the functional problems for horizontal scaling have been solved in any reasonable degree without a lot of design tradeoffs. I trade single-server reliability problems for network splits and other associated 'fun'. If given the choice, I'd rather get one single beefy machine to house something like a DB than hundreds of AWS small instances.

Similar Threads

  1. Replies: 0
    Last Post: 01-06-2012, 11:33 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •