2. Who am I?
•Systems Engineering mgr @ Edrans!
•Puppet instructor for Spanish-speaking
America!
•Obsessed with:!
• Linux and friends!
• Graphs and metrics!
• Automation!
• Graphs
3. What does Edrans do?
• Infrastructure consulting!
• Software development!
• Monitoring!
• Automation!
• Puppetlabs Partner in Argentina
4. The agency:
• Healthcare provider for retirees & pensioners!
• Free, government-run service!
• Created in 1971!
• Country-wide coverage!
• Complex array of services offered
5. Some stats:
• More than 4.5 million members!
• 120 health care centers!
• 700 offices!
• 80+ service stacks
6. All this with a tech platform team of ~20 people
(including extended coverage: 6 am to 10 pm weekdays)
7. Project goals
• Improve the quality of internal and external services!
• Fast turnaround on infrastructure requests!
• Reliability: 99.95% Uptime for critical services!
• Optimize Human and technological resources
9. App Provisioning: Clone of “golden” VMs
Pros:!
- Very fast!
- Absolutely identical configuration for each app server (at first, anyway)
Cons:!
- Usually a VM in use in some environment!
- Lots of cruft carried over: logs, residual temp files, etc!
- Had to go in and change IP addresses, etc by hand
11. "The ABC's main telephone switchboard at 69 Market Street (from 1932)" by abcarchives, licensed under CC BY-NC 2.0
12. • Knowledge passed down by oral tradition!
• No real-world performance testing,
eyeballing system requirements.!
• Most apps not ready for horizontal scaling
16. Base Infrastructure
• VMware High Availability!
• Satellite to provision OS and publish
packages (repo)!
• Puppet Enterprise for configuration
Management
17. Puppet Infrastructure
● PE Multimaster Setup!
o Different teams manage different configs!
o Each environment is isolated from the other!
o Cleared most security concerns (less
firewall rules)!
o Single master for tracking and licensing!
o Per-environment hiera configuration
18.
19. Apps Automation
• 80 different critical applications!
• java, php, custom frameworks!
• Jenkins for Build and Deploy!
• Migration by stages:!
1. Puppetize the app!
2. Dev!
3. QA!
4. Load Testing / Staging!
5. Production
20. Other fun facts
• F5 BigIP Integration!
• Mcollective mainly for Puppet runs and
service management (restricted to console
users)!
• IP Addresses tracked by “hand” but now
configured during OS build
21. Human solutions:
• Work with the bureaucracy, not against it!
• Puppet training!
• Visibility visibility visibility