DreamCompute newbie - a few questions

I’m new to DreamCompute / Openstack and have some questions (but I’m very familiar with web engineering and unix, fwiw):

1.) What is a good recommended setup for a robust web server environment? Specifically any advice on network topology / load balancing / any benefit to using private networks for anything “internal” such as mysql? Also, any benefits of a certain OS over another (CoreOS, Ubuntu, CentOS, etc)?

2.) Would it be easy enough to essentially duplicate DreamPress2 within DreamCompute (Wordpress, MySQL, PHP7, Varnish, memcached, separate instances for MySQL, etc)? Basically, I plan on moving my WP site over to DC and really like what DreamPress2 has to offer, but I’m curious if it easily duplicated within DC?

3.) What is a good way of setting up a “development environment” version of my production Wordpress setup within DC? I was thinking I might have to clone the instances? Anyone out there done anything like this (ideally with Wordpress)?

4.) Where is there a list of packages available (like Varnish, memcached, etc)?

5.) What is the SFTP server used in Dreamhost shared hosting and can I use it in my DC instances? Any easy / relatively-automated way of setting up a solid SFTP server? (I’ve already set up the security groups, port 22)

6.) What are the performance benefits / drawbacks of having Apache in one instance and mysql in another versus having both in the same one?

7.) Can anyone explain to me if any of these instances are “elastic” in any way? Do they / can they scale with traffic and heavy load? Is it automatic or does it have to be done manually? Can it be done at all? If not, what is the best recommended way of handling load balancing within DC?

8.) Can you dynamically increase the size of the instance without it interrupting the server(s)?

9.) My DC control panel is sloooowwww (every page request takes at least 5-15 seconds). Are my instances going to be slow like this, too? :wink: Otherwise it’s awesome.

Thanks very much.
Told you I was new to this!

Wow… lots of questions, some require a book to answer… and I’ll suggest books below :slight_smile:

Impossible to define this in generic terms, as there are drawbacks and advantages in any approach. Consider though that private networks are not enabled by default in DreamHost Cloud, so maybe that makes things easier :.

And oh my … no, I’m not going to start a discussion around best distribution :slight_smile: The best one is the one you know how to manage.

Pretty easy.

You can start from here:

I’ll give you only one word to get you started with your own searches and learning path: Vagrant…

On your favorite Linux distribution’s site.

No FTP, no SFTP, no please! :slight_smile: DreamHost Cloud is a modern automatic infrastructure and you seem to be willing to learn: make an effort and do things the new, modern way with Vagrant, Ansible… Speaking of ansible, we have written a few articles on how to use it with DreamCompute https://help.dreamhost.com/hc/en-us/search?utf8=✓&query=ansible

you add complexity in your infrastructure and speed issues, but maybe you gain something in elasticity … is it worth it? it depends.

At the moment the instances don’t scale automatically but you can implement rules inside your code to add elasticity…

No, the servers need to be rebooted to change size. The way to scale instances is to create new ones … but the applications need to be designed to make use of such scalability.

Since you seem to be willing to learn, try to use DreamCompute via API and command line client so you’ll never have to wait for a web page to render in your browser :slight_smile: Jokes aside, the virtual machines start in 30 seconds or less…that’s fast.

have fun, ask us more questions as you go on with your experimentation (you can also ask on StackOverflow, tag #dreamhost if you prefer)

Thanks for the quick replies, those are great! I’ll have a look at the resources you provided.