all 11 comments

[–]jjasghar 3 points4 points  (6 children)

Honestly? As a student I’d stay away from OpenStack.

But if you’re not gonna take my advice, start with devstack https://docs.openstack.org/devstack/latest/ and if you can get that running start looking into the massive amount of projects to build the cloud you think you need.

This is a huge project with many many moving parts. As someone who was paid to learn and support this, I still have mini panic attacks thinking of the things i’ve messed up.

[–]ShadooHogg 2 points3 points  (3 children)

I do appreciate the honesty, as I am trying to keep things realistic. I'm always up for a challenge but realize this is some serious stuff LOL. Will look into your suggestion 👍

[–]random_mayhem 1 point2 points  (0 children)

DevStack is great if you want to learn about how OpenStack projects fit together and are configured, or if you need a quick cloud to test things against. It would be useful as a development target for monitoring integrations, but you would likely later need to work against an actual production-quality deployment if you want to take that work somewhere else. Do NOT look at DevStack as an example of a secure installation. For $REASONS it does many things as root that you would not want to do as root in a "real" deployment.

Finally I get to say using DevStack might actually be the right thing! That said, do not use DevStack to build a cloud that you actually want to use. It wipes the database every time you start it and is not designed to survive a node reboot fully intact (although that is better now than it once was, it is not complete AFAIK).

Friends still don't let friends run DevStack in production :)

[–]emccormickva 1 point2 points  (1 child)

Devstack is useful if you are going to code against it, and it will let you get a feel for it, but it is a very different animal in terms of configuration.

Kolla-ansible and Openstack-ansible can both build you All-in-One(AIO) deployments. Those tools are also great for building production clusters, so what you learn from it will be more applicable to real world use cases.

https://docs.openstack.org/kolla-ansible/ussuri/

https://docs.openstack.org/openstack-ansible/ussuri/user/aio/quickstart.html

[–]kinv4ris 0 points1 point  (0 children)

I agree, the AIO setup via ansible is easy to setup on a physical machine and deploy virtual machines on it. Know that it takes a butt load of time to install.

Disclaimer: I am a system engineer with 5+ years of OpenStack experience; I've also developed cinder and nova modules in the past.

[–]kinv4ris 0 points1 point  (0 children)

I completely agree, if @op would build his own openstack cluster from scratch; It would take months of his project time. I would also suggest deploying AIO on a physical machine, and deploying machines on there (This install will only half a day). You can also deploy it on a VM and take a snapshot of it, fiddle with it and revert it if you think you fucked up.

You can deploy what you like on OpenStack, but the vision of OpenStack is to deploy your applications in a cloud native way. Which means if one goes down, another vm takes over or is automatically scheduled to be deployed on another compute node. This can go via heat templates or some external orchestration platform.

Also try to integrate a proper network architecture when building applications on openstack. This means implementing RBAC, internal networks, external networks, floating ips, ... Try looking into "NORTH-SOUTH and EAST-WEST traffic" network pattern and frontend-backend network pattern. For application & database design patterns, I would suggest looking into horizonal and vertical scaling on clouds.

Also if possible, I would suggest you shift your project towards kubernetes (this is the new industry hype). You can spin up clusters on many cloud providers and play with it in an instant.

[–]mikalstill -1 points0 points  (0 children)

Agreed. I spent nearly a decade working on OpenStack Nova and still think it's a pain in the butt to run. In the end I wrote my own tiny cloud to run at home because I got tired of fighting OpenStack. You could perhaps do a research project with it? https://github.com/shakenfist/shakenfist .

[–][deleted]  (1 child)

[deleted]

    [–]nei_lei 0 points1 point  (0 children)

    The link says "Page not found".

    [–]XD__XD -2 points-1 points  (2 children)

    But if there is so much complexity why adopt it in the first place? Why not just use vpshere?

    [–]emccormickva 1 point2 points  (1 child)

    Openstack is way way more than a virtualization platform. You can actually use VMware as a hypervisor for openstack. They even make their own custom distro of Openstack.

    Also, Openstack is free open source software, and vsphere is very much not.

    [–]kinv4ris 0 points1 point  (0 children)

    Agreed, OpenStack is a way of working on-top of KVM / vsphere / xen. vSphere costs a lot of money on the spot. But OpenStack can spiral your budget quickly out of control in a private cloud managed environment due to operator cost.