In early 2011, organizations began to push the boundaries of
configuration management. As we moved toward immutable and ephemeral
infrastructure, features like service discovery and provisioning
quickly became more present than rendering templates and installing
packages. But did we get lost along the way?
Not only has the responsibility of configuration management tooling
grown to enormous complexity, but the core foundations of many of
these frameworks have fallen by the wayside in the process. By so
doing, we have reduced the granularity of operations, increased the
complexity curve, and made technical decisions based on the
capabilities of our tooling instead of the benefit of our customers.
The emergence of configuration management supported by improved tooling has been an awesome force to behold and be part of over the last decade, but configuration as a node level primitive was never enough. As a consequence, all manner of scripts and orchestration tools are required to translate from node level configurations to meaningful deployments and other ongoing operational considerations. This presentation will show making services the first level primitive, integrating per node configuration capabilities with declarative multi-node service definitions, can help solve some of the most common problems. BOSH was originally developed as a deployment tool for Cloud Foundry’s Elastic Runtime, but is also a general purpose configuration solution. BOSH powers Pivotal’s production Cloud Foundry deployment supporting thousands of applications, and a growing number of deployments of Kubernetes, Cassandra, MySQL, RabbitMQ and many other popular services.
Configuration management tools are an important enabler for infrastructure as code. However, the code base of configuration models can become large and complex, especially for cloud-based deployments. As a consequence it is not straightforward and error-prone to manage and evolve these large code bases, and to reuse code.
We present and demonstrate Impera: a tool designed for integrated configuration management of large-scale infrastructures. It tackles the increasing complexity by applying the following software engineering principles:
- object orientation for modelling the configuration,
- component-based software development to make configuration models modular and reusable,
- refinement to build up new abstractions in the configuration model and to encapsulate complexity and heterogeneity in reusable components.
The development of impera started in 2010 and has been validated in multiple enterprise- and cloud-based infrastructure case studies, including hybrid cloud deployment.
by Jorge Costa
Jorge will take us through a detailed session on how to automate almost anything, covering a wide array of topics: Ansible, git, continuous delivery, pipelines, and infrastructure as code.
Ask these and any other questions you may have about Chef during this Ask Me Anything (AMA) session. Ask our panel of experts any question you have about Chef. No question is off limits, everyone may answer. This is a great way to get the day started in the Chef community room.
by Luke Kanies
This session is designed for people who are interested in service orchestration but have little or no experience with juju. We will discuss Juju's core concepts, installation, configuration, and deploy services with Juju.
Katello brings content management capabilities to Foreman -- whether
RPM packages, Docker images, or Puppet modules. Come learn how Katello can help you manage the lifecycle of your content from the development phase, through testing, to production.
Painless provisioning software is a surprisingly new thing in our toolkit.
This session will feature demos of creating and managing cloud
infrastructure using Chef Provisioner, Puppet and Terraform. We’ll
follow the demos with a panel discussion of why code is the future of
infrastructure management, and talk about some of the challenges of
doing this today. The panel will feature people working to build these
tools at Hashicorp, Puppet, Chef and more.
We'll hopefully touch on multi-cloud abstractions and where they break
down, transactional HTTP apis, rate limiting, optimisation for first
setup vs management over time, tool specific vs cloud vendor specific
user interfaces and other interesting topics.
The talk should be useful for anyone managing infrastructure in their
day job as well as anyone building tools or providing an
infrastructure as a service platform.
Rudder 3.0 was released in January 2015. This talk will bring attendees up to date on recent evolutions in Rudder and show off some of the latest and greatest features like the new compliance dashboard and graphs, redesigned web interface, built-in Technique editor (that automatically builds CFEngine code), basic command line interface, ...
We will then discuss ideas for future features. Last but not least, we should have some time to dig deeper into any parts of Rudder attendees want to know more about - examples could include reporting, ncf, OS support, CFEngine integration, ...
This SaltStack tutorial will provide an overview of the SaltStack systems management platform and a deeper introduction to SaltStack configuration management functionality and is appropriate for people who are new to SaltStack as well as people who want to learn how to use the latest SaltStack configuration management capabilities.
Attendees will learn how to use SaltStack to build out complex application stacks and to automate DevOps functions such as application self-healing, continuous code deployment, server security remediation and hardening, real-time configuration data monitoring and auditing.
This tutorial will also cover the latest configuration management capabilities delivered in SaltStack releases 2014.7 and 2014.1. These new features include configuration languages that can be declarative or imperative, the listen and pre-requisite functions, runtime manipulator, onchanges and onfail requisites, additional fileserver backend support, and more.
Learn how bug fixes, optimizations and features are scheduled for releases. Also a sneak peek at upcoming developments for CFEngine 3.7, and some time for discussion.
by Zac Stevens
The community site was one of the ideas I loved when I first started
to use Chef, and I believed that community cookbooks should be an
asset to every user of Chef.
Unfortunately, they're not. The situation doesn't seem to be getting
any better either, and I've reluctantly joined the "avoid using
community cookbooks" camp.
This talk will explore:
by Nils Domrose
While foreman already provides the ability to manage docker containers, CoreOS is getting more and more momentum as a solid minimal OS for hosting docker Containers. This talk is about how to deploy your CoreOS cluster using foreman, either on bare metal or on virtual infrastructure. You will learn how to deploy CoreOS with dynamic cloud-configs using older versions of the foreman, we will introduce and demo a patch for dedicated CoreOS Operating System Support and talk a bit about how fast we have been able to build a working POC.
Puppet's approach to configuration management rests firmly on modeling the
desired state of infrastructure and expressing dependencies between
elements of that state. While this approach has been extremely successful
in expressing the configuration of individual nodes, so far, Puppet has
lacked a facility for describing the configuration and relationships
between multiple interdependent nodes, a crucial ingredient for describing
In this talk, we propose some extensions to Puppet's DSL that make it
possible to express such cross-node dependencies. In addition, we show how
these extensions can be used to model applications and their components,
separating modeling applications from deploying them so that module writers
can describe applications with enough flexibility for module users to
deploy them in varying sizes on different topologies. We show how the
application model allows us to perform consistency checks, eliminating
certain types of user error, and forms the basis for asking interesting
questions about applications and their use.
We show how these mechanisms can be used to express fundamental cross-node
patterns such as connecting multiple web servers to the same database, or
connecting a load balancer to multiple web servers.
Linux containers provide the ability to reliably deploy 1000s of application instances in seconds, but how do we manage it all? The answer is CoreOS and Kubernetes. This talk will help attendees wrap their minds around complex topics such as distributed configuration management, service discovery, and application scheduling at scale.
by Wout Mertens
We will be giving an overview of NixOS, the truly stateless Linux distribution, and Nix, its functional lazily-evaluated package description language. We'll also cover NixOps, which maintains declarative clusters of NixOS systems on cloud providers.
Through live examples we'll see instant deployment and instant rollback in action and we'll encourage audience participation in choosing configuration setups.
This session covers the ins and outs of charm writing, which are used by Juju to deploy and orchestrate services. This session is for developers interested in getting started with Juju, some previous experience with Juju is recommended.
This session is language agnostic, like charms, examples will be provided in most languages including: bash, python, puppet, docker, ansible, node.js
Chef Browser is an open-source project that allows you to easily browse through Chef data in a user-friendly format using your favorite browser. Chef-browser allows you to list (and search through) nodes, environments, roles and data bags (and items) as well as view their details: basic information plus pre-formatted JSON data. Shorten the time necessary to access often used information with saved searches.
This talk will introduce you to the project and provide a demo of Chef Browser.
Managing AWS resources can start to get a bit complicated. This short talk intends to show how AWS can be coupled up with Ansible Tower for a simple, pleasant, cloudy experience.
by Spencer Krum
When it comes to systems and applications deployment, there are largely two schools of thought. Some like to use configuration management tools and others like to use some form of golden image. In this talk we'll look at both approaches, the differences, the commonalities, and why this debate can get so heated.
While I won't pretend to put one approach over the other, I will point out several ways the two camps can learn from each other and maybe even collaborate.
This is an open session where we will be answering questions, helping you get started with Juju, charming, and anything else Juju related. This is a relaxed, non-structured, Q&A driven session.
With the ever-increasing availability of good open source modules, puppet development within an organization can transition to the building of roles and profiles to glue together the modules developed externally, and patches or pull requests to update the modules to meet your needs. However, it is still sometimes necessary to create a module from scratch, and there are different considerations when the module is going to be shared publicly than when developing modules strictly for internal use. If the module is going to be used by people outside your organization you need to consider flexibility, appropriate scoping, and ease of use of the module. This talk will address finding and evaluating existing modules, module development with open sourcing in mind, and effective use of roles and profiles.
CFEngine is a complex tool to use. This is why we created ncf framework, to give the expert sysadmin the tools necessary to use the full power of CFEngine without having to know every language subtility, also giving him the possibility to ease the life of his less knowledgeable colleagues by passing those generic methods to be used by the ncf builder web interface to easily and efficiently deploy their configuration rules.
During this talk, we will follow the story of a generic method, from creation to usage in a "Technique" with ncf builder.
"In this presentation I'd like to cover new networking features of Foreman 1.7 including new interface types (Bond, VLAN, Alias), new options for them and for IP management, ways to deploy this configuration during provisioning and keeping it up to date. Also I'd like to show how we parse facts to get most networking information populated in Foreman automatically.
I'd also like to show changes that are already part of next version of Foreman, namely new UI interface, separation of primary and provisioning network and association between NICs and compute resource NICs."
2nd–3rd February 2015