Кто сказал, что у стартапов всегда много денег? Как быть если вам важна быстрая разработка и внедрение, но на это нет средств?
Мы поговорим о способе построить Continuous Delivery процесс с ChatOps "за дешево" используя популярные инструменты и сервисы, такие как: Bitbucket, Kubernetes, Terraform, Scaleway и др. Я покажу вам как автоматизировать без дополнительных расходов.
2. Professional conference on DevOps practices 6APRIL 2019 KYIV, UKRAINE
DMYTRO LAHOZA
CD: Cheap and Furious
th
3. Requirements
● Cutting Edge technologies
● Simple development lifecycle processes
● Extendable development lifecycle processes
● Visible: alerting, monitoring, tracing
● Reliable and durable. SLA 99.99999999% or at least 99.9%
● Free or at least Cheap
5. Building blocks
● Terraform for provisioning
● Kubernetes for deployments
● Traefik and HAProxy for balancing
● Prometheus and Grafana for collecting metrics, alerting and monitoring
● Graylog for collecting logs, log management and alerting
● Jaeger for tracing
● Bitbucket for Pipelines
● ChatOps with Slack for management
● Scaleway for infrastructure
6. What is Scaleway
● Website: http://www.scaleway.com/
● Fastest growing cloud in Europe
● IaaS with BareMetal and Virtual appliances
● Reliable and Durable. SLA 99.99%
● Has S3 compatible object storage
● Affordable or even Cheap
● Easy to replace
7. Terraform for provisioning
● CloudFormation without AWS
● Support of many cloud providers
● Do you need anything else?
8. Kubernetes for deployments
● Foundation for Cloud Native Computing
● Reasonable reliability (single master or multi-master)
● Versioning and dependencies by Helm “out of the box”
9. Traefik and HAProxy for balancing
● Rolling, Blue Green, and Canary deployment support
● SSL/TLS termination
● Automatic certificate issuing with Let’s Encrypt
● Configuration with Kubernetes Ingress
● Fast and simple
11. Prometheus and Grafana
● Efficient and simple metrics aggregation
● Feature-rich UI
● Includes alerting and exporting panels with metrics
● prometheus-operator allows automatic adding new sources
12. Graylog for logs
● Most complete log management solution
● Comprehensive full-text search
● Alerting on logs “out of the box”
● Collecting logs from K8s with Fluentd
● It should be external
13. Jaeger for tracing
● Implementation of Open Tracing
● Fast and easy to use UI
● Capable to work in dev mode with in-memory storage
● jaeger-operator
14. Bitbucket for Pipelines
● Affordable Git service
● Convenient code review functionality
● Cheap Pipelines
● Tight integration with Jira, Trello and Confluence
● Can be easily replaced by GitHub or GitLab
15. ChatOps with Slack
● Why Slack? Market leader, free enough, hosted.
● Same tool as you use every day
● Notifications in the most suitable place
● Management by chatting with the bot or filling forms in chat
● Built-in authentication, authorization, user and group management
● Reason not to work