depops

DevOps là gì? Cần học gì để trở thành DevOps?

DevOps là một sự kết hợp của các nguyên lý, thực hành, quy trình và các tool giúp tự động hóa quá trình lập trình và chuyển giao phần mềm. Với DevOps, các công ty có thể “release” các tính năng nhỏ rất nhanh và kết hợp các phản hồi mà họ nhận được một cách nhanh chóng. DevOps là kết hợp của các cụm từ tiếng Anh software development và information technology operations.

Định nghĩa DevOps là gì?

DevOps là tên gọi mới, là sự kế thừa và phát triển của một quan niệm về phát triển phần mềm đã tồn tại từ khá lâu.

DevOps là sự kết hợp của từ Development (phát triển tính năng sản phẩm) + Operations (vận hành):

  • Giai đoạn phát triển (development) bao gồm phần việc của designer, developer, QA QC…
  • Giai đoạn vận hành (operations) có sự tham gia của system engineer, system administrator, operation executive, release engineer, DBA, network engineer, security engineer…
devops-la-gi-1

DevOps Engineer là gì?

Các công việc chính của DevOps Engineer gần giống với công việc của Sysadmin, bao gồm: deploy, optimizing, monitoring, analysis… Điểm khác biệt là:

  • DevOps Engineer đòi hỏi nhiều kĩ năng mềm hơn như phải có coding skill, scripting để automation hệ thống.
  • DevOps Engineer cần tìm hiểu về tech stack mà sản phẩm công ty đang sử dụng. Ngoài ra họ cũng có thể cùng review bug hay viết những unit test thông thường.

DevOps Engineer nay thường phải tham gia ngay vào giai đoạn phát triển nhằm:

  • Chuẩn hóa môi trường làm việc từ local cho đến production.
  • Hiểu sản phẩm hơn, để tối ưu hóa sản phẩm tốt hơn.
  • Nắm được cơ bản logic code, nắm được tiến trình của code chạy như thế nào.v.v…

DevOps cần học gì?

Để làm được devops bạn phải biết khá nhiều thứ về system cũng như coding và nhiều kỹ năng sau đây:

  • Biết và sử dụng thành thạo linux, window, macOS. Biết dùng thành thạo lệnh Terminal trong linux, CMD và powercell trong window và lệnh trong Linux hoặc Macos. Có kiến thức cơ bản về: Process Management, Threads and Concurrency, Sockets, I/O Management, Virtualization, Memory storage and File systems.
  • Nên có kiến thức cơ bản về: DNS, HTTP, HTTPS, FTP, SSL. Hoặc tìm hiểu thêm về các lỗ hổng bảo mật thường gặp.
  • Biết cài đặt và sử dụng vài Web Server phổ biến như: Apache và Nginx. Tìm hiểu một số khái niệm và chức năng thường được sử dụng: Caching Server, Load balancer, Reverse Proxy, and Firewall. Có thể bắt đầu với một vài practice với Docker đơn giản như:
    • Setup thử một vài cache server
    • Giả lập có nhiều servers dưới local bằng cách dùng các Docker container. Sử dụng chức năng Load balancer của Web server để cân bằng tải cho server.
  • Biết và sử dụng một số dịnh vụ cloud như AWS của amazon, google cloud, và azure của microsoft.
  • Biết code một số ngôn ngữ hệ thống như bashscript, java, javascipt , python, Php…
  • Biết dùng 1 số tool để truyển khai CI&CD như jenkins, jira , git (Gitlab, Bitbucket…)… Một DevOps Engineer nên biết Infrastructure as code):
    • Containers: Docker, Kubernetes
    • Các công cụ quản lý cấu hình: Ansible, Pupet, Chef,..
  • Biết sử dụng các tool monitoring server như: Nagios, Zabbix, Icing, Datadog…

Đọc thêm:

Nên làm việc cho các công ty Product hay Outsourcing?

Lợi ích lớn nhất của việc dùng DevOps là gì?

Những lợi ích chính của DevOps là:

  • Tăng cường sự cộng tác chặt chẽ giữa nhóm phát triển (development) và nhóm vận hành (operation), cũng như khả năng làm việc liên chức năng (cross-functional).
  • Nâng cao tần suất triển khai (deployment), giúp rút ngắn thời gian phát triển/cải tiến sản phẩm.
  • Tận dụng các công cụ tự động hóa, giúp hạn chế rủi ro, giảm tỉ lệ thất bại.
  • Thời gian phục hồi sản phẩm nhanh hơn.

Tất cả đều phục vụ cho mục đích cuối cùng là cải thiện khả năng cung cấp dịch vụ IT một cách nhanh chóng. Từ đó, tăng khả năng cạnh tranh của sản phẩm/doanh nghiệp.

Tổng kết

Trên đây là một số điều cần biết về DevOps. Chúc bạn học tốt.

Nguồn video: Phạm Huy Hoàng

Xem thêm:

Sự khác nhau giữa HTTP và HTTPS

10 phương pháp tự học lập trình

Học PHP

SQL là gì? Tổng quan về SQL

Transaction trong SQL

Cách sử dụng Google để có kết quả tìm kiếm tốt hơn

Học JavaScript

Bài viết liên quan

Leave a Reply

Your email address will not be published.