Một thập kỷ trước, chạy các máy ảo (VM) trong đám mây là công nghệ tiên tiến nhất. Nó làm cho việc di chuyển trên đám mây trở nên tương đối đơn giản: Các công ty có thể di chuyển các máy ảo mà họ đang chạy trên máy chủ tại chỗ của họ sang máy chủ của nhà cung cấp dịch vụ cơ sở hạ tầng (IaaS), giải thoát khỏi gánh nặng bảo trì máy chủ vật lý. Vì thế các công ty đã đạt được sự linh hoạt và cắt giảm bớt chi phí.
Nhưng giờ đây, kiến trúc này bộc lộ nhiều bất cập và không còn nhiều nơi xây dựng các ứng dụng mới chỉ để chạy trên các VM truyền thống. Thay vào đó, họ đang chuyển sang hai mô hình hiệu quả hơn về chi phí, bảo trì thấp và có khả năng mở rộng tốt hơn so với VM: containerization và severless computing. Hai mô hình này, không phải VM, chắc chắn sẽ đại diện cho tương lai của ngành điện toán.
Máy ảo không phải là điểm cuối cùng của sự phát triển cơ sở hạ tầng CNTT
Lịch sử gần đây của cơ sở hạ tầng CNTT là một câu chuyện khá trừu tượng. Kể từ những năm 1990 – khi chúng ta chạy các ứng dụng trên phần cứng trong các rack vật lý – mọi sự phát triển mới đã trừu tượng hóa các ứng dụng ra khỏi phần cứng ngày càng xa hơn. Do đó, các lớp hạ tầng mà các công ty phải quản lý ngày càng mỏng hơn.
Nhưng mô hình IaaS chạy VM trên đám mây hầu như không phải là bước cuối cùng trong tiến trình đó. Máy ảo có một số nhược điểm đáng kể:
• Việc mỗi VM chạy nhiều hệ điều hành chắc chắn sẽ gây ra sự thiếu hiệu quả. Ngay cả khi chúng được thu nhỏ và có kích thước phù hợp, VM vẫn bỏ lại nhiều không gian không sử dụng trên các máy chủ.
• VM vẫn để các công ty chịu trách nhiệm về các bài học về vận hành đau đớn như khắc phục thảm họa, tính sẵn sàng cao và replication, cũng như vá lỗi và bảo mật.
• Máy ảo không linh hoạt và hoạt động khác nhau trên các hệ thống quy mô lớn khác nhau, do đó, máy ảo được xây dựng trên Microsoft Azure không thể được chuyển sang AWS hoặc Google Cloud.
Các công ty đang cố gắng dịch chuyển lên đám mây bằng cách di chuyển máy ảo của họ cần suy nghĩ thật kỹ. Thỏa hiệp với một mô hình không hiệu quả trong hiện tại sẽ kìm hãm sự phát triển trong tương lai. Thay vào đó, họ nên tìm đến mô hình containerization hoặc một mô hình không có máy chủ / serverless – dù ngay cả khi nó yêu cầu những thay đổi đáng kể trong quy trình của họ.
Container và Serverless làm giảm gánh nặng vận hành và tăng hiệu quả
Container là bước tiếp theo trong xu hướng trừu tượng hóa. Nhiều container có thể chạy trên một kernel OS, nghĩa là chúng sử dụng tài nguyên hiệu quả hơn VM. Trong thực tế, trên cơ sở hạ tầng cần thiết cho một VM, bạn có thể chạy hàng tá các container.
Tuy nhiên, container cũng có nhược điểm của chúng. Mặc dù chúng hiệu quả hơn về không gian so với VM, chúng vẫn chiếm dung lượng cơ sở hạ tầng khi không hoạt động (idle), làm tăng chi phí không cần thiết. Để giảm các chi phí này đến mức tối thiểu, các công ty có một lựa chọn khác: Serverless Computing!
Mô hình serverless hoạt động tốt nhất với các ứng dụng hướng sự kiện (event-driven) – các ứng dụng có các sự kiện có thể xác định, như người dùng truy cập ứng dụng web, kích hoạt nhu cầu tính toán. Với serverless, công ty không bao giờ phải trả tiền cho thời gian nhàn rỗi, chỉ trong một phần nghìn giây thời gian tính toán được sử dụng để xử lý một yêu cầu. Điều này làm cho serverless trở nên rất rẻ khi một công ty bắt đầu với khối lượng nhỏ trong khi cũng giảm chi phí hoạt động khi các ứng dụng tăng quy mô lên.
Một vài ý tưởng để phát triển cơ sở hạ tầng CNTT của bạn
Việc chuyển đổi sang containerization hoặc mô hình serverless đòi hỏi những thay đổi lớn đối với các quy trình và cấu trúc của đội ngũ IT của bạn và các lựa chọn kỹ lưỡng về cách thực hiện quá trình chuyển đổi.
Một số lưu ý để quản lý sự chuyển đổi thành công sang cơ sở hạ tầng CNTT hiện đại:
• Cần biết mô hình nào hoạt động tốt nhất cho trường hợp sử dụng của bạn. Nếu bạn có thể đến với serverless, bạn nên làm thế. Đây là mô hình cơ sở hạ tầng CNTT hiệu quả và tiết kiệm chi phí nhất hiện nay. Tuy nhiên, serverless đại diện cho một mô hình lập trình hoàn toàn mới. Việc thực hiện nó thường chỉ khả thi khi team của bạn đang code thứ gì đó mới ngay từ đầu.
Ngược lại, container là giải pháp thuận tiện nhất nếu bạn tái cấu trúc hoặc phát triển lại ứng dụng. Container framework hàng đầu, Kubernetes, cũng được chấp nhận phổ biến trên các nền tảng dịch vụ lớn, điều này làm cho các container trở nên lý tưởng để duy trì tính linh động giữa các đám mây hoặc mô hình hybrid – chạy cùng các ứng dụng on-premise lẫn trên đám mây.
• Vận dụng một tư duy dựa trên đám mây. Việc chuyển đổi sang cơ sở hạ tầng CNTT hiện đại là một sự chuyển đổi con người và quá trình cũng giống như nó là một sự chuyển đổi công nghệ. Quản lý cơ sở hạ tầng CNTT truyền thống phụ thuộc rất nhiều vào các giải pháp click-and-click thủ công. Ngược lại, việc quản lý cơ sở hạ tầng container hoặc serverless giống như kỹ thuật phần mềm – các nhóm CNTT sử dụng code để mô tả kết quả cuối cùng mà họ mong muốn và các hệ thống sẽ tự động cải thiện nó.
Để tận dụng tối đa tính linh hoạt và hiệu quả của cơ sở hạ tầng hiện đại, các nhóm CNTT phải chuyển sang định hướng DevOps, mang lại các hoạt động phát triển phần mềm linh hoạt cho quản lý cơ sở hạ tầng. Ví dụ, các nhóm CNTT doanh nghiệp truyền thống có xu hướng bị cô lập bởi chức năng, nhưng DevOps có cách tiếp cận linh hoạt hơn trong đó một nhóm sở hữu một ứng dụng từ đầu đến cuối. Điều chỉnh theo cách làm việc mới này là cần thiết cho sự thành công của quá trình chuyển đổi cơ sở hạ tầng của bạn.
• Tránh các giải pháp độc quyền của bên thứ ba. Có rất nhiều lớp phần mềm của bên thứ ba cho thấy rằng việc chuyển đổi sang container hoặc serverless sẽ trở nên dễ dàng hơn. Tuy nhiên, cuối cùng, những sự “trừu tượng” này có thể tạo ra thêm các bước và chi phí bổ sung. Mặc dù chúng có thể đơn giản hóa quá trình chuyển đổi ban đầu, khi hệ thống của bạn ngày càng phức tạp hơn, có thể sẽ có những nhu cầu phát sinh mà chúng có thể không thể xử lý được. Thay vào đó, bạn nên loại bỏ những lớp trung gian ngay từ đầu và sử dụng các giải pháp nguồn mở với các cộng đồng tích cực, như Kubernetes hoặc áp dụng các giải pháp từ các nhà cung cấp lớn. Có thể có một learning-curve khó hơn, nhưng nó sẽ tiết kiệm thời gian cho các team IT của bạn.
• Đừng chuyển tất cả cùng một lúc. Bạn không buộc phải chuyển sang container hoặc serverless hết trong một lần, điều này cực kỳ khó thực hiện. Thay vào đó, chuyển một số dịch vụ sang các container trong khi các phần còn lại của ứng dụng được giữ nguyên. Bạn có thể chuyển đổi nhiều dịch vụ hơn theo thời gian cho đến khi ứng dụng hoàn toàn được chạy trên container. Chiến lược áp dụng từng bước này được gọi là “phương pháp thắt dần” vì code mới dần dần thắt nhỏ code cũ. Chiến lược chậm và ổn định này cũng giúp các nhóm IT của bạn có thời gian để điều chỉnh các cách làm việc mới.
Tương lai của điện toán
Thị trường máy ảo có lẽ sẽ không giảm liền sau một đêm. Có quá nhiều hệ thống cũ đã chạy trên cơ sở hạ tầng đó trên đám mây. Tuy nhiên, điều đó không thay đổi thực tế rằng container và serverless linh hoạt hơn, bảo trì thấp hơn, dễ tự động hóa và tiết kiệm chi phí hơn. Chúng là tương lai của lĩnh vực điện toán máy tính và các công ty nên tham gia.
Theo Forbes
Bài viết liên quan