This is slides from my talk on Kharkiv IT Weekend on May 27, 2017.
Here is link to my blog where you can find more information about the approaches:
https://devraccoon.com/2017/05/30/hashicorp-tools-on-it-weekend-kharkiv/
2. Dmytro Mykhailov
Solution Architect
• 3,5 years in EPAM
• >12 years in IT
• Microsoft Stack:
• .NET
• Azure
skype: dmitry.mikhaylov
email: dmytro_mykhailov@epam.com
blog: https://devraccoon.com/
3. Problems in applications
• Holy Server
• Messy configuration
• Slow environments setup
• Works-on-my-machine syndrome
• Expensive resources that do nothing
• Hard non-consistent integration and end-to-end test environments
• Where is your disaster recovery?
• Are your secrets safe?
4. Holy Server
• Thing that can be treated as benefits:
- Easy to setup
- No need of delivery infrastructure upfront
- No need of tools knowledge
• Drawbacks:
- Hard to maintain
- Service failure is a catastrophe
- Custom knowledge of how to configure
similar server
6. Immutable Infrastructure for Rescue
Image of WEB
v32.2
Public portal v4.3
Admin portal v1.2
Database v2.1
New feature CI ToolNotify Build
Developer
DBA
DevOps
7. Immutable Infrastructure for Rescue
WEB v32.1
WEB v32.1
Backend Service A v12.34
API
GW
LB
Backend Service B v3.2
Database A
Database B
WEB v32.1
19. Autopilot Pattern
less or none application modification for containers
Application
Autopilot Process
Service Discovery & Health Check
On Start Post Stop
Health Health
On Change
Pre Stop
20. Tao of HashiCorp
• Workflows, Not Technologies
• Simple, Modular, Composable
• Communicating Sequential Processes
• Immutability
• Versioning through Codification
• Automation through Codification
• Resilient Systems
• Pragmatism
21. Packer for Immutable Infrastructure
https://www.packer.io/
Packer is an open source tool for creating
identical machine images for multiple
platforms from a single source configuration.
22. Packer for Immutable Infrastructure
https://www.packer.io/
Build Automated Machine Images
23. Terraform for Infrastructure-as-a-Code
https://www.terraform.io/
Write, Plan, and Create Infrastructure as Code
Terraform enables you to safely and predictably create,
change, and improve production infrastructure. It is an open
source tool that codifies APIs into declarative configuration
files that can be shared amongst team members, treated as
code, edited, reviewed, and versioned.
24. Consul for Service Discovery, Health Checking
https://www.consul.io/
Service Discovery and Configuration Made Easy
25. Nomad for cluster scheduling
https://www.nomadproject.io/
Easily deploy applications at any scale
Alternatives:
Azure Service Fabric
Mezos
Yarn
Kubernetes
Docker Swarm
DCOS
1000 redises or nginx, 3 data centers across atlantic.
<1s schedule
1s to first start
6s to 95%
8s to 99%