by Andrey Adamovich - Have you ever wished to run production clone on your laptop to find that annoying bug? With decreasing hardware costs and growing hardware performance characteristics it becomes possible. Virtualization tools like VirtualBox come very handy at simulating real OS with real setup. Tools like Vagrant (VirtualBox wrapper) make it even easier. This presentation gives several hands-on demonstrations of Vagrant capabilities and the simplicity of integrating that into your normal development cycle.
7. Multicore
processors
Most of modern processors are multicore
Many of them use advanced techniques to support better parallelism
and resource utilisation (hyperthreading,
caching etc.)
Many of them are optimized for virtualization
••
•
07
8. My laptop
4 cores, 2.9GHz each, 16GB of RAM, 250GB SSD + 250GB HD
During coding, answering emails
etc. hardly half of the cores is used
My mobile phone has as many cores as my laptop
My game console (Wii) is way less powerful than my phone
•••• 08
15. Definition: Cloud
A cloud is a visible mass of liquid droplets or frozen crystals made of
water or various chemicals suspended in the atmosphere above the
surface of a planetary body.
Source: Wikipedia “
15
16. Definition: Cloud computing I
Cloud computing is computing in which large groups of remote servers
are networked to allow centralized data storage and online access to
computer services or resources.
Source: Wikipedia “
16
17. Definition: Cloud computing II
Cloud computing relies on sharing of resources to achieve coherence
and economies of scale, similar to a utility (like the electricity grid) over
a network.
Source: Wikipedia “
17
18. Definition: Cloud computing III
Cloud computing, or in simpler shorthand just "the cloud", also focuses
on maximizing the effectiveness of the shared resources.
Source: Wikipedia “
18
27. VirtualBox
Powerful virtualization product for enterprise as well as home use
It has nice GUI and command line tools with tons of parameters
It is opensource
and free for personal use
••• 27
28. A bit of history
Created by innotek GmbH
Opensourced
in 2007
innotek was acquired by Sun in 2008
Sun was acquired by Oracle in 2010
•••• 28
30. Computing services
Well, it's a virtualization software
Suports x86 and AMD64/Intel64
Supports many operating systems (Windows, Linux, Solaris, MacOS)
••• 30
31. Storage services
Well, it's limited only by physical disk size
The faster the better (SSD?)
•• 31
33. Disk types
Fixedsize
disk file
Slower creation time, faster writes
Dynamically allocated storage file
Faster creation time, slower writes
File size is growing when more disk sectors are written
Defragmenting disk inside guest OS will reduce file size
•
•
•
•••
33
54. How to make an image
Download ISO file with your (favorite) OS
Download VirtualBox guest additions ISO to match VirtualBox
version
Free up local disk space (2x used virtual disk size + ISO size)
Setup
environment variables
Create Packer's JSON configuration
Start Packer build
Go somewhere for 3040
minutes
1.
2.
3.
4.
5.
6.
7.
54
66. Recap: Components of effective IaaS
Virtualized Computing + Storage services
Networking + Security services
OS image library service
Rich API
•••• 66
67. Personal cloud components
Multicore
laptop or desktop computer
VirtualBox (or VMWare) + Vagrant for virtualization
Packer (and patience) for image creation
VagrantCloud or external USB drive for image library
/etc/hosts, NAT, tunnelling for DNS and other network magic
Provisioning tools (Puppet, Chef, Ansible etc.) to fully setup your cloud
machines
Version control to keep track of your machine definitions
••••••
•
67
69. Technologies to follow
Automation: Vagrant, Packer and other tools form HashiCorp
Virtualization: VirtualBox, VMWare, Parallels, HyperV,
Xen etc.
Containers: Docker ecosystem
Build your own IaaS with OpenStack
PaaS offerings: OpenShift, CloudFoundry etc.
Cloud providers: AWS, Azure, GCE
•••••• 69