Trang bị cho các nhà phát triển của chúng tôi bên trong Dell với ứng dụng thông minh

Bộ phận CNTT của Dell đang cung cấp cho các nhóm phát triển các công cụ có thể quan sát để hiểu rõ hơn và sở hữu các sản phẩm mà họ xây dựng.

Đây là phần tiếp theo của một loạt các blog về cách bộ phận CNTT của Dell đang giải mã cho trải nghiệm dành cho nhà phát triển đẳng cấp thế giới .

Khi Dell Digital , tổ chức CNTT của Dell, tiếp tục hành trình DevOps của chúng tôi và áp dụng cách tiếp cận Mô hình sản phẩm , vai trò của các nhà phát triển ứng dụng của chúng tôi đã thay đổi đáng kể. Các nhà phát triển không còn giao các ứng dụng mà họ tạo cho người khác vận hành, giám sát và quản lý. Giờ đây, họ sở hữu các ứng dụng của mình từ trên xuống dưới, trong suốt vòng đời của chúng. Để hỗ trợ điều này, Dell Digital cung cấp cho các nhà phát triển dữ liệu, công cụ và phương pháp họ cần để giúp họ hiểu rõ hơn về ứng dụng của mình.

Trong hai năm qua, nhóm sản phẩm Khả năng quan sát của chúng tôi đã phát triển quy trình giám sát ứng dụng truyền thống của chúng tôi thành cái mà chúng tôi gọi là Trí tuệ ứng dụng, một bộ công cụ và quy trình mở rộng hơn nhiều để thu thập dữ liệu và cung cấp cho các nhà phát triển để phân tích, theo dõi và quản lý ứng dụng mà họ xây dựng. Nó giúp họ hiểu rõ hơn về hiệu suất, hành vi, bảo mật của ứng dụng và quan trọng nhất là trải nghiệm người dùng. Đó là dữ liệu mà trước đây các nhà phát triển có quyền truy cập hạn chế, vì họ không có lý do gì để giám sát hoạt động của các ứng dụng của họ trong mô hình hoạt động cũ.

Khi các nhà phát triển bắt đầu sử dụng nhiều dữ liệu hơn để phát triển mô hình hoạt động DevOps của họ , một thách thức chính mà chúng tôi phải vượt qua là mức độ phân mảnh ngành cao. Nhiều công cụ chồng chéo đã buộc các nhà phát triển phải thay đổi bối cảnh thường xuyên, cuối cùng ảnh hưởng đến năng suất. Để giảm tình trạng phân mảnh, chúng tôi đã tạo ra trải nghiệm đơn giản hóa và sắp xếp hợp lý để các nhà phát triển dễ dàng truy cập vào ứng dụng thông minh thông qua các quy trình tự động trong hệ thống DevOps của chúng tôi, cũng như các khả năng tự phục vụ để họ thiết lập các ứng dụng của riêng mình.

Bằng cách giảm bớt xung đột trước đây do sử dụng nhiều công cụ, các luồng điều hướng khác nhau và dữ liệu cũng như cấu trúc tổ chức khác nhau, chúng tôi đang cho phép các nhà phát triển dành ít thời gian hơn để cố gắng tìm ra vấn đề về hiệu suất và có nhiều thời gian hơn để gia tăng giá trị.

Thay đổi văn hóa

Chuyển đổi danh mục khả năng quan sát của chúng tôi để đáp ứng nhu cầu của nhà phát triển đòi hỏi cả chiến lược văn hóa và kỹ thuật.

