Devops là gì? Các khái niệm cơ bản Devops cần biết?

Devops là gì?

DevOps là một văn hóa làm việc kết hợp giữa bộ phận phát triển phần mềm (dev) với bộ phận operator (kỹ sư hệ thống, nhân viên bảo mật, kỹ sư mạng, kỹ sư hạ tầng,…) nhằm mục đích rút ngắn vòng đời phát triển sản phẩm (SDLC).

DevOps không phải là một Tools hỗ trợ làm việc, mà là một phương pháp làm việc cần đến sự hỗ trợ của các Tools. Ngoài ra, không có bất cứ một tiêu chuẩn nào để những những người sử dụng phương pháp DevOps để tuân theo. Nó chỉ đơn giản là một văn hóa, một cách làm việc kết hợp giữa dev và nhân viên operations thay vì làm việc một mình hay chỉ một team độc lập nào đó.

Devops Best practices

Build Automation

Continuous Integration (CI/CD)

New Pluralsight course: Continuous Integration and Continuous ...

Infrastructure as Code

Infrastructure as Code — Roadmap To Agile

Continuous Delivery và Continuous Deployment

Continuous Development là phương pháp đảm bảo code được triển khai bất cứ khi nào thay vì quyết định phải build, merge, deploy code.

Một số người khi nhắc đến Continuous Delivery thường viết tắt là CD, tuy nhiên cách gọi tắt này sẽ khiến nhầm lẫn giữa Continuous Delivery và Continuous Deployment.

Continuous Deployment là một practice đảm bảo code thay đổi (có size nhỏ) được deploy liên tục lên product.

Vậy Continuous Delivery và Continuous Deployment khác nhau như thế nào ?

Continous Delivery đảm bảo cho code có thể deploy một cách tự động. Trong khi Continuous Deployment là phương pháp đảm bảo cho code được deploy mà vẫn có sự kiểm duyệt từ bộ phận quản lý sản phẩm.

Continuous Integration vs Continuous Delivery vs Continuous ...
Tương quan giữa Continous Delivery và Continous Development

Trên thực tế Continuous Delivery và Continuous Deployment được thực hiện theo flow sau:

  • Mỗi version code đưa lên đều trải qua một quy trình giống nhau, bao gồm: build automation, test automation,… Và nếu không có vấn đề gì xảy ra nghĩa là code đó có thể deploy.
  • Sau khi quyết định deploy thì sẽ thực hiện deploy tự động (deploy automation).
  • Nếu việc deploy gặp lỗi, hệ thống sẽ tự động rollback.
  • Developer sẽ nhanh chóng fix lỗi và redeploy version fix lỗi.

Với cách làm như vậy Continuous Delivery và Continuous Deployment sẽ đem lại những lợi ích như dưới đây:

  • Nhanh chóng đưa sản phẩm đến tay khách hàng
  • Giảm thiếu các vấn đề xảy ra khi deploy
  • Giảm thiếu risk: lượng deploy trong 1 lần càng nhiều, risk càng cao. Việc chia nhỏ lượng deploy sẽ giảm thiểu risk.
  • Rollback lập tức khi xảy ra lỗi
  • Giúp developer không còn lo lắng khi deploy khi đã có chức năng roll back automation.

Mối liên hệ giữa Devops và Cloud

Difference between Cloud and DevOps | Live Blogspot
Mối tương quan giữa Devops và Cloud

Devops và Cloud là 02 khía cạnh khác nhau thúc đẩy quá trình phát triển sản phẩm hướng dich vụ của doanh nghiệp trong thời đại số hiện nay.

  • Devops là một quá trình hỗ trợ quá trình cung cấp phần mềm nhanh chóng, liên tục và ổn định
  • Trong khi đó Cloud hỗ trợ quá trình mở rông tài nguyên hạ tầng nhanh chóng đồng bộ với nhu cầu khách hàng phát triển mạnh mẽ của doanh nghiệp.

Sau đây là 03 lý do chứng minh sức mạnh của việc kết hợp giữa Devops và Cloud khi song hành cùng nhau.

  • Chuyển từ sản phẩm sang dịch vụ
  • Chuyển từ quá trình phát triển ổn định sang phát triển linh hoạt
  • Phát triển đồng bộ trang thiết bị và kỹ thuật

Tham khảo:

https://viblo.asia/p/tim-hieu-ve-devops-phan-1-ByEZk9Mo5Q0

Mỗi liên hệ giữa Devops và Cloud

Leave a Reply

Your email address will not be published. Required fields are marked *