Test-driven development (TDD) and Behavior-driven development (BDD) are becoming common in the development world but really haven’t been adopted in the ops world. In the ops world most teams are still writing stuff and running it directly it in production. The fundamental philosophy of TDD- first add a test that fails because the feature isn’t yet developed, then develop the feature until the test passes – provides the same value to operations teams that it provides to development teams. Additionally, moving to an “always ship trunk” model for branching in source-code control means that you can now deploy most operations changes as soon as they pass the (now robust) test suite, rather than waiting for a group of unrelated changes to all be ready for deployment. Lookout has a complex operations infrastructure that includes data center operations, public cloud operations, and local development. In this presentation we’ll show how Lookout’s move from a conventional operations model to a test-driven model with automated deployments has reduced cycle time and improved reliability. We’ll cover the tools we use (RSpec, Chefspec, and Cucumber for TDD/BDD support, Chef for config management, Capistrano and Rundeck for orchestration, AWS, OpenStack and Vagrant/VirtualBox for virtualization, Jenkins/Gerrit for test automation, deployment, and code review, and several home-grown tools), our deployment pipeline. We'll show Cucumber, RSpec, and Chefspec snippets that support a sample cookbook. We'll also cover a quick overview of TDD/BDD and terminology. After this session, you should be able to start developing simple tests for your Chef cookbooks.
What if you were building a product that no one could estimate how many users would want to use… Sarah will talk about the business and technical decisions that go into building a scalable architecture when you have no idea how big or fast you'll have to scale. Chef is a key component of that infrastructure but there's plenty more to consider. Their game Hawken has been included in several "top games to watch in 2012" lists and won't be released to beta until 12.12, which would be the wrong time to start considering how to scale the infrastructure.
Chef uses a very powerful Ruby DSL for Resource declaration and more. But lets be honest, in any complex environment you're going to need to get down to brass tacks, and for most of us who are coming form a non-developer background know very little Ruby, if any language at all. In this tutorial, we'll walk through some examples of Ruby, compare the language to other popular languages, and show some of the backend magic that happens with Resources.
Hosted Chef's server API is being ported from Ruby/CouchDB to Erlang/MySQL. Find out what motivated this work, what's been accomplished so far, and why Erlang and an RDBMS are good choices for Chef. We will share metrics comparing the performance and operational characteristics of Ruby/CouchDB to Erlang/MySQL and discuss the automation used to change data stores in live high-volume web service.
You've heard of Chef, Puppet, and other frameworks that can help you build out your infrastructure. You've been meaning to play around with one or more of them for some time now. Now's your chance; Start cooking up on your own servers! In this tutorial, we'll provide an introduction to Chef with a focus on what you'll need to know to get a Rails application up and running. Topics include: * Introduction to Chef * Nodes, roles, environments, and other terminology * Anatomy of a Chef run * Introduction to cookbooks * Provisioning an environment for a Rails application * Hands-on demo that will include provisioning servers for a Rails application * Deploying with Capistrano * Can't we deploy with Chef? * Simplify Capistrano configuration with Chef search * Deploying to your new environment You won't be ready to compete in Iron Chef, but you will be ready to serve up your own Rails environment in no time.
Logging is not a solved problem. Logstash attempts to bring it closer to a solved problem. Logstash allows you to break logging into familiar UNIX pipelines across your network via the concepts of inputs, filters and outputs. This talk will provide an introduction to logstash as well as best practices for configuring and maintaining it with Chef.
Things go wrong, it's your job to deal with them. I'm going to talk about some of the things I've learned at Wikia and Fastly to help you and your team survive and even thrive under pressure.
At Pivotal Labs we found that our wide range of development machines were suffering from the same problems that chef was designed to solve on servers. They were inconsistent, required manual updating, and were based on monolithic images which were painful and costly to recreate. Chef has allowed us to maintain similarity in our workstations and share configuration expertise while allowing total developer control. Along the way, we've learned lessons about building chef knowledge in development teams, testing chef recipes, and quite a bit about OSX.
OSX vs Windows vs Your Favorite Linux Distro, Textmate vs Eclipse vs VIM. There are some technology wars that will never end, but the benefits of a consistent development environment can often come at their expense. Enter Vagrant, a tool for building and distributing virtualized development environments. In this session, I'll do an introduction to Vagrant and how it can harness the power of Chef. Finally, I'll walk through how we are using it at Wharton to build more consistent local development environments for two very unrelated technologies: ColdFusion and PHP/WordPress.
Gestalt: a structure, configuration, or pattern...so integrated as to constitute a functional unit with properties not derivable by the summation of it's parts There's been a lot of discussion surrounding monitoring and related tools recently. No single tool exists that fits everyone's needs and the general consensus has been that the ideal system is composed instead of flexible pieces. This discussion presents the approach used by Heavywater and how we have integrated our chosen tools using Chef to build a powerful, flexible system for healthy infrastructure
Nodes do not live in isolation. Similarly, the services provided by nodes is not in isolation. Chef running on one node frequently has an impact on another node. This presentation will cover using Noah (https://github.com/lusis/noah) to meet use cases where a Chef run on one node depends on or blocks a Chef run on another node
Chef makes it so easy to change configuration en masse that it can be dangerous if not used with certain precautions and in accordance with a well thought out testing workflow. In our use of Chef at Etsy, we have devised many in-house best practices in response to failures which have helped greatly in avoiding catastrophic outages. This talk will focus on mistakes we've made and how we've avoided repeating them by enforcing standards in cookbooks, testing changes before rollout through the use of environments and in conjunction with the Spork plugin for Knife, and linting cookbooks with Foodcritic. I'll also talk about using handlers intelligently to monitor Chef runs and how to generate reports from the myriad data available in CouchDB.
Dreadnot is an open source tool developed by the Rackspace Cloud Monitoring team that enables rapid and reliable staged deployments. This talk will present a brief overview of the Cloud Monitoring deployment architecture and a discussion of how Dreadnot utilizes Chef to orchestrate and execute deployments.
At Velocity last year, Jesse gave Artur 3 minutes on stage to "encourage" our community to start using SSDs. Profanity laden hilarity, and over 100,000 views, ensued. In this session, Jesse repeats the mistake again. Enjoy.
This is the story of Fidelity IT's journey to cloud. I will share what the click2compute (C2C) program is about, the motivations behind it, and how Fidelity is successfully using tools like chef to not only build internal clouds, but transform how infrastructure and applications are delivered. Hopefully, this session will also help to give some insight into the struggles that enterprise customers face while implementing a cloud platform.
Over the past two years Ancestry.com, the world’s largest commercial family history site, has undertaken a journey to enable continuous delivery. This is an overview of how Ancestry, in a short time period, transformed their culture and infrastructure to support continuous delivery. John will share specific cultural changes at Ancestry and describe how they leveraged key tools like Chef to enable the transformation from multi-week releases to daily deployments.
This talk will describe the use of utility supercomputers to solve real world enterprise science problems for Genentech, Novartis, and now Schrodinger. We'll cover tool sets for running large scale high performance computing (HPC) workloads, with Chef and CycleServer's Grill app for visualizing HPC and Chef information together
No tool lives in isolation. To get from source code in development to running application services in production you are going to find yourself assembling a DevOps toolchain. In this session, you will learn how to integrate Jenkins, Nexus, Rundeck, and Chef into a cohesive build and deployment automation solution. In addition to a conceptual explanation of the architecture and integration points of the toolchain, there will be a live demo of a continuous deployment example. The full source code and documentation for the demo will be available after the session from the DTO Solutions GitHub repo (dtolabs).
See how Intuit (makers of Mint, TurboTax) has integrated Chef and Amazon’s AWS Cloud Formation to realize the Social Technology Platforms's goal of Managing Our Infrastructure As Code. Learn how tight coupling of AWS Cloud Formation templates and metadata with Chef is providing a foundation for Intuit’s AWS rollout including: policy driven scaling, automated resiliency and agility in infrastructure deployment and updates.
A presentation covering how Joyent uses Chef to manage its public cloud - the third largest on the planet in terms of RAM deployed - and the evolution of Joyent's Chef usage and use cases over time.
Full360 uses Chef to build and manage Business Intelligence applications in the cloud. As an independent platform as a service provider, efficiency is critical to our success, and Chef contributes to that by allowing for easy creation and replication of fully configured database and reporting servers. My presentation will lay out our business case, details of the Chef processes that we have developed, and some conceptual discussion around the way that cloud computing, combined with Chef, is enabling different development and deployment workflows.
Databags are a handy dandy way of storing state. This session looks at ways of generating, manipulating and using databags to do update and synchronisation of configuration and requirements across multiple nodes in an environment. This talk cover building tools to interact with databags, creating databags within recipes, and cover real world use cases.
Built on the machine provisioning power of Chef, Infochimps' Ironfan is a systems configuration tool that enables the entire Big Data stack, including tools for data ingestion, scraping, storage, computation, and monitoring. Spin up clusters when you need them, kill them when you don't, so you can spend your time, money, and engineering focus on finding insights, not getting your machines ready. In this talk/demo, we will actually spin up a Hadoop cluster in 20 minutes using Ironfan and tell you about some of the great projects folks in the Chef community have used Ironfan to enable.
Spiceweasel is an agile documentation tool for your infrastructure that works with Chef. This talk will walk through tackling an existing infrastructure and getting it managed with Chef.
Level-up your Chef skills by learning about these areas of Chef: * Attribute Precedence - Role, environment, cookbook, data bag? Which attribute value will be used in my chef run? Walk through an example that will show you which value gets applied in your chef run. * Encrypted Databags - Chef 0.10 brought us encrypted databags. We'll look at how to create and use databags and how to keep them up-to-date in your repository. * LWRP - What is a LWRP? How and why do you create one? We'll look at a couple of sample LWRPs and learn how to build a simple one. * Error Handlers - Demystify exception and report handlers by writing a simple one and seeing examples of how they work in the wild. * Capistrano and Chef - Take a quick look at why and how to integrate Chef search into your Capistrano configuration to make deploying your Rails apps even easier.