Chúng tôi bắt đầu với sự thay đổi về văn hóa, giáo dục các nhà phát triển về nơi họ có thể tìm thấy dữ liệu họ cần để đáp ứng thực tế là họ hiện sở hữu toàn bộ ứng dụng của mình. Theo mô hình sản phẩm, trong đó phần mềm và dịch vụ CNTT của chúng tôi được tổ chức dưới dạng các sản phẩm được xác định bởi các vấn đề kinh doanh mà chúng giải quyết, các nhà phát triển là một phần của nhóm sản phẩm chịu trách nhiệm về các giải pháp và dịch vụ của họ từ khi chúng được xây dựng trong suốt vòng đời của chúng. Cung cấp cho họ dữ liệu để hiểu rõ hơn về sản phẩm của họ giúp nhà phát triển cung cấp mã chất lượng cao hơn trong thời gian ngắn hơn để đáp ứng tốc độ phân phối nhanh chóng mà mẫu sản phẩm yêu cầu.

Đó là bước đầu tiên để mở ra cánh cửa cho các nhà phát triển có quyền truy cập vào dữ liệu trước đây bị hạn chế rất nhiều. Nhóm của tôi luôn có dữ liệu về khả năng quan sát rộng rãi nhưng kiểm soát dữ liệu chặt chẽ vì đó là quy trình vận hành.

Nhưng giờ đây, chúng tôi đã cho phép các nhà phát triển tự do xem điều gì đang xảy ra cho chính họ bằng cách đảm bảo dữ liệu có sẵn cho mọi người trong quá trình chuyển đổi sang xã hội hóa dữ liệu.

Chúng tôi đã dành nhiều thời gian nói chuyện với các nhà phát triển về những gì họ đang tìm kiếm, những gì còn thiếu và những công nghệ nào phù hợp với họ. Chúng tôi đã hỏi họ những câu như: “Khi bạn thức dậy lúc 3 giờ sáng vì ai đó gọi cho bạn với một vấn đề ưu tiên và ứng dụng của bạn đang gặp vấn đề, chúng tôi làm cách nào để giúp cuộc sống của bạn dễ dàng hơn trong thời điểm đó?”

Tự phục vụ là điều đầu tiên họ yêu cầu. Họ không muốn phải gọi cho chúng tôi nữa để có được thông tin họ cần. Vì vậy, trong bước quan trọng đầu tiên, chúng tôi đã cho phép các nhà phát triển tự sử dụng các công cụ mà họ cần để hoàn thành công việc mà không cần xin phép chúng tôi.

Chúng tôi cũng đã thay đổi trọng tâm của cách chúng tôi xem xét dữ liệu ứng dụng để đáp ứng nhu cầu của nhà phát triển bằng cách biến ứng dụng thành trung tâm quan sát của chúng tôi. Trong quy trình giám sát truyền thống của chúng tôi, trọng tâm của chúng tôi là chế độ xem từ dưới lên của môi trường, giả định rằng nếu cơ sở hạ tầng—máy chủ, CPU và ổ cứng—đang hoạt động, thì ứng dụng đang hoạt động. Tuy nhiên, không phải lúc nào cũng vậy.

Hai năm trước, chúng tôi đã bắt đầu chế độ xem dữ liệu từ trên xuống, trước tiên xem xét liệu ứng dụng có hoạt động hay không và đi sâu vào chức năng cơ sở hạ tầng từ đó. Ứng dụng hiện là điều quan trọng nhất trong quá trình quan sát của chúng tôi.

Công cụ hợp lý hóa và đơn giản hóa

Trong năm thứ hai của quá trình chuyển đổi, chúng tôi tập trung vào việc tạo ra một nền tảng ứng dụng thông minh tập trung, hợp nhất số lượng công cụ chúng tôi sử dụng và đơn giản hóa triệt để quy trình dữ liệu ứng dụng. Chúng tôi đã chọn sử dụng ba công cụ chính của nhà cung cấp bổ sung cho nhau để kết hợp các bộ sưu tập dữ liệu lại với nhau và cho phép người dùng xem điều gì đang xảy ra trên toàn bộ ngăn xếp, từ truyền thống đến đám mây.

