Linux - GeneralThis Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I have read several articles online trying to get a grasp and understand on a simple question. What is main difference and functions of cloud server infrastructure and cluster server infrastructure (If I am using wrong terminology please correct me).
To my understanding, the basic setup is sort of identical. They both have a master server (ex: 3 GHz, 2GB RAM, 50GB HDD); and from there it connects to a switch, then a number of nodes (each 2 GHZ, 4 GB RAM, 100GB HDD) connect to that switch.
The cluster combines node resources so it looks like one massive powerful computer (ex: 5 nodes = 2GHZ x 5, 4GB x 5, 100GB x 5 = 10GHZ, 20GB RAM, 500GB HDD). If this is correct, this sounds good for possibly Database or File server. The resources on cluster would be constant. Example would be while running DB server, it starts to slow down because of all the data it is trying to store and retrieve. If you need more resources, just add another node.
The cloud uses only resources it needs to run (ex: same numbers as cluster example). This is good for Web Server. Example: Web server is hosting 10 domains each with 20 pages. One hour it uses 2 GHZ and 8 GB RAM, next hour it is getting heavy traffic so it uses 9 GHZ, 15GB RAM. Again, it only uses resources it needs.
Please correct me if my way of explaining or thinking is wrong. But from what I have gathered and read, this is how I am interpreting the information and understanding it. Plain and simple.
Thanks.
PS..Oh, and the numbers are just examples. I know they are not the minimum, but for the sake of this explanation I just used simple numbers to help explain and understand myself better.
Nice question!As far as my knowledge is concerned you can't compare both.It just depends on how we configure them and it could be the same.
If you configure a cluster as load-balanced or as fail-over it really makes no difference.
The idea of a Cloud is, You have a few racks of servers and a few racks of SAN storage.
All you know is you have a Linux/Unix server in there.
You are not sure what server is running it's processes,you are not sure what disk groups it's sitting on. you can find out, but tomorrow it might have moved to another part of the server cluster.
So you can configure a cloud to host many domain websites online, or just a massive file server. Since cluster can be configured for load-balancing, you can use it to process and manage database calculations and update tables. These are the few examples I can think of because I want to to learn, understand, and get some hands on experience on both systems.
The term "cluster" refers to a multi-server environment (aka cloud hosting or grid hosting), which allows the server administrator to distribute the resources of every server across the "cluster" for a single complex process.
Last edited by Matir; 11-18-2010 at 07:58 PM.
Reason: No thanks for spam
I think some of you are confused about some of the terms your are tossing about. From my understanding a cluster such as a beowulf cluster is made of of several nodes and one node controller. I'm not sure that you would consider these servers or host. being that the cluster is logically a single computing unit. In addition to this if you had a cluster with 5 nodes each with a 2ghz processor i'm not sure you would attribute it as having a 10ghz processor being that the cycles per second in not multiplicative. it would be more accurate to speak in terms or processing capacity such as MFLOPS. if you had one processor node that was capable of 16 MFLOPS and you put 5 of them together than you would have a processing unit capable of 85 MFLOPS.
Aside from that I think the difference between a cluster and a cloud is simply an attribute of market perspective. If you are a consumer than it would be a cloud. As a consumer you don't care about the configuration and makeup of what the cloud is or how it is implemented, you only care about the availability. As an implementer however it's your job to be concerned with the cloud as a hardware software platform. When discussing it from this perspective the differences become clear. A cloud is a service that consumers use. A cloud I assume can be implemented in several ways depending on the services provided. if you offered services like web hosting and file backup, you could use a more traditional web service architecture by assigning one or several users to a single server and managing RADIUS logins. There are other implementations of clouds such as a gaming platform. In this case you would have a far different setup that would include user end software and server sides software the would provide a link between the end user and the gaming environment such as a PS3 or XBox360. With the actual gaming taking place on the console hardware and the audio video data streaming out to the user while the controller input is streamed to the console. As you can see the cloud is a definition that can be vastly different in hardware implementation where as a a cluster is kind of narrowly defined.
hope this helps.
a few other notes about a cluster. you wouldn't want to simply hook each node to a switch and let it go at that a better method is to have a mesh network where each node has direct data transmission with each of the other nodes. a switched network being a star topology will cause a bottle neck restricting the speed of your computer to the speed of the switch. using a mesh topology is way better in performance.
I recently thought of a simple way to implement a high performance mesh. Each node would have a gigabit switch with two 10GB fiber trunk ports connecting to the node and the 1GB ports on the switch would connect directly to all of the switches of each of the other nodes. It wouldn't be too much truble to set up a 47 node cluster in this way. 47 because you would have to reserve one of the port on the 48 port switch to interface with the node controller. To implement a larger cluster such as 95 nodes would require some different planning. This dosen't address the physical contraints either. Imagine how many racks that 95 servers would use and how you would manage to connect all of them together.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.