Tools like Docker and rkt make it easier than ever to package and distribute applications. Unfortunately, not all organizations have the luxury of being able to package their applications in a container runtime.
Many organizations have virtualized workloads that cannot be easily containerized, such as applications that require full hardware isolation or virtual appliances. On the opposite end of the spectrum, some organizations deploy workloads that are already static binaries such as Go applications or Java applications that only rely on the JVM. These types of applications do not benefit from containerization as they are already self-contained. To address the growing heterogeneity of workloads, HashiCorp created Nomad – a globally aware, distributed scheduler and cluster manager.
Nomad is designed to handle many types of workloads, on a variety of operating systems, at massive scale. Nomad empowers developers to specify jobs and tasks using a high-level specification in a plain-text file. Nomad accepts the job specification, parses the information, determines which compatible hosts have available resources, and then automatically manages the placement, healing, and scaling of the application. By placing multiple applications per host, Nomad maximizes resource utilization and dramatically reduces infrastructure costs.
The flexibility of Nomad’s design brings the benefits of a scheduled application workflow to organizations with heterogeneous workloads and operating systems. This talk will discuss the pros and cons of running in a scheduled environment and includes a series of live demos to supplement the learning experience.
Terraform is a fantastic tool for provisioning infrastructure, but with such a broad range of responsibilities, it is easy to become overwhelmed with the API, terminology, and workflow. This workshop will cover the basics of Terraform. Beginning with a quick lecture-style introduction to Terraform, we will quickly dive deep into the tool, following the fictitious evolution of a startup as our guide. Not only will this workshop discuss various components of Terraform, but attendees will also understand why and how they might make infrastructure changes with Terraform. Now that our infrastructure is provisioned, how can we connect the various components? With one or two machines, it is easy to point IP addresses, but what happens when we have thousands? We will use Terraform to create a Consul cluster and explore service discovery and health monitoring with Consul. Depending on the time remaining, we will explore the complex problems of secret management using Vault.
Seth Vargo has been a member of the DevOps community for about five years. He is a polyglot software engineer and open source advocate at HashiCorp. Previously, Seth worked at Chef (Opscode), CustomInk, and a few Pittsburgh-based startups. He is a co-author of O'Reilly's Learning Chef and is passionate about eliminating inequality in technology and organizational culture. When he is not writing software or working on open source, Seth enjoys speaking at local user groups and conferences. He is a co-organizer for DevOps Days Pittsburgh and loves all things bacon. You can find him on the Internet under the single moniker "sethvargo".