Một công cụ quan trọng mà chúng tôi sử dụng cung cấp khả năng quan sát chi tiết tất cả các ứng dụng trong hệ sinh thái của chúng tôi theo thời gian thực, ngay lập tức, bao gồm cả ứng dụng nào đang nói chuyện với nhau. Nó tự động lấy dữ liệu ra khỏi các ứng dụng cho người dùng. Các nhà phát triển chỉ cần đặt một vài dòng mã vào quy trình DevOps cho các ứng dụng gốc trên đám mây và nó sẽ tự động ánh xạ mọi thứ. Bởi vì nó mở rộng môi trường sản xuất và phi sản xuất, các nhà phát triển thậm chí có thể hiểu các ứng dụng của họ đang hoạt động tốt như thế nào trong khi họ đang mã hóa chúng.

Bằng cách cho phép truy cập trong quy trình DevOps, nhà phát triển nhận được phản hồi liên tục về mọi khía cạnh của ứng dụng của họ, bao gồm hiệu suất, cách khách hàng đang sử dụng ứng dụng của họ, tốc độ tải trang, cách máy chủ của họ hoạt động, ứng dụng nào đang giao tiếp với ứng dụng của họ và hơn thế nữa.

Với công cụ này, họ thực sự có thể đi từ trên xuống dưới, về mọi vấn đề đang xảy ra trong môi trường, cho bất kỳ ứng dụng nào.

Nền tảng chi tiết này hoạt động cùng với công cụ thứ hai cung cấp khả năng điều hành dài hạn, tầm nhìn toàn cảnh về môi trường. Công cụ này cung cấp cho các nhà phát triển và nhóm Kỹ thuật độ tin cậy trang web (SRE) của chúng tôi khả năng tùy chỉnh chế độ xem của họ để khớp chính xác với cách các ứng dụng được kiến ​​trúc. Chúng tôi cũng cung cấp dữ liệu theo thời gian thực cho các đơn vị kinh doanh của mình để giúp họ tận dụng thông tin mà chúng tôi thường xuyên thu thập.

Nếu trang tổng quan gửi cảnh báo về sự cố, nhà phát triển có thể sử dụng công cụ chi tiết hơn để xem chính xác sự cố là gì. Các giải pháp được sử dụng kết hợp để cung cấp khả năng hiển thị và truy cập nhanh vào thông tin từ chế độ xem hệ sinh thái cho đến cấp độ giao dịch.

Công cụ thứ ba mà chúng tôi cung cấp là ngăn xếp thân thiện với nguồn mở, cung cấp lớp ảo hóa đọc dữ liệu từ mọi nơi và cung cấp cho người dùng các khả năng của bảng điều khiển tinh vi. Các nhà phát triển truy cập công cụ này từ cổng đám mây nội bộ của Dell chứ không phải đường dẫn DevOps, vì nó yêu cầu người dùng thiết kế cách trình bày dữ liệu.

Khi chúng tôi chuyển đổi sang danh mục đầu tư hợp lý hóa của mình vào mùa hè năm 2021, chúng tôi thực sự đã trang bị lại tất cả các hệ thống quan trọng của Dell trong 13 tuần mà không ảnh hưởng đến sản xuất. Quá trình chuyển đổi, thường mất một năm rưỡi, đã được hoàn thành đúng vào dịp Thứ Sáu Đen.

Ngoài hiệu quả đạt được thông qua tự động hóa và quyền truy cập tự phục vụ vào các nền tảng này, các nhà phát triển cũng có thể tự trang bị cho ứng dụng của mình, cho phép họ tự do xác định và triển khai những gì hoạt động tốt nhất cho ứng dụng của mình.

Nhìn chung, chúng tôi đã cung cấp cho các nhà phát triển một hộp công cụ mà họ có thể sử dụng để đạt được kết quả tốt nhất trong các vai trò cụ thể của họ trong quy trình DevOps mà không cần phải xin phép hoặc đợi bộ phận CNTT. Chúng tôi cũng đang tiếp tục cải thiện các dịch vụ của mình dựa trên phản hồi liên tục từ các nhà phát triển. Hay như chúng tôi luôn nói: Xây dựng với nhà phát triển cho nhà phát triển.