Bài đăng nổi bật

Redo log, undo log và binary log

Đây là ba loại log mà bạn đã từng nghe khi tiếp cận mysql. Trong các cơ sở dữ liệu quan hệ (RDBMS) khác, cũng sẽ có các thành phần có vai tr...

Thứ Sáu, 22 tháng 1, 2016

Về IaaS, PaaS, SaaS trong cloud computing

Như đã nói trong bài giới thiệu cloud, cloud có ba mức: Iaas, Paas, Saas.

Iaas (infrastructure on-demand): Cung cấp hạ tầng cơ sở gồm network, server, virtualization, storage theo yêu cầu. Một số dịch vụ Iaas có thể kể đến như Amazon EC2, VMWare vcloud…

Paas (environment on-demand): Cung cấp môi trường phát triển phần mềm, môi trường cần để chạy ứng dụng theo yêu cầu gồm OS, web, db, midddleware, ide, git... Dịch vụ Paas có thể kể đến như Google App Engine.

Saas (application on-demand): Cung cấp application theo yêu cầu. Một số dịch vụ Saas có thể kể đến như Gmail, google docs...

Application on-demand: application được cung cấp theo dạng từng gói tùy vào quy mô hoạt động, khách hàng sẽ được tư vấn chọn gói thích hợp, các gói cao cấp sẽ có các tính năng mà gói cơ bản không có. 

Xem hình vẽ sau, bạn có thể thay Microsoft bằng bất cứ vendor cung cấp cloud nào thì cũng không có khác biệt. Hình vẽ cho thấy phạm vi của IaaS, PaaS và SaaS.


Theo hình vẽ trên, Paas là lựa chọn tối ưu nhất cho các doanh nghiệp muốn tự phát triển business application. Sử dụng Iaas, doanh nghiệp mới chỉ đỡ được phần hạ tầng, hardware còn môi trường phát triển, các vấn đề liên quan đến load balancing, failover các dịch vụ web, db... thì phải tự lo hết. Paas giải quyết những mối lo đó. Trong Paas bao hàm cả Iaas, tất nhiên cũng có các nhà cung cấp chỉ làm phần môi trường phát triển còn phần hạ tầng lại thuê của một bên chuyên cung cấp Iaas nhưng cũng có nhà cung cấp lo hết từ hạ tầng đến môi trường phát triển. Các development tool được cung cấp bởi Paas thường là hoạt động trên browser nên khi đó các developer sẽ viết application online. Lập trình viên không phải lo tìm hiểu cách xây dựng môi trường dev, môi trường chạy ứng dụng mà chỉ tập trung vào viết application nhanh nhất có thể. Nếu business application của doanh nghiệp không có yêu cầu quá đặc biệt để hoạt động thì Paas là lựa chọn tốt hơn so với Iaas.

Multi-tenancy

Đây là một optimization quan trọng mà Paas hỗ trợ, cho phép nhiều khách hàng khác nhau cùng chia sẻ cùng physical computer, cùng database. Multi-tenancy ở mức Paas khác với Iaas. Ở mức Iaas, mỗi khác hàng sẽ có một Virtual machine, được phân chia ở hạ tầng. Còn ở mức Paas, mỗi khách hàng sẽ được phân chia môi trường ở mức dịch vụ, thực tế thì vẫn chung physical machine, chung db. Nhưng đây cũng là đánh đổi vì tuy sử dụng triệt để nguồn tài nguyên, quản lý cũng tập trung, giảm chi phí vân hành, triển khai cho nhà cung cấp và cho chính khách hàng khi đăng ký sử dụng nhưng performance sẽ bị giảm và tăng rủi ro chết chùm.

Vendor lock-in

Đây là giới hạn do nhà cung cấp dịch vụ đặt ra cho Paas của họ. Ví dụ Paas chỉ hỗ trợ một số ngôn ngữ lập trình nhất định hoặc một số API nhất định của vendor. Rủi ro là khách hàng không thể dễ dàng từ bỏ vendor khi application đã đi vào hoạt động ổn định, sự phát triển của khách hàng sẽ phụ thuộc vào sự phát triển Paas mà vendor cung cấp.

Không có nhận xét nào:

Đăng nhận xét