Editing VirtualisationContainerisationSystem
You are currently not logged in.
To change this, fill in the following fields:
Username
Password
Who can read this page?
The World
Members
Council
Admin
You have been granted an edit lock on this page
until Sun May 19 10:46:24 2024.
Press
to finish editing.
Who can edit this page?
... world editing disabled
Members
Council
Admin
[[[>50 While we're here, let's talk about "the cloud". The cynical take is that "the cloud" just means "your code is running on someone else's computers", but there's also a strong implication that the computer running the code you're using is actually a virtual machine, created and destroyed as demand rises and falls. Companies like Amazon and Rackspace will rent you a virtual machine - or a thousand virtual machines! - by the hour, running them on physical hardware somewhere in their datacentres. They take a cut, of course, but the ability to add more servers simply by clicking a button or writing a line of code may well be worth the extra money: this is how Instagram grew so huge with such a small team. ]]] It's also possible for a virtualisation layer to run on top of an operating system; we refer to the OS that's running directly on the hardware as the *host* operating system, and the ones that are running virtually as *guests.* This allows you, for instance, to run a Windows VM on your Mac or Linux development machine, so you can see how your site will look in Internet Explorer (or, as it's known among techies, Internet &#%Ģing Explorer). Examples of virtualisation systems at this level: KVM, Virtualbox, QEMU. Containerisation (also known as "OS-level virtualisation") is similar to virtualisation, but less flexible (you can only run a Linux container on a Linux host), and less resource-intensive - a machine that can only host a few VMs may well be able to host hundreds of containers. They are currently extremely hip, but they require a change of mindset and the industry as a whole hasn't quite got its collective mind around them. Examples: Docker, LXC, BSD jails. Things we then need to look at: * Database(s) * HTTP Server * Compiler/Interpreter * Language runtime