|
|
|
|
|
by adrianhoward
5015 days ago
|
|
Because being able to have a copy of the deployment environment - especially one that you can build, deploy and test automatically, is stupidly useful. It's not being able to have a linux machine. It's being able to have one that you can build, throw away, test different deploy strategies on, etc. etc. Suddenly you have all the developers dealing with deployment problems as soon as they occur - cutting that loooooong feedback loop to minutes saving everybody time, pain and money. TL;DR - coz it's a good thing :-) |
|
lxc-create -n [some name] -t ubuntu
Then:
lxc-start -n [some name]
to start it and get the console (or tack on "-d" to run it in the background)
Ubuntu by default starts dnsmasq to serve up local dns results for vm's, so you can ssh to them, and setting up a tunnel for external access is easy.
LXC also works fine on Debian, though the experience isn't quite as polished.
Otherwise, you can use KVM, Qemu, Virtualbox, Vmware, Xen, OpenVz and more. In all cases, you can use the same deployment tools: Build .deb's and set up a local APT repo (just a directory you run dpkg-scanpackages over), or use Sprinkle or use Chef or Puppet or half a dozen other tools. Use buy into Ubuntu's orchestration tools (in particular Juju,which supports direct deployment onto LXC locally, OpenStack or EC2 for now)
In other words, putting your environments on a Linux box doesn't remove the ability to have copies of the deployment environment or building, deploying or testing automatically - it adds a massive number of additional options for how to do it. In particular, it lets you do it in ways that translates directly to private or public Linux based cloud solutions.