Helpex - Trao đổi & giúp đỡ Đăng nhập

Sáu công cụ triển khai phần mềm cần thiết cho các ứng dụng không có lỗi

Việc triển khai không tốt là một vấn đề tiêu tốn tài nguyên của mọi nhóm phát triển. Nếu không có sự trợ giúp của các công cụ triển khai phần mềm, việc phát hiện ra một triển khai tồi giống như mò kim đáy bể. Gần 1/3 các doanh nghiệp phần mềm dựa vào người dùng cuối của họ để báo cáo những lỗi này. Ở công ty cuối cùng mà tôi làm việc, chúng tôi sẽ triển khai, đợi một hoặc hai ngày và cho rằng mọi việc đều ổn vì chúng tôi không nghe thấy nhiều lời phàn nàn.

Điều mà chúng tôi không đề cập đến là chỉ 1% khách hàng báo cáo lỗi phần mềm và bất kỳ báo cáo nào thường mơ hồ và không bao giờ đưa ra chi tiết chẩn đoán. Nhưng chúng tôi đã không biết một cách tốt hơn. 

Trên thực tế, quy trình phát triển của chúng tôi có thể được tự động hóa tốt hơn để tránh triển khai không tốt và phát hiện lỗi - mà không cần dựa vào khách hàng để thông báo cho chúng tôi. 

Sáu công cụ triển khai phần mềm cần thiết cho các ứng dụng không có lỗi

Đầu tiên, Triển khai "Xấu" là gì?

Các dấu hiệu cảnh báo về việc triển khai đã gây ra sự cố:

  • Tăng thời gian tải P99.
  • Khách hàng sử dụng phương tiện truyền thông xã hội.
  • Tỷ lệ lỗi cao hơn.
  • Phiên khách hàng ngắn hơn.

Tôi không nói rằng hãy đợi cho đến khi việc triển khai của bạn hoàn hảo. Sự không hoàn hảo là một phần của quá trình phân phối liên tục. Trong nhóm phát triển của chúng tôi, chúng tôi nói, "Di chuyển nhanh và phá vỡ mọi thứ - chỉ cần sửa chúng nhanh chóng."

Bạn có thể nghĩ rằng chỉ một lần triển khai tồi không thể có nhiều ảnh hưởng đến kinh doanh. Một ví dụ về việc triển khai  khủng khiếp đã xảy ra ở Phố Wall chỉ vài năm trước. Knights Capital Group mất 400 triệu USD tài sản và phá sản chỉ sau 45 phút chỉ vì một lần triển khai thất bại. Nghe có vẻ quá tệ để trở thành sự thật, nhưng việc triển khai cụ thể này đã gây ra sự tàn phá hoàn toàn:

“Trong quá trình triển khai mã mới, một trong những kỹ thuật viên của Knight đã không sao chép mã mới vào một trong tám máy chủ máy tính SMARS. Knight không có kỹ thuật viên thứ hai xem xét việc triển khai này và không ai ở Knight nhận ra rằng mã Power Peg chưa bị xóa khỏi máy chủ thứ tám, cũng như mã RLP mới được thêm vào. Knight không có thủ tục bằng văn bản nào yêu cầu xem xét lại như vậy ”. -SEC Nộp hồ sơ | Phát hành số 70694 | Ngày 16 tháng 10 năm 2013.

Trong một phân tích sau khi triển khai , Doug Seven, chuyên gia DevOps khuyên hai nguyên tắc có thể ngăn chặn sự sụp đổ của Knights Capital:

  • Việc phát hành phần mềm phải là một quá trình lặp lại và đáng tin cậy.
  • Tự động hóa càng nhiều càng tốt.

Người ta thường tin rằng các công cụ khác nhau là đắt tiền và không cần thiết. Tuy nhiên, chi phí đó không đáng kể so với chi phí không tích hợp các công cụ hỗ trợ quá trình triển khai. Dưới đây, tôi đã nêu bật sáu công cụ triển khai phần mềm thiết yếu sẽ làm cho quy trình triển khai của bạn đáng tin cậy hơn và có thể lặp lại, với một vài ví dụ.

Công cụ tích hợp liên tục (CI): Luôn luôn kiểm tra 

Khi các công ty phần mềm phát triển, cơ sở mã của họ cũng vậy. Các công cụ CI như  TeamCity,  Jenkins và Visual Studio xây dựng sản phẩm của bạn sau mỗi thay đổi do nhà phát triển thực hiện để đảm bảo cơ sở mã có thể tạo ra sản phẩm có thể giao hàng mọi lúc.

Mặc dù các công cụ CI rất tốt để xây dựng sản phẩm của bạn, chúng cũng có thể chạy các bài kiểm tra đơn vị cho bạn. Các cơ sở mã liên tục thay đổi, vì vậy việc có một hệ thống xác thực các sản phẩm của bạn khi chúng thay đổi là một tuyến phòng thủ tốt.

Phần mềm triển khai tự động: Quay lại nếu cần

Triển khai thủ công dễ xảy ra lỗi do lỗi của con người. Tự động hóa quy trình triển khai với  Octopus Deploy  và AWS CodeDeploy giúp mọi người trong nhóm triển khai các tính năng mới một cách an toàn nhiều lần một ngày dễ dàng hơn ( ví dụ: chúng tôi triển khai tối đa sáu lần một ngày ).

Đã đăng ký một triển khai kém? Không vấn đề gì. Chỉ với một vài cú nhấp chuột, bạn có thể nhanh chóng triển khai một triển khai lành mạnh trước đó mà không cần sự can thiệp của nhà phát triển.

