Date: August 22, 2014
Time: 9:00 AM – 3:00 PM CDT
“It works on my machine.” just won’t cut it anymore.
You can’t develop the way you’ve always done it anymore.
The days of setting up a single development environment on your laptop are long gone. Even running multiple virtual hosts on the same machine with a common database server isn’t enough in today’s environment. These days you need matching environments, development, testing, production. They have to match down to the service and version number.
Managing virtual environments is a whole new skill you have to master.
Virtualizing your development is here to stay. But with so many options though, what are the best tools, techniques and practices for virtualizing development? How do you virtualize your development process? How do you keep everything up to date? How do you do all of this and still have time to do development?
We will show you how to master this new skill.
We’ve gathered 5 experts to help show you the way. Each of our experts will focus on a single topic. They will give you actionable intel to start using immediately. Additionally, you will get links to watch the sessions as many times as you want for the next two years.
Virtualizing Development
Adam Culp
Modern developers use virtualized “single use” development environments to reduce time tweaking servers, allowing more time developing. Teams share configurations to eliminate endless “works for me” debug loops, while rebuilding and/or setup is a simple command taking minutes, not hours or days. This intro talk will create a base for attendees to build from and investigate the various technologies like Vagrant, VirtualBox, Puppet, Containers, and Virtual PHP. If your development environment is not virtualized, catch up, it’s what all the “cool kids” are doing.
Development with Vagrant
John Coggeshall
No matter what size your development team or project is, Vagrant is something everyone can use. With it you can create complex local virtual environments for your application that allow you and your team to develop in the right environment with a single, simple command. Better yet, you can do all of this with the power of version control on your side! Gone are the days of inconsistencies in development environments or long, out of date environment installation manuals. In this talk we’re going to dive deep into this powerful virtualization tool, and you’ll leave with a firm understanding on how you might be able to use it immediately to modernize your application’s infrastructure.
Containers, VMs, and the Future of the Cloud
David Strauss
Historically, sharing a Linux server entailed all kinds of untenable compromises. In addition to the security concerns, there was simply no good way to keep one application from hogging resources and messing with the others. The classic “noisy neighbor” problem made shared systems the bargain-basement slums of the Internet, suitable only for small or throwaway projects.
Serious use-cases traditionally demanded dedicated systems. Over the past decade virtualization (in conjunction with Moore’s law) has democratized the availability of what amount to dedicated systems, and the result is hundreds of thousands of websites and applications deployed into VPS or cloud instances. It’s a step in the right direction, but still has glaring flaws.
Most of these websites are just piles of code sitting on a server somewhere. How did that code got there? How can it can be scaled? Secured? Maintained? It’s anybody’s guess. There simply isn’t enough SysAdmin talent in the world to meet the demands of managing all these apps with anything close to best practices without a better model.
Containers are a whole new ballgame. Unlike VMs, you skip the overhead of running an entire OS for every application environment. There’s also no need to provision a whole new machine to have a place to deploy, meaning you can spin up or scale your application with orders of magnitude more speed and accuracy.
Portable Development Environments with Vagrant and Ansible
Erika Reinaldo
With Vagrant, the “works on my machine” excuse stays in the past. Your project will have a portable development environment very focused and specific for it, enabling easier code collaboration through a simple “vagrant up”. Forget about the environment and do what you do best: code!
This talk will give you an overview about Vagrant and its new features, showing how we can provision a virtual web server using Ansible – a powerful yet very straightforward automation tool.
Multiple ElePHPants, One Box: Inside virtPHP
Ben Ramsey
Get to the know the ins and outs of virtPHP. virtPHP is a shell tool that allows you to create multiple virtual environments for PHP applications on one system, each with unique PHP configurations, global Composer packages, PEAR packages, and PECL extensions, along with the ability to connect environments to other PHP builds located on your system. Think Python’s virtualenv for PHP.
In this talk, co-creator Ben Ramsey will introduce virtPHP and explain how it can benefit any PHP developer’s workflow. We’ll also dive into the internals of virtPHP to see how it creates self-contained virtual environments. Finally, we’ll discuss the project roadmap and how you can help.