Tại sao DevOps lại quan trọng đối với Chiến lược CNTT của bạn

Tác Giả: Louise Ward
Ngày Sáng TạO: 6 Tháng 2 2021
CậP NhậT Ngày Tháng: 26 Tháng Sáu 2024
Anonim
LỘ TRÌNH DEVOPS: KINH NGHIỆM HỌC VÀ THI CHỨNG CHỈ CNTT
Băng Hình: LỘ TRÌNH DEVOPS: KINH NGHIỆM HỌC VÀ THI CHỨNG CHỈ CNTT

NộI Dung



Nguồn: Nexusplexus / Dreamstime.com

Lấy đi:

DevOps - sự hợp nhất giữa phát triển và vận hành - là một phương pháp phát triển phần mềm đang trở nên phổ biến do hiệu quả của nó.

Bất kể chiến lược CNTT của bạn là gì, có thể đoán được một cách an toàn rằng mọi chiến lược CNTT đều nhằm mục đích cung cấp kịp thời phần mềm chất lượng, khắc phục sự cố nhanh chóng, cải thiện trải nghiệm người dùng và sử dụng tài nguyên tối ưu. Các mô hình phát triển phần mềm truyền thống, với các mức độ khác nhau, đã không đạt được các mục tiêu này. Các công ty đã đấu tranh để tìm sự cân bằng giữa việc cung cấp kịp thời phần mềm chất lượng và sử dụng tối ưu các nguồn lực. Giờ đây, sự sẵn có của phần mềm trong đám mây có nghĩa là người dùng có thể truy cập phần mềm thông qua các trình duyệt tiêu chuẩn. Kết quả là, phản hồi và các vấn đề đang tràn ngập, khiến các công ty phần mềm chịu áp lực rất lớn để đưa ra các bản sửa lỗi một cách nhanh chóng. Một lý do chính cho các vấn đề như vậy là ngắt kết nối giữa các nhóm phát triển, QA và hoạt động. Khái niệm DevOps đã và đang giúp các công ty quản lý các vấn đề này thông qua sự hợp tác lớn hơn giữa các nhóm và chủ động quản lý các vấn đề. Nguyên tắc DevOps đang được kết hợp trong các mô hình phát triển phần mềm của nhiều công ty.


DevOps là gì?

DevOps là một nền văn hóa phát triển phần mềm gần đây đã định nghĩa lại cách các công ty nên phát triển và quản lý phần mềm trong một kịch bản kinh doanh đã thay đổi. Giờ đây, nhiều ứng dụng phần mềm được lưu trữ trên đám mây và được cung cấp cho người dùng thông qua các trình duyệt. Người dùng cũng được cung cấp các con đường để công bố phản hồi hoặc vấn đề của họ. Nhờ đó, các công ty nhận được rất nhiều phản hồi nhanh chóng. Tình huống này khác với trong phát triển phần mềm truyền thống, khi các lỗi hoặc sự cố được báo cáo thông qua một số kênh được chỉ định và mất một khoảng thời gian nhất định để tiếp cận nhóm có liên quan. Báo cáo thường xuyên về các lỗi và các vấn đề gây áp lực lớn cho công ty để khắc phục vấn đề nhanh chóng. Trong các mô hình phát triển phần mềm truyền thống, các nhóm phát triển, QA và các hoạt động bị ngắt kết nối với nhau, dẫn đến phản ứng chậm trễ đối với các vấn đề. Trong một môi trường cạnh tranh, đó có thể là một yếu tố quan trọng.


Thuật ngữ DevOps đã được tạo ra bằng cách kết hợp các từ "phát triển" và "hoạt động" và ý tưởng chính là sự phối hợp giữa các nhà phát triển và nhóm vận hành. Trong văn hóa DevOps, làm việc trong các silo không được chấp nhận. Các nhà phát triển, QAs và nhân viên vận hành được khuyến khích nghĩ về tổng số phần mềm có thể phân phối và những gì họ có thể làm để phát hành một phần mềm chất lượng. Ví dụ, nhà phát triển được khuyến khích nghĩ về các kịch bản có thể xảy ra sau khi mã được kiểm tra, chẳng hạn như các kịch bản phá mã, cho dù các trường hợp sử dụng là các vấn đề về trải nghiệm người dùng giả định hoặc thực tế. Để có câu trả lời cho những câu hỏi này, nhà phát triển cần liên hệ với QA và các nhóm hoạt động. Các đội cũng cần chủ động lập kế hoạch cho các vấn đề có thể và quản lý của họ.

