-1

So, please correct me if I am wrong:

I want to build my own cloud computing platform using openstack.

I buy a rack server- https://www.serverstack.in/

I install say 1TB of Hard disk. 30 GB of RAM and the processor is already built in.

I install redhat Linux on this . I install the required software. I use a deploying tool to install Openstack. Open the port it hosts openstack to the public. Is this correct or am I missing something? I understand there is more to billing and stuff in openstack.

If there is more traffic and people want more computing power, how can a dual core CPU balance all of them? Would I require a more costly CPU server stack?

In case I need to expand my deployment, do I simply replicate the whole setup and add an extra entry server which will load balance to each of the openstack deployments?

I know I am confusing a lot of things here.

berndbausch
  • 973
  • 7
  • 11

1 Answers1

1

Before I answer your questions, I am curious what you are planning to achieve, and why you think OpenStack is the right tool to achieve it.

I buy a rack server

You don't run a production OpenStack cloud on a single server. Typically, you need three controllers to ensure high availability, plus as many servers as you need to run your workloads (they are the compute nodes of your cloud).

I install redhat Linux on this . I install the required software. I use a deploying tool to install Openstack.

At a very high level, this is correct. However, there is no easy way to install and configure OpenStack, since there are so many options depending on your datacenter environment. It's very different from inserting a Ubuntu DVD, answering a few questions and ending up with a functioning Linux installation after 20 minutes.

Open the port it hosts openstack to the public. Is this correct or am I missing something?

Networking is the most complex part of a simple OpenStack cloud. It's a bit more than just opening a port.

I understand there is more to billing and stuff in openstack.

OpenStack doesn't have a billing module, although Cloudkitty provides some foundation for billing. You will still have to develop your own solution or use an add-on billing solution.

And yes, there is a lot of "stuff" in OpenStack.

If there is more traffic and people want more computing power, how can a dual core CPU balance all of them? Would I require a more costly CPU server stack?

Your cloud can handle a certain workload. If you see that your workload is too much for your current cloud setup, you add a compute node. Larger installations (starting with 50 or 100 compute nodes perhaps) also may have to add controllers and upgrade their network infrastructure.

In case I need to expand my deployment, do I simply replicate the whole setup and add an extra entry server which will load balance to each of the openstack deployments?

Load Balancing has a very specific meaning, and it's not a suitable term here, but in a way, yes, the OpenStack controllers balance the workload (i.e. virtual machines) over the compute nodes. Adding a compute node is not hard.

In my opinion, the best way to learn about OpenStack is installing it manually. Be warned, it's a steep learning curve, but it's rewarding. When I did it, I was forced to learn a lot about fundamental subjects like networking and open-source culture.

berndbausch
  • 973
  • 7
  • 11
  • That's an awesome read, thanks. I am thoroughly confused on the physical architecture. The fact that swift/glance services are different means that if the physical storage can be on one server/node, while the nova compute itself could be running on other compute node right? One more final question, you said three controllers- that means three servers where-in, one is the controller and two are the computing and storage nodes. The controller is sort of like an entry point, right? – Vishwa Mithra Tatta Feb 13 '21 at 03:02
  • 1
    By three controllers I mean three servers running identical control software and linked together with High Availability solutions like Pacemaker or HAProxy+Keepalived. Controllers should not run workloads. Again, this is for a production installation. Of course, you can install OpenStack on a single server, and it's even very simple to do so (see Microstack, Packstack or Devstack for the easiest methods), but only for educational or proof-of-concept purposes. – berndbausch Feb 13 '21 at 03:07
  • 1
    OpenStack consists of several components that can run on a single server or be distributed. A cloud normally has Keystone, Glance, Nova, Neutron and most probably Cinder. Swift is not required; many installations use Ceph instead of Swift, for example, or no object service at all. Nova and Neutron have components on the controllers and the compute nodes; Keystone, Glance and Cinder run on controllers only (except if you also have separate storage nodes, in which case the Cinder volume service runs on those). It's not that simple, and therefore please use docs.openstack.org to educate yourself. – berndbausch Feb 13 '21 at 03:10
  • so in real world production case, 3 servers which have openstack on them are load balanced by say something like nginx(something I'm familiar with)? Oh...that's why they put up a custom user interface to direct to the right server? – Vishwa Mithra Tatta Feb 13 '21 at 03:13
  • Thanks for the guidance. :) – Vishwa Mithra Tatta Feb 13 '21 at 03:14
  • 1
    A load balancer is one necessary ingredient for a HA setup, but you also need something that detects that a server becomes inaccessible. I am aware of Pacemaker/Corosync as one solution, and HAProxy/Keepalived as another (used in the now-defunct product HPE Helion and SUSE OpenStack). NGINX is probably not the best fit for this. I don't know what you mean by custom user interface - OpenStack does have a dashboard, do you mean that? It has nothing to do with the physical setup. – berndbausch Feb 13 '21 at 03:17
  • My problem is simple- 3 controllers. All have openstack on them. How does it manage and pool the resources? Say a user(not admin), creates a VM through horizon(dashboard). Where is this VM created at? Server 1, server 2 or server 3? Is each server load balanced at login page itself or it is load balanced at VM creation stage? – Vishwa Mithra Tatta Feb 13 '21 at 03:29
  • Let us [continue this discussion in chat](https://chat.stackexchange.com/rooms/119690/discussion-between-berndbausch-and-vishwa-mithra-tatta). – berndbausch Feb 13 '21 at 03:29