As web developers, we use a huge range of frameworks, hosting providers, and other tools. Installing, configuring, and integrating with all of these tools in our local development environments is an increasingly large challenge. Older local development solutions using native installations of basic services don't achieve adequate production parity and leave team members using different versions of key tools. Newer virtualized solutions like Vagrant can solve some problems, but can be frustratingly slow to use.
Enter Kalabox.
Kalabox provides an easy-to-use architecture to orchestrate Docker containers on Mac OS, Windows, and Debian. Learn how you can use Kalabox to create a more effective local development stack for your entire team and start eliminating the barrier between your local and production environments.
11. Why use containers?
.Quick re-building and deployment of apps.
Faster scaling.
Require fewer resources (= lower hosting bill)
12. What is Docker?
.
“An easy, lightweight virtualized environment for portable applications.”
Docker uses containers.
Docker makes it easy to have groups of containers
that work together to power your app.
13. What is Docker?
.
“An easy, lightweight virtualized environment for portable applications.”
Docker uses containers.
Docker makes it easy to have groups of containers that work together to power your
app.
Docker apps are easier to install, configure, and
deploy.
15. Pros:
■ Good performance
Cons:
■ Websites don’t run on Mac OS X (prod
parity)
■ Tooling has unreliable versions
■ Issues updating team tooling
■ Not cross-platform
Existing Local Dev Solutions: Native
16. Existing Local Dev Solutions: Virtual Machines
Pros:
■ Production Parity
■ Easier to deploy/version tooling
Cons:
■ All applications must run on same
infrastructure
■ Hard to test/debug new infrastructure
■ Typically SLOW AS BALLZ
18. Jeff Geerling - http://www.midwesternmac.com/blogs/jeff-geerling/developing-drupal-vagrant-and
Simple.
Easy setup.
Fast.
Flexible.
Complete.
Open
Source.
Cross-
Platform
Your
Tooling.
Prod Parity.
19. Some hard numbers
Vagrant
Virtual Machine
Docker
Containers
● ~15 min install time
● ~6 min Drupal install
● ~Run 1 webserver
● ~20 tools
● ~5 min install time
● ~2 min Drupal install
● ~Run plethora of
containers
● As many tools as you
want
21. Batteries Not Included: DNS Routing
.
Docker:
1. Start boot2docker in VirtualBox
2. Start server container: docker run -d -P --name web nginx
3. Lookup the container’s port: docker ps
4. Go to the url: http://localhost:49157
22. Batteries Not Included: DNS Routing
.
■ Have you ever edited /etc/hosts?
■ Do you never want to touch it again?
23.
24. Batteries Not Included: Filesharing
.
■ Sharing files between a virtual machine and its
host can be slow
25. Batteries Not Included: Pluggable App
Infrastructure
.
■ What if I want to do something on a certain step
of my app’s spin-up?
■ What if I wanted to package dev tooling along
with my app setup and make CLI commands
available?
■ What if I want to integrate with cloud dev tools
and hosting providers?
26. You can think about Kalabox as a
super-fast, highly customizable
Vagrant for containers.
28. What it all means
● Save tons of time
● Use the tools you deserve
● Production parity
● Standardize your team, tools
and flow
● Use the latest and greatest
29. Metaslide for demo:
1. Spin up some apps
2. Show app arch
3. Show customize opts
4. Show plugins
30. Roadmap
LOCAL DEV FOR THE MASSES: VAGRANT + VIRTUAL BOX + PUPPET = KALABOX
Summer 2015