Tóm lại, ý tưởng chính đằng sau DevOps là tăng cường hợp tác giữa nhóm phát triển và vận hành, thấy trước và ngăn chặn các vấn đề, ngừng suy nghĩ trong silo và suy nghĩ về việc đóng góp vào chất lượng phần mềm nói chung. (Để tìm hiểu thêm về DevOps, xem DevOps 101.)

Nguyên tắc DevOps

Ba nguyên tắc chính thúc đẩy văn hóa DevOps trong các công ty khác nhau được mô tả dưới đây.

Bạn không thể cải thiện kỹ năng lập trình của mình khi không ai quan tâm đến chất lượng phần mềm.

Nghiên cứu điển hình về DevOps

Amazon tự chuyển đổi từ một nhà bán lẻ trực tuyến thành người tiên phong trong không gian đám mây với việc phát hành Amazon Web Services (AWS), một IaaS theo yêu cầu hiện đang được sử dụng rộng rãi. Tuy nhiên, khi Amazon bước vào lĩnh vực dịch vụ đám mây, công ty không biết nhiều về chủ đề này. Có rất nhiều rủi ro. Vậy làm thế nào mà Amazon tạo ra một thành công lớn như vậy? (Để biết thêm về AWS, hãy xem Dịch vụ web của Amazon mang đến điều gì cho đám mây?)

Chiến lược làm thế nào Amazon trở nên thành công được cho là một bí mật, nhưng một trong những nhân viên cũ của nó, Steve Yegge, đã rò rỉ một bản ghi nhớ nội bộ cung cấp các chi tiết quan trọng về những gì Jeff Bezos muốn các nhân viên làm để biến AWS thành công.

  • Tất cả các đội phải phơi bày dữ liệu, tính năng và chức năng thông qua giao diện dịch vụ web.
  • Các nhóm phải liên lạc với nhau thông qua các giao diện dịch vụ web này. Không có hình thức giao tiếp nào được cho phép như liên kết hoặc chia sẻ.
  • Các nhóm được phép sử dụng bất kỳ công nghệ nào để sử dụng các giao diện dịch vụ web - HTTP, CORBA, pubub, các giao thức tùy chỉnh - không thành vấn đề.
  • Tất cả các giao diện dịch vụ web phải được thiết kế sao cho các giao diện có thể được tiếp xúc với thế giới bên ngoài.

Tóm lại, các kỹ sư tại Amazon được yêu cầu xây dựng các dịch vụ web thông qua đó họ có thể chia sẻ dữ liệu và đó sẽ là phương tiện duy nhất để chia sẻ dữ liệu. Bất kỳ nhóm nào cần một số dữ liệu từ một nhóm khác cần tìm các dịch vụ web phù hợp thông qua đó họ sẽ đặt yêu cầu. Nếu không tìm thấy dịch vụ web phù hợp, họ có thể leo thang vấn đề. Các nhóm xây dựng một dịch vụ web cũng cần thiết để bảo mật các dịch vụ web để không thể truy cập chúng mà không cần xác minh thông tin đăng nhập của người dùng.

Vậy, DevOps đi vào đâu trong bức tranh này? Là một phần của sáng kiến ​​AWS, một số lượng lớn các dịch vụ web đã được tạo ra, sử dụng và thử nghiệm với số lượng nhân viên khổng lồ. Đương nhiên, toàn bộ gam hoạt động dẫn đến việc tạo ra một số lượng lớn các trường hợp thử nghiệm, các vấn đề, lỗi và các trường hợp sử dụng. Rõ ràng, hầu hết tất cả các nhóm đã tham gia và đóng vai trò của họ - các nhà phát triển đã phát triển các dịch vụ web, các vai trò khác nhau đã truy cập vào các giao diện và báo cáo các vấn đề, nếu có. Các nhà phát triển phải liên tục cộng tác với các hoạt động, QA và các vai trò khác để đảm bảo rằng các dịch vụ web đạt mức chất lượng tối thiểu.

Phần kết luận

Đối với tất cả những lợi ích mà DevOps mang lại, không dễ để thực hiện nó trên toàn tổ chức. Vì đó là về văn hóa, việc phá vỡ các rào cản và thúc đẩy văn hóa giao tiếp trôi chảy có thể mất rất nhiều thời gian. Sự thay đổi phải đến từ đầu. Việc thực hiện hệ thống mới có thể đối mặt với sự kháng cự dưới nhiều hình thức khác nhau. Không có cách duy nhất để triển khai DevOps trên các tổ chức do tính chất độc đáo của các môi trường làm việc khác nhau. Các tổ chức nên nghiên cứu phương pháp nào sẽ hoạt động tốt nhất cho hoàn cảnh của họ.