Private cloud for web development... how?

Notice: Page may contain affiliate links for which we may earn a small commission through services like Amazon Affiliates or Skimlinks.

spyrule

Active Member
Hey guys,

Ok, I recently completed my VCP certification, and I want to start to expand my cloud skills. As a learning situation, I've offered to setup a simple web development lab for a friend (who doesn't know hardware very well).
I'm looking at this as an opportunity to gain skills in this market (I'm currently unemployed, so any additional skills is a good thing).

Can someone point me in a direction of a tutorial/documentation on how to setup a small private cloud lab. I'm hoping to set it up so that we can generate a new web-server host from a template, and have it populated with minimal post-template updates required (were testing several plugins for Magento 2.0 and want to test compliance, etc).

So far we have a Dell C1100 which is currently setup with ESXi 5.5, and in a few weeks we'll have an older PE2950 running as a NAS (it will operate as dual-duty storage for the ESXi and as an actual NAS for other content).

So, I'd prefer an option that works with ESXi 5.5 (I can standup a vcenter install if I need too).

Other suggestions are welcome as well. The more pointers here, the better.
 

spyrule

Active Member
I know what LAMP is, I'm trying to setup essentially a Dev cloud though. Where I can build a LAMP based template (most likely ubuntu/CentOS based). What I'm looking to learn to do is how to provision and then deploy that template via a web-interface (or other request) so that within a short period of time that Dev VM is ready to be used as testing. Luckily, I don't need to build these VMs for internet use, it would be Intranet only, so I'm less concerned with deploying public DNS and whatnot. An internal IP is perfectly fine (via DHCP likely).
 

TuxDude

Well-Known Member
Sep 17, 2011
616
338
63
I've been playing around with TheForeman a bunch lately - it can probably do what you need. It can manage a VMware back-end (vCenter might be required), automatically provision VMs, and be a nice GUI for puppet to push down any/all other software/configuration that you need on the VMs to turn them into LAMP boxes or anything else. Or look to Katello (built on top of Foreman) if you also want to integrate patch management, local RPM and puppet repositories, etc.

Foreman

Katello
 
  • Like
Reactions: whitey

nry

Active Member
Feb 22, 2013
312
61
28
I currently use Chef to provision boxes which sets the server environment, users, groups and any web directories. Providing me a kind of blank box to install my PHP based web apps on. (I do actually create a template of this in VMware as it's significantly quicker to clone from a template than install the packages every time!)

I'll then deploy the actual application to the box using Capistrano, I find this much more appropriate for application deploys than the Chef deploy command, mainly as deploys with Chef were around 8 minutes and Capistrano about 30-40 seconds!

Might be worth taking a look at Packer (Packer by HashiCorp) which I believe will create VMs on ESXi, run Chef scripts and anything else you need!

I personally use Knife solo (provision a single server with Chef) most of the time. knife-solo
 

Chuckleb

Moderator
Mar 5, 2013
1,017
331
83
Minnesota
There is also the realm of Docker containers which are nice. My team uses that fit much work and Ansible for configs.
 

Blinky 42

Active Member
Aug 6, 2015
615
232
43
48
PA, USA
The web dev folks we have been working with of late are using Puppet & Vagrant Vagrant to do local dev an then push the same config up to test/qa environments in EC2. It is a decent idea, and works better than our past experience with docker which seemed like a good idea but had a lot of issues in practice.
 

Mech

New Member
Dec 8, 2015
22
11
3
55
I like Foreman as well - it makes it really easy to reconfigure metal. Cobbler is nice too - but Foreman seems to have the 'momentum'.

You got lots of good answers for your immediate question, so I'm just gonna chime in on the 'learning cloud stuff' aspect...

I'd also look at CEPH and CoreOS ... and at least one configuration management system.
Personally, I feel the 'service discovery' model that CoreOS/etcd promote is going to get big FAST.
CEPH is probably the standard for scalable distributed storage ATM.
Configuration mgmt isn't my strong suit - but the current leaders are Puppet/Chef, with Saltstack/Ansible gaining fast.
Finally, Kubernetes/docker is a must - pretty much any cloud environment going up from here on out is going to have to
support both VMs and containers.

Also, it appears SDN (Software Defined Networking) / NFV (Network feature Virtualization) is going to be big. I'd start
with OpenVSwitch then move into stuff like OpenDaylight

btw - my day job is OpenStack/Virtualization, and these are the things I'm learning to be ready for 'the next big thing'.
 
  • Like
Reactions: Marsh