9. Problems
● Many VMs
● Configurations with environments
○ beta, staging, production
○ MySQL, Redis, Cassandra, MongoDB .. etc
● Cost much time to deploy
● Struggle with local development
Created by Aopsan - Freepik.com
9
41. Comparison of Code Lines
Tools V1 V2 V3
Image
Ansible 2070 1351 1351
Packer N/A 972 972
Total (Build Image) 2070 2323 2323
Infra
Terraform 1663 ~100 ~100
K8s Manifest N/A 2045
Helm N/A N/A 2053
Total (Infra) 1663 2145 2153
Total 3733 4468 4476
41
42. ● High portability
● Switch environments easily
● Decouple phased config/image
● Reusable for same type deployment (worker, jobs ... etc)
● Version control for deployment
Advantages
42
43. Disadvantages
● Helm
○ Hard to troubleshoot
■ No diff
■ Tiller upgrade failed without error
■ Generate full k8s Manifest
○ => Helm 3
● For team
○ Need to know Helm/k8s
○ Gap between Engineer and DevOps
■ Still need DevOps efforts
○ Who can deploy? How to trigger?
○ Who write the Chart?
○ => GitOps
43
45. Helm 2.x
● Template syntax hard to read & poor documentation
● Immutable variables, confusing data types, restrictive scoping
● Cannot define function in template
● Resources created by hooks are NOT managed
45
46. New in Helm 3
● Lua as embedded scripting language
○ Scripts are stored in charts
● No more Tiller
○ Security enhancement
○ New Helm controller
● Hooks can be managed
● Pull-based DevOps workflow with Helm controller
46
51. Key Takeaways
● Containerized and migrate to kubernetes, refactor by Helm
○ Save money, Increase productivity
○ Reduce deployment time
○ Release management
● Key to the future, Helm 3 and GitOps
51