Download presentation
Presentation is loading. Please wait.
Published byPolly Sherman Modified over 6 years ago
1
Dmytro Mykhailov How HashiCorp platform tools can make the difference in development and deployment Target and goal of HashiCorp tools is to give sample of the best practices that I’m going to describe.
2
Dmytro Mykhailov Solution Architect 3,5 years in EPAM
>12 years in IT Microsoft Stack: .NET Azure skype: dmitry.mikhaylov blog:
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
5
Immutable Infrastructure for Rescue
Immutable infrastructure is an approach to managing services and software deployments on IT resources wherein components are replaced rather than changed. An application or services is effectively redeployed each time any change occurs. © WhatIs.com
6
Immutable Infrastructure for Rescue
DevOps Image of WEB v32.2 Public portal v4.3 Admin portal v1.2 Database v2.1 Provision Change CI Tool Developer New feature Notify Build DB Schema Fix DBA
7
Immutable Infrastructure for Rescue
LB WEB v32.1 API GW Backend Service A v12.34 Database A WEB v32.1 Backend Service B v3.2 Database B WEB v32.1
8
Messy Configuration – Reactive Configuration Database
Dev QA Config Prod Configuration Data
9
Messy Configuration – Reactive Configuration Database
Dev Config DB QA Config Prod Common Config Seed
10
Messy Configuration – Reactive Configuration Database
ConfigDB Agent ConfigDB Agent ConfigDB Master ConfigDB Agent
11
Environments Setup, Disaster Recovery - Infrastructure-as-a-Code
12
Tests, Works-on-my-machine syndrome – Containers and Images
Build MacOS Linux Run Build Test Deploy Run Local Dev Machine CI/CD Pipeline QA Server
13
Tests, Works-on-my-machine syndrome – Containers and Images
MacOS Linux Build Deploy Run CI/CD Pipeline Dev Virtual Server Local Dev Machine
14
Expensive not-used resources – Elastic cluster setup
17% CPU 10% CPU CPU 55%
15
Expensive not-used resources – Elastic cluster setup
Requests for allocation and deploy Cluster Scheduler CPU CPU 72% 55% 40%
16
Secrets management Dev Config QA Config Audit? Manage? Revoke? Where?
How? Prod Configuration Data
17
Secrets management - Vault
Config Dev Config QA Audit Manage Revoke Prod Vault Configuration Data
18
Security Management - Vaults
Audit Manage Revoke Vault ConfigDB Master
19
Autopilot Pattern less or none application modification for containers
On Start Application Post Stop Health Health Pre Stop On Change Autopilot Process Service Discovery & Health Check
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
Packer is an open source tool for creating identical machine images for multiple platforms from a single source configuration. Alternatives: Manual configuration scripts Chef, Puppet, Annsible, etc.
22
Packer for Immutable Infrastructure
Build Automated Machine Images
23
Terraform for Infrastructure-as-a-Code
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. Alternatives: - Manual configuration scripts - Cloud-provider’s tool
24
Consul for Service Discovery, Health Checking
Service Discovery and Configuration Made Easy Alternatives: Eureka Etcd Zookeper
25
Nomad for cluster scheduling
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%
26
Vagrant against works-on-my-machine syndrome
Development Environments Made Easy Alternatives: Docker Compose
27
Vault for sensitive data
A Tool for Managing Secrets Alternatives: Azure Key Vault Amazon KMS (Key Management Service) HSMs (Hardware Security Module): AWS CloudHSM Keywhiz by Square
28
HashiCorp Tools Ecosystem – Small Scale
</> CI Pipeline Work Environment Local Dev Machine VM Image Repository CD Pipeline
29
HashiCorp Tools Ecosystem – Large Scale
VM Images </> CI Pipeline CD Pipeline Local Dev Machine Server Server Nomad Cluster
30
Questions? Dmytro Mykhailov dmytro_mykhailov@epam.com
blog:
31
Thank you!
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.