Báo cáo sự cố: Phát hiện sớm các triển khai không hợp lệ và tránh thông báo lỗi mơ hồ

Sự cố phần mềm và sự cố hiệu suất do triển khai kém là điều khó nắm bắt. Các tệp nhật ký không thể truy cập chôn giấu thông tin quan trọng đằng sau các báo cáo lỗi mơ hồ như “Triển khai không thành công”. Sự thật là, càng có nhiều thông tin về các vấn đề thì càng tốt. Nhập Báo cáo sự cố.

Phần mềm báo cáo sự cố đóng vòng phản hồi giữa nhà phát triển và khách hàng bằng cách cung cấp các chi tiết như dấu vết ngăn xếp. Ví dụ: Raygun có tính năng theo dõi triển khai sẽ cảnh báo bạn về các lỗi đột biến bất thường sau khi triển khai và thậm chí cho bạn biết phiên bản nào đã giới thiệu các vấn đề. Việc sửa lỗi trở nên nhanh hơn rất nhiều. 

Trong trường hợp của Knight, các báo cáo lỗi nêu bật việc triển khai không tốt đã được đưa vào hộp thư đến của nhân viên nhưng không được đánh dấu là "nghiêm trọng", có nghĩa là các email vẫn chưa được mở. Báo cáo sự cố và lỗi sẽ biến các báo cáo lỗi chỉ thành một bản thông báo.

Mặc dù báo cáo sự cố là tuyệt vời cho các vấn đề nghiêm trọng, nhưng nó không kể toàn bộ câu chuyện về các vấn đề không nghiêm trọng khác khiến khách hàng thất vọng. Bạn có thể làm gì để kể một câu chuyện hay hơn về trải nghiệm của khách hàng?

Phần mềm phân tích: Hiểu được bức tranh lớn hơn 

Analytics giúp bạn hình dung các vấn đề cấp cao để các nhà phát triển có thể hướng tới các giải pháp cấp thấp. Dữ liệu mà phân tích hiển thị không chỉ có thể cho bạn biết những con số khó như mua hàng đã thực hiện mà còn khó hơn để đo lường các chỉ số như tỷ lệ giữ chân người dùng. Phần mềm phân tích, như Giám sát người dùng thực , sẽ cho bạn biết chính xác vị trí của các vấn đề về hiệu suất và bạn có thể làm gì để khắc phục chúng. 

Sử dụng phân tích trong sản phẩm của bạn sẽ giúp vẽ nên bức tranh toàn cảnh hơn theo thời gian nếu bạn có triển khai không tốt hay không. Các công cụ phân tích tốt sẽ cho phép bạn trở nên chi tiết hơn - ngay cả đối với người dùng bị ảnh hưởng. 

Công cụ Quản lý Hiệu suất Ứng dụng (APM): Biết Môi trường của Bạn

Bạn vừa triển khai một tính năng mới mang lại rất nhiều khách hàng mới. Thật tuyệt! Nhưng liệu cơ sở hạ tầng của bạn có thể xử lý lượng khách hàng mới, tất cả đều điều hướng qua phần mềm của bạn không? 

Nếu cơ sở hạ tầng của bạn chưa sẵn sàng, bạn có thể nhận được một số khách hàng truy cập mạng xã hội hỏi về thời gian tải chậm trên trang web của bạn. Việc nêu vấn đề với nhóm phát triển có thể dẫn đến câu trả lời: "Tôi không biết, đó là vấn đề với máy chủ ... Tôi nghĩ vậy?"

Các công cụ APM giúp làm sáng tỏ các hộp đen là máy chủ của bạn. Đôi khi vấn đề không phải là lỗi trong mã mà là môi trường mà nó sống. Các công cụ APM cung cấp cho bạn thông tin chi tiết về việc triển khai đó là tồi tệ hay chỉ là bản chất của môi trường mà nó đang sống.

Công cụ ChatOps: Nhận thông báo nhanh hơn

Các công cụ ChatOps như  Slack  và Hipchat rất tuyệt vời để giao tiếp trong nội bộ nhóm, nhưng chúng còn phát triển vượt trội hơn thế nữa. Giờ đây, chúng có thể tích hợp với các công cụ triển khai phần mềm khác của bạn để liên lạc tốt hơn. 

Bạn muốn biết khi nào máy chủ của bạn đang tải nặng? Bạn không còn cần phải nhìn chằm chằm vào những con số luôn thay đổi với hy vọng phát hiện ra một vấn đề. Thiết lập các điều kiện và tích hợp công cụ ChatOps với phần mềm phân tích của bạn. Các công cụ phân tích hoặc APM của bạn sẽ tự động cho bạn biết khi có điều gì đó cần bạn chú ý. Các công cụ ChatOps tự động cảnh báo bạn về các sự cố. 

Các công cụ triển khai phần mềm làm cho cuộc sống của bạn trở nên dễ dàng hơn

Tất cả là về việc phần mềm của bạn cho bạn biết điều gì sai, vì vậy khách hàng của bạn không cần phải làm như vậy. Như Doug Seven giải thích, “Việc xây dựng phần mềm tuyệt vời và thử nghiệm nó là chưa đủ; bạn cũng phải đảm bảo rằng nó được đưa ra thị trường một cách chính xác để khách hàng của bạn nhận được giá trị mà bạn đang cung cấp (và do đó bạn không phá sản công ty của mình). "


7 hữu ích 0 bình luận 5.8k xem chia sẻ

Có thể bạn quan tâm

loading