Upgrade to Pro — share decks privately, control downloads, hide ads and more …

how-to-choose-cicd-tools.pdf

Rico Chen
January 26, 2021

 how-to-choose-cicd-tools.pdf

Rico Chen

January 26, 2021
Tweet

More Decks by Rico Chen

Other Decks in Programming

Transcript

  1. 我是誰 • 安安我是 Rico • 翻譯《Google The Site Reliability Workbook》

    • 曾在 Bincentive 工作 • DevOps Taiwan 志工 • 冰雪奇緣愛好者
  2. Agenda • What is CICD • Organization considerations • Technical

    considerations • Popular CICD tools • References
  3. • Learning curve • Commercial or open source? • Price

    • On premises or cloud? • Different team use different CICD tool? Organization considerations
  4. • Totally free for small project • Free for open

    source • Per user • By usage • Enterprise custom pricing • Instance for self-hosted open source Price
  5. • Organization policy • Maintenance cost • Network Latency •

    Scale size • Flexible to customize • Hybrid strategy On premises or cloud?
  6. • Federation identity support • Organizational structure ◦ SRE workbook

    - chapter 6: case study 2 Different team use different CICD tool?
  7. • OS ecosystem • CICD tools plugin ecosystem • Community

    • Learning curve • SaaS or self-hosted • Artifact management Technical considerations
  8. • Can we customize it easily? • What is your

    orchestration? • Visibility • Metric
  9. • SCM (source control management) plugin • Language/platform plugin •

    Cloud provider service plugin • Cluster management plugin • Notification plugin • Issue tracking plugin • …...and many CICD tools plugin ecosystem
  10. No matter open source or commercial software, all need population

    • Open source project can be more stable • Commercial software can be more understand their users • Different scenario experience sharing Community
  11. • Types of artifact • Integration • Access management for

    private repository • SaaS or self-hosted Artifact management
  12. • Commercial vs. open source • Configuration as code after

    customization • Re-usable CICD libraries Can we customize it easily?
  13. • Bare metal, VM or container? • Deployment strategies •

    CICD tool should inside or outside orchestration cluster? What is your orchestration?
  14. • Metric aggregation • CICD pipeline metric 1. Lead time

    (Duration) 2. Time to recovery (Mean Time to Recovery) 3. Deployment frequency (Throughput) 4. Change failure rate (Success Rate) Metric
  15. • General CICD tools • Cloud provider CICD tools •

    Mobile application CICD tools • GitOps CICD tools • Infrastructure CICD tools Popular CICD tools
  16. • Open source with rich community support • More than

    1400 plugins • Configuration as code • Steep learning curve • Easy customize • Commercial support (CloudBees CI/CD) • Only self-hosted Jenkins
  17. • Free for open source project • Focus on CI

    • Provide IP range on cloud • Suit for small to big team Travis CI
  18. • Free for limit usage on private project • Auto-cancel

    redundant builds • Nice UI/UX • Multi-language support • Suit for small to big team Circle CI
  19. • Free for limit usage on private project • Open

    source project • Start at source control management (SCM) • Include artifact management • Commercial support GitLab CI/CD
  20. • Excellent integration with their product • Steep learning curve

    • Complex cost calculate by usage • Vendor lock-in issue AWS pipeline solution
  21. • Out-of-box email notifications • Calendar views • Good at

    UI/UX • Support Azure pipeline agent on macOS • Pay by users and additional services Azure pipeline
  22. • Open source absolute free • Rich community-powered workflow •

    Multi-container testing • macOS VM support GitHub Actions
  23. • Free for limit usage on private project • Easy

    to set up • Rich re-use CICD libraries • Trace service in BETA • Not very support private network Bitrise
  24. • Free for limit usage on private project • Total

    solution for App ◦ CICD ◦ SDK for monitoring ◦ User tracking App Center
  25. • Open source • Watch container image update • Only

    1 repository per Flux operator • Multi cluster manage not very effectively • No GUI unless you pay to Weaveworks • Configuration drift detection • More coming on Flux 2 Flux
  26. • Open source • Multi repositories • Multi cluster •

    Good UI/UX dashboard • Configuration drift detection • Suit for multi team ArgoCD
  27. • GitOps solution of CICD for Kubernetes • It’s total

    solution with many component • Including CI and CD • Suit for new project with new environment • Only self-hosted Jenkins X
  28. • Free up to 5 members • Easy to teamwork

    on changes • Rich community • Status management • User management feature need to pay Terraform Cloud
  29. • Resources graph view • CICD is base on other

    CICD tool • Pulumi GitHub App Pulumi Cloud
  30. • Top Pressing Concerns for CI/CD in 2020 • Tips

    for Choosing the Right CI/CD Tools • Choosing the Right Continuous Integration Tool • Continuous Delivery And Release Automation, Q2 2020 • ON-PREMISES VS. CLOUD • SRE Books • Developing C# on Linux • Browse Jenkins plugin • OCI Image Format • Deployment Strategies on Kubernetes
  31. • Measuring DevOps by CD Foundation • Four Keys project

    • How to find and monitor engineering metrics for team success by circleci • How to measure DevOps success: 4 key metrics by circleci • Jenkins vs Travis CI vs Circle CI vs TeamCity vs Codeship vs GitLab CI vs Bamboo • CI/CD tools compared: CircleCI and Travis CI vs. major CSPs
  32. • Travis CI is no longer providing CI minutes for

    open source projects • Jenkins X concept • Jenkins X overview • Free build on Bitrise limit (is cancel right now) • ArgoCD vs Flux • FluxCD, ArgoCD or Jenkins X: Which Is the Right GitOps Tool for You? • Terraform Cloud • Pulumi