Tại sao phát triển phản đối hoạt động?


14

Tôi vẫn còn là một sinh viên, nhưng tôi không am hiểu về các hoạt động và tiếng Anh của tôi vẫn còn kém.

Câu hỏi của tôi là: Tại sao phát triển phản đối hoạt động ? Khi nào phát triển hoạt động chống đối?

Câu trả lời:


24

Quan điểm của DevOps, là sự phát triển không nên phản đối các hoạt động, thay vào đó chúng nên hỗ trợ lẫn nhau.

Theo truyền thống, do triển khai thác nước và cập nhật quy mô lớn, việc phát triển sẽ gây ra nhiều vấn đề khi triển khai do thử nghiệm không đầy đủ, thay đổi môi trường máy chủ, danh sách cứ lặp đi lặp lại. Về cơ bản, các bản cập nhật quá lớn để nhóm vận hành có thể triển khai chúng một cách hiệu quả mà không gặp một số vấn đề phát sinh trong quy trình. Những vấn đề này có thể là lý do tại sao bạn tin rằng sự phát triển phản đối các hoạt động .

Mặt khác, DevOps hoạt động để giảm kích thước cập nhật, giảm môi trường cứng nhắc và nói chung là cải thiện khả năng chuyển giao ứng dụng giữa phát triển và vận hành bằng cách tăng số lần chuyển giao xảy ra mỗi năm. Với số lượng triển khai tăng lên sẽ ít gây đau đầu hơn cho các hoạt động, bởi vì họ đã tự động hóa một lượng lớn công việc cần thiết để cập nhật sản phẩm, hoặc họ dự đoán và chuẩn bị tốt hơn cho các bản cập nhật.

Tldr: DevOps nhằm vô hiệu hóa lý thuyết rằng sự phát triển chống lại các hoạt động bằng cách tạo ra một tư duy trong đó các hoạt động và phát triển phối hợp với nhau để thường xuyên triển khai các sản phẩm một cách dễ dàng và có thể tái tạo.


"tăng số lần bàn giao xảy ra mỗi năm." Trong thực tế, trong một DevOps org hoạt động cao, nó sẽ liên tục. Liên tục thử nghiệm, tích hợp, giao hàng và triển khai trong sản xuất.
Travis Thompson

2
Tôi không nghĩ bạn có thể nói điều đó một cách dứt khoát. Việc triển khai liên tục không phù hợp với mọi dự án, nó phải được xem xét trong từng trường hợp cụ thể.
Adrian

12

Tôi nghĩ rằng bạn đã có một số câu trả lời toàn diện, nhưng bạn nói tiếng Anh của bạn không tốt, vì vậy tôi sẽ cố gắng cung cấp một câu trả lời rất ngắn gọn và dễ hiểu:

  • Mục tiêu chính của phát triển là tạo ra những thay đổi.
  • Mục tiêu chính của hoạt động là giữ cho môi trường ổn định.

Hai điều này mâu thuẫn. Điều đó đang được nói, phát triển và hoạt động không nên đối lập nhau. Họ nên làm việc cùng nhau để đảm bảo cả hai mục tiêu đều có thể đạt được. Đây là mục đích của DevOps.


11

Sự căng thẳng giữa phát triển và hoạt động thường được gây ra bởi việc sắp xếp sai các ưu đãi và cố gắng tối ưu hóa trong nhóm.

Các nhà phát triển thường được đánh giá bởi tốc độ và số lượng các vấn đề họ có thể giải quyết và sáp nhập vào kho lưu trữ mã và phần thưởng của họ thường không được gắn với mã đó thực sự hoạt động hoặc hoạt động chính xác. Ít quy mô hơn, hiệu suất và các yếu tố khác.

Các hoạt động thường được đánh giá dựa trên sự ổn định của môi trường và mã hoạt động tốt như thế nào trong sản xuất, nhưng hiếm khi về chất lượng của quy trình để mang lại những thay đổi nhanh chóng.

Điều này tạo ra vấn đề trong đó các nhà phát triển được khuyến khích tạo ra nhiều mã và ném nó qua tường cho nhóm vận hành và nhóm vận hành có động cơ chấp nhận càng ít thay đổi càng tốt để đảm bảo sự ổn định của môi trường.

DevOps là một cách để tập hợp các giải pháp cho vấn đề này:

  • Một số trong số họ có thể là tổ chức, nơi các quy trình và ưu đãi của các đội có thể thay đổi. Ví dụ: nếu công việc của nhà phát triển chỉ được đánh dấu là đã hoàn thành khi nó đang chạy trong sản xuất một thời gian, thì không có vấn đề gì và nhóm vận hành đồng ý nhận quyền sở hữu mã. Các hoạt động tương tự có thể được đánh giá nhiều hơn về tốc độ mà mã được chấp nhận, trong khi môi trường vẫn nằm trong một số giới hạn ổn định.
  • Một phần khác của giải pháp có thể là trong giao tiếp và đa hóa chéo, trong đó bạn nhúng những người vận hành vào nhóm phát triển và ngược lại. Bạn phá vỡ bức tường giữa các đội đó và các kỹ sư DevOps thường là kết quả của loại cầu nối này.
  • Các công cụ hỗ trợ các quy trình như Tích hợp liên tục và Triển khai liên tục là một phần khác của giải pháp, có thể tăng tốc độ thay đổi, trong khi vẫn giữ được chất lượng cao và phục hồi nhanh môi trường sản xuất trong trường hợp có bất kỳ sự cố nào thông qua việc khôi phục mã hoặc tiến trình khắc phục nhanh trong sản xuất.

