Danh sách kiểm tra của bạn để chuyển sang Kubernetes
Ngày 06/07/2024 - 07:07.png)
Sarah Zelechoski, Phó chủ tịch kỹ thuật tại Fairwinds, vẫn còn nhớ một cuộc trò chuyện với một quản trị viên cơ sở dữ liệu nhiều năm trước. Cô ấy gọi tập hợp các hàng và cột trước mặt họ là "bảng", anh ấy gọi đó là "chế độ xem" và không ai nhận ra họ đang nói về cùng một điều.
Ngày nay, sự chuyển dịch song song sang DevOps và các ứng dụng đám mây gốc có nghĩa là ít khoảnh khắc bối rối hơn giữa các nhà phát triển và chuyên gia vận hành. Kubernetes, một hệ thống quản lý cho các ứng dụng được chứa trong container, là một công cụ hỗ trợ giao tiếp dễ dàng hơn và khả năng hiển thị tốt hơn. Nó cung cấp cho các tổ chức một giao diện để tự động triển khai và mở rộng quy mô các ứng dụng, quản lý tải của chúng trên các cụm máy ảo, máy vật lý hoặc môi trường đám mây.
Nhưng Kubernetes rất khó thành thạo — và do đó gây khó khăn — cho nhiều nhóm và nhà phát triển, đặc biệt là những người lần đầu tiên chuyển ứng dụng lên đám mây.
“Mọi người đều đổ mọi thứ vào Kubernetes.”
"Đây là trò đùa trong cộng đồng công nghệ: Mọi người đều ném mọi thứ vào Kubernetes", Zelechoski nói. "Tôi nghĩ rằng có rất nhiều sự phản kháng đối với các trào lưu, nhưng nó không đáng sợ và theo trào lưu như mọi người vẫn nói".
Karthik Gaekwad, người ủng hộ nhà phát triển đám mây gốc của Oracle, cho biết mặc dù phức tạp nhưng kiến thức về Kubernetes khiến các nhà phát triển được săn đón hơn và có thể biến cơn ác mộng về một nút hỗn loạn thành quá trình chuyển đổi sang đám mây dễ quản lý .
Ông cho biết: “Chúng tôi có rất nhiều khách hàng của WebLogic đang cố gắng hiện đại hóa các ứng dụng của họ và họ nghĩ rằng 'Ồ, tôi có thể hiện đại hóa theo cách dễ dàng sao?' Vì vậy, đây là giải pháp đôi bên cùng có lợi".
Nếu bạn muốn giới thiệu Kubernetes cho các nhà phát triển và tổ chức của mình — hoặc chỉ muốn làm quen với nó vì lợi ích của riêng bạn — thì đây là một số mẹo để bắt đầu đúng hướng.
Danh sách kiểm tra cho quá trình chuyển đổi Kubernetes của bạn:
- Khóa quy trình phát triển của bạn. Nó không cần phải là một quy trình CI/CD hoàn hảo, nhưng phải được xác định rõ ràng.
- Kiểm tra các quy trình cũ làm chậm bạn. Nếu nhóm của bạn vẫn bám vào phương pháp Waterfall, việc chuyển sang lưu trữ đám mây sẽ khó khăn hơn nhiều.
- Đánh giá xem bạn có thể dành bao nhiêu tài nguyên cho Kubernetes. Hãy cân nhắc các dịch vụ quản lý của bên thứ ba nếu Kubernetes sẽ ngốn hết băng thông của bạn.
- Hãy xem xét quy mô công ty của bạn. Quản lý cụm container có thực sự có ý nghĩa với bạn không?
- Hãy suy nghĩ kỹ trước khi quyết định ở lại cơ sở. Hoặc có nguy cơ bị kẹt với khả năng mở rộng thấp.
- Hãy sẵn sàng học ngay. Kubernetes có đường cong học tập dốc, nhưng các kỹ năng hiện tại của bạn có thể chuyển giao được.
- Hoàn thiện bài giới thiệu của bạn. Nhận được sự ủng hộ của ban điều hành bằng cách tập trung vào tính bảo mật, độ tin cậy và khả năng mở rộng.
.png)
Hình ảnh: Shutterstock
Khóa quy trình phát triển của nhóm bạn
Kubernetes sẽ giữ cho các ứng dụng container của bạn hoạt động tốt và ổn định. Nhưng bạn phải biết chính xác bạn muốn triển khai như thế nào.
Zelechoski cho biết các tổ chức sử dụng Kubernetes cần có quy trình có tổ chức chặt chẽ xung quanh việc phát triển, xây dựng, thử nghiệm và triển khai.
“Điều đó không có nghĩa là bạn phải có một đường ống CI chống đạn và bạn đã có thử nghiệm tích hợp đã được thiết lập”, cô nói thêm. “Điều đó chỉ có nghĩa là bạn và nhóm của bạn cần biết: 'Đây là cách chúng tôi viết mã. Đây là cách chúng tôi đẩy mã. Đây là cách chúng tôi xem xét mã. Đây là cách chúng tôi xây dựng mã. Đây là cách chúng tôi vận chuyển mã.'”
Trước khi khởi chạy chương trình Kubernetes, hãy dành thời gian để xem lại quy trình làm việc. Chính thức hóa quy trình của bạn và đảm bảo tất cả các thành viên trong nhóm của bạn đều biết. Và mặc dù quy trình CI/CD nguyên sơ không phải là điều kiện tiên quyết, nhưng các nhóm nên tiến theo hướng đó, Gaekwad cho biết.
“Có lẽ câu hỏi đầu tiên cần hỏi là quy trình triển khai của bạn có thể tự động hóa đến mức nào. Bạn có sử dụng tích hợp liên tục không? Đó là một điều cơ bản mà bạn muốn có để tham gia”, ông nói.
.png)
Hình ảnh: Shutterstock
Kiểm tra các quy trình cũ làm chậm bạn
Zelechoski cho biết, đối với các công ty truyền thống muốn chuyển sang container và đám mây, trở ngại lớn nhất có thể là thái độ không muốn thất bại.
Kubernetes hỗ trợ sửa lỗi nhanh, vận chuyển thường xuyên và khả năng mở rộng dễ dàng . Đối với các công ty phải lo lắng về mọi thay đổi, việc chuyển sang loại hệ thống đó có thể là điều không thể. Trước khi triển khai với Kubernetes, hãy thực hiện các bản cập nhật văn hóa cần thiết để làm việc nhanh nhẹn hơn và loại bỏ một số rủi ro.
“Việc xem xét mọi thứ trong nhiều tháng liền không thực sự tương thích với container, đám mây và Kubernetes.”
Zelechoski cho biết: “Tôi ghét phải nói đến agile, vì tôi nghĩ nó quá nặng nề, nhưng việc đưa mọi thứ vào xem xét trong nhiều tháng liền không thực sự tương thích với container, đám mây và Kubernetes. Bạn cần có khả năng lặp lại nhanh chóng. Và đó là tư duy chung từ cấp cao nhất của tổ chức cho đến cấp thấp nhất, tư duy có thể thất bại này”.
.png)
Hình ảnh: Shutterstock
Đánh giá số lượng tài nguyên bạn có thể dành cho Kubernetes
Kubernetes sẽ giúp bạn quản lý các cụm ứng dụng được chứa trong container, cũng như tự động triển khai và mở rộng quy mô, nhưng bất kỳ điều gì vượt ra ngoài điều đó — như bảo mật ứng dụng — đều đòi hỏi thêm công sức và chuyên môn: Gaekwad cho biết: "Nếu bạn đang chạy một ứng dụng dễ bị tấn công trong cơ sở hạ tầng của mình và bạn đưa ứng dụng đó vào Kubernetes, Kubernetes sẽ không giúp ích gì cho bạn".
Vì vậy, nếu bạn muốn tự quản lý chương trình Kubernetes, hãy cân nhắc đến chi phí và lợi ích.
Chi phí: Kubnetes không dễ chịu với những người làm việc tổng quát. Có rất nhiều khía cạnh cần quản lý — từ bảo mật đến giám sát đến lưu trữ dữ liệu — và các tính năng mới liên tục xuất hiện. Việc quản lý Kubernetes nội bộ có thể yêu cầu một nhóm chuyên trách hoàn toàn, điều này có nghĩa là giờ làm việc của mọi người sẽ bị chuyển hướng khỏi các trường hợp kinh doanh và hướng tới việc quản lý các cụm.
"Nếu bạn đang cố gắng vận chuyển pizza robot, nhóm Kubernetes của bạn sẽ không phải lo lắng về pizza hay robot. Họ sẽ làm việc trên Kubernetes", Zelechoski cho biết. "Vì vậy, nếu bạn muốn dành nguồn lực của mình vào đó và tự làm, thì thật tuyệt. Nhưng điều đó không phải lúc nào cũng hợp lý".
“Một điều tôi học được là bạn không thể hiểu hết mọi khía cạnh của Kubernetes.”
Lợi ích: Các công ty chọn dành nguồn lực cho nhóm Kubernetes nội bộ có thể tinh chỉnh sâu hơn các cụm của họ. Zelechoski cho biết một số thương hiệu lớn có các nhóm Kubernetes toàn diện dành riêng cho một trường hợp sử dụng. Đối với họ, điều đó là xứng đáng.
Trong tương lai, Gaekwad cho biết ông hy vọng Kubernetes sẽ được mô-đun hóa nhiều hơn để người dùng có thể hiểu rõ hơn các chức năng khác nhau của hệ thống và chuyên môn hóa các kỹ năng của họ. Cho đến lúc đó, việc thuê ngoài quản lý Kubernetes — hoặc thậm chí chỉ đầu tư vào các dịch vụ được quản lý cụ thể như giám sát hoặc cảnh báo — có ý nghĩa đối với hầu hết các công ty. Thật khó để hiểu hệ thống từ mọi phía và việc dựa vào những người có chuyên môn có thể đảm bảo mọi thứ diễn ra suôn sẻ.
Gaekwad cho biết: "Một điều tôi học được là bạn không thể hiểu tất cả các khía cạnh của Kubernetes, từ dữ liệu mặt phẳng điều khiển đến xác thực đến ủy quyền". "Bạn có thể trở thành chuyên gia trong một trong những lĩnh vực đó".
.png)
Hình ảnh: Shutterstock
Hãy xem xét quy mô công ty của bạn
Vậy còn các công ty nhỏ hoặc công ty khởi nghiệp thì sao?
Theo Zelechoski, Kubernetes vẫn có ý nghĩa. Nó tạo ra một ngôn ngữ chung cho các nhà phát triển và nhóm vận hành và đặt nền tảng vững chắc cho khả năng mở rộng. Ngay cả khi bạn không bao giờ cần một cơ sở hạ tầng lớn, nhiều cụm, bạn vẫn có thể cắt giảm việc sử dụng Kubernetes để phù hợp với nhu cầu của tổ chức.
"Tất cả các tùy chọn Kubernetes được quản lý này đều cung cấp cho bạn 95 phần trăm các mặc định giống nhau mà bạn cần và bạn có thể triển khai ứng dụng của mình và thành công", cô nói. "Tôi nghĩ rằng việc các công ty khởi nghiệp bắt đầu trên một nền tảng mà mọi người đều hiểu những gì đang diễn ra thực sự có giá trị".
.png)
.png)
.png)










