Posts

DevOps là gì

DevOps là từ viết tắt của cụm từ Development and Operations. DevOps là một thuật ngữ trong phát triển phần mềm để chỉ mối liên quan giữa quá trình phát triểnquá trình vận hành phần mềm. Khi triển khai kĩ thuật Triển khai Liên tục (CD) sẽ dẫn đến nhu cầu cộng tác chặt chẽ giữa nhóm phát triển (development) và nhóm vận hành (operation). Nhu cầu này đã cho ra đời các công cụ tự động để tích hợp các công đoạn và cộng tác giữa các bên liên quan. Có một công thức nói lên tính chất này:

DevOps = Development + Operation

CD – Continuous Deployment là gì

Triển khai Liên tục (CD) được coi như phần mở rộng của Tích hợp Liên tục (CI).

CD là kĩ thuật này được sử dụng để giảm thiểu thời gian chờ, khoảng thời gian mà người dùng thật sự được sử dụng phần mềm với những mã nguồn mới nhất được viết bởi nhà phát triển. Giống như CI, kĩ thuật này được triển khai với sự trợ giúp của một loạt các công cụ tự động.

[AgiCoffee] Tháng 6/2016 – Docker từ những chiến hào

Ngày 29/06/2016 AgiCoffee số 3 với chủ đề “Docker từ những chiến hào” đã được chia sẻ bởi anh Nguyễn Ngọc Tú và anh Lê Văn Thuận đến từ NAL Group. Họ là những “kiến trúc sư” kiêm “nhà phát triển cơ sở hạ tầng” trong việc phát triển và vận hành sản phẩm của NAL ở nhiều nền tảng từ Java IoT cho tới PHP và Mobile. Họ đã sử dụng từ những hệ thống máy ảo cho tiến tới việc sử dụng Docker. Bên cạnh đó là những động lực, khó khăn khi áp dụng các công cụ khác nhau như Jenkin, Docker, SonarQube, cũng như cách họ vượt qua khó khăn để có được kết quả hiện tại.

AgiCoffee#3-1

Các phương pháp phát triển Agile giúp phản hồi nhanh bằng cách phát triển theo các phân đoạn (Iteration) ngắn. Tuy nhiên cách làm này lại tốn rất nhiều công sức như: phải rà soát code nhiều lần, phải chạy kiểm thử nhiều lần… Một điểm nữa rất phức tạp là việc cài đặt sản phẩm để chạy tốn rất nhiều công sức cũng như rủi ro.
DevOps đã được sinh ra để giải quyết vấn đề đó, giúp thích ứng nhanh trong quá trình phát triển (Development) mà không làm giảm sự ổn định ở quá trình vận hành (Operation).

Buổi nói chuyện của anh Tú và anh Thuận đã chia sẻ những giải pháp của NAL Group với DevOps sử dụng các công cụ: Docker, Jenkins, SonarQube. SonarQube giúp phân tích code để đưa ra những đánh giá về chất lượng code dựa trên những quy tắc, tiêu chuẩn như coding convention, độ phức tạp của hàm, độ dài của hàm, của lớp, …. Jenkins để tích hợp các bên liên quan và tích hợp tự động, chạy kiểm thử tự động. Docker là giải pháp rẻ và nhẹ nhàng để cài đặt và chạy các ứng dụng (Jenkins, SonarQube, môi trường build, môi trường kiểm thử, và thậm chí là môi trường vận hành).

AgiCoffee là hoạt động định kỳ hàng tháng của Học viện Agile dành riêng cho học viên nhằm kết nối cộng đồng học viên với nhau và với các chuyên gia trong việc thực hành Agile.

Agipedia

CD – Continuous Deployment

Triển khai Liên tục (CD) được coi như phần mở rộng của Tích hợp Liên tục (CI).

CD là kĩ thuật này được sử dụng để giảm thiểu thời gian chờ, khoảng thời gian mà người dùng thật sự được sử dụng phần mềm với những mã nguồn mới nhất được viết bởi nhà phát triển. Giống như CI, kĩ thuật này được triển khai với sự trợ giúp của một loạt các công cụ tự động.

DevOps

DevOps là từ viết tắt của cụm từ Development and Operations. DevOps là một thuật ngữ trong phát triển phần mềm để chỉ mối liên quan giữa quá trình phát triển và quá trình vận hành phần mềm. Khi triển khai kĩ thuật Triển khai Liên tục (CD) sẽ dẫn đến nhu cầu cộng tác chặt chẽ giữa nhóm phát triển (development) và nhóm vận hành (operation). Nhu cầu này đã cho ra đời các công cụ tự động để tích hợp các công đoạn và cộng tác giữa các bên liên quan. Có một công thức nói lên tính chất này:

DevOps = Development + Operation