7

Hầu hết các tổ chức đối phó với sự phức tạp bằng cách chia nhỏ tổ chức của họ thành các bộ phận chức năng và yêu cầu mỗi bộ phận tìm ra cách cải thiện chính nó. Điều này thường được gọi là phương pháp "silo".

Điều quan trọng là phải hiểu tại sao phương pháp silo này ngăn chặn sự thành công của doanh nghiệp và thường không cải thiện toàn bộ tổ chức. Và nó không ảnh hưởng đến sự phát triển và hoạt động - nó ảnh hưởng đến tất cả các silo chức năng khác trong một tổ chức lớn như nhóm đảm bảo chất lượng, tài chính, quản lý sản phẩm và dự án.

Khi các nhà quản lý của mỗi silo chức năng được lệnh cải thiện bằng cách cắt giảm chi phí hoặc tăng tốc độ, phản ứng của họ thường là:

  • Tôi hoàn toàn choáng ngợp khi sửa chữa các vấn đề từ nỗ lực cải tiến cuối cùng. Để tôi yên.
  • Bạn muốn tôi làm gì, hoàn thành trách nhiệm của mình hoặc làm việc trong các dự án cải tiến? Tôi không có thời gian để làm cả hai.
  • Không lập lại! Đây là một chương trình khác trong tháng.

Với những phản ứng điển hình này, bất kỳ nhà điều hành nào đưa ra một nỗ lực cải tiến nhỏ hiếm khi được chào đón với sự nhiệt tình. Các nhà quản lý thấy mình cạnh tranh khốc liệt với các khu vực chức năng khác về các nguồn lực cần thiết để thực hiện các cải tiến của họ. Vì vậy, không có gì lạ khi lệnh cải thiện tăng cường các trận chiến chức năng chéo!

Ngay cả khi người quản lý hoàn thành một phần của dự án cải tiến, anh ta sẽ gặp các khu vực chức năng khác và các tổ chức khác (nhà cung cấp, nhà thầu, v.v.) không làm việc của họ. Điều này làm giảm hoặc hoàn toàn phủ nhận kết quả.

Sự căng thẳng chức năng chéo này không giới hạn ở những nỗ lực cải tiến. Đó là trung tâm của việc ra quyết định hàng ngày và đánh giá hiệu quả quản lý trên toàn tổ chức. Đây là một ví dụ thực tế:

Một người quản lý tài chính đã nói, "cải thiện." Ông quyết định chặn các nhà thầu thuê có giá cao hơn giá danh nghĩa được chấp nhận trên thị trường. Ông đã thực hiện chính sách mới và tuyên bố đã tiết kiệm được 1 triệu đô la trong năm nay. Với các nhà phát triển và CNTT không thể thuê các nhà thầu để giúp họ sử dụng việc sắp xếp container và container vì các nhà thầu này rất tốn kém. Người quản lý hoạt động CNTT trong cùng một công ty đã tính toán rằng việc không cải thiện cơ sở hạ tầng của họ đã khiến công ty phải trả hơn 100.000 đô la chi phí thêm mỗi tháng. Với tốc độ đó, tiền tiết kiệm hàng năm trong việc thuê các nhà thầu đã bị ăn mòn trước khi năm kết thúc.

Bạn có thể tưởng tượng rằng mối quan hệ giữa hai khu vực chức năng này không chính xác là tình yêu.

Những xung đột chức năng chéo này được thúc đẩy bởi phương pháp silo, trong đó tổ chức đo từng silo để cải thiện một cách độc lập. Nếu bạn là một trung tâm chi phí, cải thiện một cách tự nhiên có nghĩa là hiệu quả cao hơn hoặc giảm chi phí trong silo của bạn.

Trong khung tham chiếu này, chi phí được coi là tuân theo quy tắc "phụ gia". Chi phí của mỗi silo cộng lại, bằng tổng chi phí của tổ chức. Do đó, các nhà quản lý thấy bất kỳ sự giảm chi phí nào trong khu vực của họ là "tốt", vì họ thấy một bản dịch trực tiếp để tiết kiệm chi phí cho toàn bộ công ty. Trong khung tham chiếu này, các nỗ lực cải tiến được lan truyền khắp nơi để tấn công chi phí và chất thải trong toàn tổ chức.

Một ví dụ tuyệt vời khi các nhóm phát triển bắt đầu làm việc Agile và đẩy mã sang QA và Hoạt động hai tuần một lần thay vì mỗi quý như trước đây. QA và Hoạt động chưa sẵn sàng cho một sự thay đổi như vậy và bị đổ lỗi cho việc trì hoãn. Một lần nữa, điều này không đóng góp nhiều cho tình yêu giữa những người trong sự phát triển và hoạt động.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.