DevOps là gì ? Phần I

_Trong vài năm trước, một bước tiến mới đã bắt đầu định hình rõ ràng. Nó là một bước tiến của những người nghĩ rằng đã đến lúc cần phải thay đổi, đã đến lúc cần phải ngăn chặn sự lãng phí tiền bạc, đã đến lúc để bắt đầu cho ra những phần mềm tốt nhất, những hệ thống phù hợp nhất. Bước tiến này được gọi là Devops. Vậy Devops là gì? Nó tới từ đâu? Nó có thể làm gì ? _

DevOps.jpg

Những Vấn Đề chúng ta đang cố gắng giải quyết:##

Hãy đối mặt với nó - những chỗ mà chúng ta đang bị mắc phải. Trong nền công nghiệp công nghệ thông tin, hay chi tiết hơn là trông nền công nghiệp phần mềm, đặc biệt là trong mảng web, có những nguyên nhân ngầm khiên cho project chạy muộn. Điều đó khiến cho khi project đến khâu giao nhận, nó sẽ không hiệu quả, những nhà đầu tư có thể từ chối đầu tư. Đó là điều băn khoăn của hầu hết những ai đang làm trong ngành công nghiệp phần mềm.

Hãy xem qua những vấn đề phổ biến chúng ta gặp phải trong thế giới phần mềm hiện nay :

Sợ Thay Đổi:###

Khi phần mềm được giao đi, người ta rất ngại việc thay đổi các xu hướng nghiệp vụ ( business tends ). Luôn có mối hoài nghi về phần mềm ấy, hay platform ấy là 1 thứ gì đó rất mỏng manh dễ vỡ. Những hệ thống quản lý thay đổi được đặt ở 1 nơi, nó chiếm cực nhiều thời gian + công sức cho việc giới thiệu tính năng mới, hay fix những vấn đề của phần mềm.

Những nguy cơ tiềm ẩn khi triển khai###

Một vấn đề nhức nhói khác là khái niệm về ricky deployment. Đây là khâu mà không ai tự tin nói rằng phần mềm sẽ hoạt động trên môi trường production. Code sẽ hoạt động như mong đợi hay không? Nó sẽ chịu đựng được sức tải thực tế chứ ? Thường thường chúng ta không có câu trả lời mà chỉ đẩy lên và chờ xem server có bị Failover hay không.

Nó hoạt động trên máy của tôi !

Một tình huống khá phổ biến mà chúng ta trải qua là các biểu hiện của phần mềm khi nó golive. Những vấn đề này thường được tìm thấy bởi Systems Adminitrators, Client services. Sau khi ddieuf tra, vấn đề được report tới các developers. Các developers nhìn qua và đáp lại : " Nó hoạt động trên máy của tôi ".

Tuy nhiên, nó gần như vô nghĩa. Tôi đã từng làm việc ở nơi mà code được phát triển trên nền Windows 2000, được test với Tomcat trên Window và triển khai trên Redhat ( Linux OS ), với phần mềm cân bằng tải, phiên bản Java khác , Tomcat khác. Nó không hoàn toàn có nghĩa là các file property trên máy developer giống với máy thật.

Phân tán:###

Hầu hết các dự án tôi từng làm, team bị chia thành Developers team, Testers team, Release managers và Sysadmins team làm việc độc lập. Dưới quan điểm của quy trình, đây là 1 sự lãng phí khủng khiếp. Nó cũng có thể dẫn tới việc sụp đổ bức tường triết lí - những vấn đề đã được thông qua giữa BA, Devs, QA và Sysadmins.Hơn nữa, ta thấy sự nhân rộng cấu trúc phân tán giữa các team - Không phải là điều bất thường để thấy được các database chuyên dụng , team network riêng trong cùng 1 team system, bên cạnh sysadmins. Kết cả là tiềm thức chúng ta - bọn họ, các nhóm bắt đầu e ngại , nghi ngờ với nhau.

Bước tiến DevOps đủ mạnh để chúng ta có thể tin tưởng rằng có cách xây dựng team tốt hơn.

Devops giúp giải quyết những vấn đề này như thế nào ?

  • Bước tiến Devops được xây dựng cho nhóm những người tin rằng ứng dụng phối hợp công nghệ hợp lý và thái độ có thể cách mạng hóa thế giới phần mềm.
  • Tiêu chí để lựa chọn là những sysadmin-coders có kinh nghiệm, tài năng, có hiểu biết rõ ràng về việc viết phần mềm là việc kiếm tiền và giao hàng. Quan trong hơn, những nguười này hiểu điểm chính - chúng ta là cùng 1 phe. Tất cả chúng ta - Devs, Testers, Managers, DBAs, Network technicains, sysadmins đang cố gắng để đạt được 1 điều chung : đưa ra chất lượng tốt, phần mềm đáng tin cậy và có lợi nhuận kinh doanh cho khách hàng.

Xem tiếp Phần II

NhatNH

Technical Specialist - TAIC