This question will lead you down the right path:
I'll give you a high level overview of what happens when you do this so it's clear to you how the big pieces move. If you follow the link above, what we call "The OpenStack Installer" does everything I'm about to tell you in a nice, more automated way. It lets you pick how you want your networking, and a bunch of other questions that will fit exactly how you want to deploy your cloud. Here's an overview of what's happening:
- MAAS: Metal as a Service, think of this as an API for all your hardware, if you "want a machine with X cores and X amount of disks and this kind of networking" then you ask MAAS. MAAS registers all your hardware in it's database (you do this by enlisting them into MAAS), and then it kind of just sits there waiting for you. When you ask MAAS for a machine it gets you a machine, you don't need to install Ubuntu Server by hand, it will automatically keep images up to date and fresh for you. It's basically an Ubuntu-serving machine; it of course does more than that, but for now, consider it your broker for hardware.
- Juju: Juju's job is to create what you tell it to model. You say "I want a cloud that looks like this." Number of nodes, which services to put on it, etc. It takes your modelled deployment and then tells MAAS, "go get me these machines so I can make this happen." MAAS then goes and turns on all the machines standing by, installs the OS, and puts whatever you told it to on each machine ... in this case, you are telling it .... give me OpenStack.
- OpenStack is your cloud. Juju will take all of the OpenStack charms and execute that code on each of the nodes MAAS has provisioned. Swift, Nova, etc. These make up the basic components of a cloud, compute, networking, storage, identity, and then all the other things you might want.
Ok. Now here's where it gets like Inception (the movie). Juju's job is to model and orchestrate services. It did so and gave you a cloud, so now you have a cluster but it's empty. So what happens next is you go into your openstack dashboard, and then you can use Juju to deploy all the things you want running on your cloud. Juju doesn't just drive your cloud itself, it also puts what you want on top of your cloud.
At this point, unless you're adding more hardware to your cluster, you can just let the MAAS server sit there and let OpenStack manage your virtual machines and containers for all the CAD, CAM, and CAE software. You can do this by hand, or of course, write Juju charms for all the software that you want to put on your cloud.
The idea (and reason) these tools exist is that while saving you a bunch of time on the initial installation is a really great bonus, it's only a one-time savings, when you're setting up the cloud. By automating the modelling of the CAD, CAM, and CAE software and those workloads after you've done the installation, that's saving time over and over again.