• Director of Engineering Operations • Fedora Linux Contributor • WireGuard VPN Packager • Joined Kenna in 2015 as a Sr. Systems Engineer • @jdoss on Twitter, Github, Copr and freenode.net • Manage 5 production and 1 centralized logging clusters • Over 4 billion documents with 200 million processed daily
1.7.x on Ubuntu managed with Chef • Elasticsearch was falling over every few days ◦ 500 million documents (1 million processed daily) ◦ 6TB of data ◦ 20 data nodes ◦ 80+ shards • We used Elasticsearch in weird ways (11mb documents, all searchable data was stored on a single document) • No method to upgrade Elasticsearch versions between devel and prod
released in 2012 • Written in mostly Python • Configuration management, infrastructure as code, Orchestration engine • Agentless • Acquired by Red Hat in 2015
the role • files - contains files which can be deployed via this role • handlers - contains handlers, which may be used by this role or even anywhere outside this role. • vars - other variables for the role • tasks - contains the main list of tasks to be executed by the role • templates - contains templates which can be deployed via this role • meta - defines some meta data for this role
in code! • Use tags/labels to define instance types for your inventory! • Static Groups of Dynamic Groups! • Use group_vars on those static groups! • Have sane default variables! • Use Ansible to manage your Elasticsearch clusters!