Từ góc nhìn bên ngoài, Điện toán đám mây đơn giản chỉ là việc di trú tài nguyên tính toán (Computing resources) và lưu trữ từ doanh nghiệp vào “đám mây” trên Internet. Người dùng (Computing Users) chỉ định yêu cầu tài nguyên và nhà cung cấp đám mây (cloud provider) hầu như tập hợp các thành phần ảo này trong hạ tầng của nó. [5]
Hình 1.17. Tính toán “đám mây” di trú tài nguyên trên Internet
Nhưng tại sao người sử dụng lại sẵn sàng từ bỏ quyền kiểm soát tài nguyên của mình và cho phép chúng tồn tại ảo trong “đám mây” ? Có nhiều lý do nhưng có lẽ quan trọng nhất là tính dễ mở rộng và chi phí thấp.
Ưu điểm mới của cloud computing là khả năng ảo hóa và chia sẻ tài nguyên giữa các ứng dụng.
Hình 1.18. Ảo hóa và sử dụng tài nguyên
Ở đây 3 nền tảng độc lập tồn tại cho các ứng dụng khác nhau như App/OS A, App/OS A, mỗi ứng dụng chạy trên server của nó, server U, server V. Trong “đám mây”, server
có thể được chia sẻ (được ảo hóa) giữa các hệ điều hành và các ứng dụng để sử dụng server tốt hơn.
Bên trong “đám mây” không chỉ có một dịch vụ mà là một tập các dịch vụ. Các tầng định nghĩa mức dịch vụ được cung cấp.
Hình 1.19. Các tầng của tính toán “đám mây”
Tầng thấp nhất là Hạ tầng (Hạ tầng như một dịch vụ - IaaS) bao gồm các server, storage. IaaS là việc cho thuê hạ tầng như một dịch vụ bao gồm các máy tính ảo hóa (virtualization) và băng thông dành riêng cho lưu trữ và truy cập Internet. Về cơ bản, đó là khả năng cho thuê máy tính hay data center với ràng buộc về QoS sao cho người dùng có khả năng chạy phần mềm hay hệ điều hành nào đó tùy ý.
Lên mức tiếp theo là tầng nền (Platform) như một dịch vụ - PaaS. PaaS giống như IaaS nhưng gồm cả hệ điều hành và các dịch vụ cần thiết cho một ứng dụng chuyên biệt. Ví dụ PaaS ngoài server và lưu trữ ảo hóa cung hệ điều hành đặc biệt và tập các ứng dụng (như một máy ảo) cùng các dịch vụ cần thiết như MySQL, … Nói cách khác, PaaS là IaaS với một software stack dành cho một ứng dụng.
Trên cùng là dịch vụ đơn giản nhất được cung cấp: ứng dụng (Application). Tầng này được gọi là Phần mềm như một dịch vụ (SaaS) và nó là mô hình triển khai phần mềm từ một hệ tập trung sang chạy trên máy tính cục bộ. Dưới dạng dịch vụ “đo” được, SaaS cho phép bạn thuê một ứng dụng và chỉ trả tiền cho thời gian sử dụng.
Trên đây là cái nhìn sơ lược về cloud computing, bỏ qua một số khía cạnh như là Dữ liệu như một dịch vụ (DaaS) cho phép người dùng trả tiền cho dung lượng lưu trữ và băng thông truy cập. Các dịch vụ “đám mây” cũng đang nối lên, chúng vừa có cơ chế nội để tương kết (interoperability) vừa cung cấp các API cho bên ngoài.
1.5. Phân tích ƣu và nhƣợc điểm của điện toán đám mây 1.5.1. Các lợi ích chính của điện toán đám mây
Để tạo ra lợi ích từ đám mây điện toán , các lập trình viên phải thiết lập các tham số trên các ứng du ̣ng để ho ̣ có thể sử du ̣ng mô ̣t cách tối ưu nhất các mẫu kiến trúc và triển khai do đám mấy điê ̣n toán hỗ trợ . lợi ích củ a các ứng du ̣ng triển khai sử du ̣ng đám mây điê ̣n toán bao gồm giảm thời gian thực hiê ̣n và thời gian phản hồi , giảm rủi ro trong viê ̣c triển khai cơ sở ha ̣ tầng vâ ̣t lý , giảm giá đầu vào , và tăng cường các cải tiển công nghệ.
Giảm thời gian thực hiê ̣n và thời gian ph ản hồi. Để các ứng du ̣ng sử du ̣ng đám mây điê ̣n toán hoa ̣t đô ̣ng mô ̣t cách hiê ̣u quả bằng cách thực hiê ̣n công việc theo lô (batch job), khi giải quyết mô ̣t vấn đề , điê ̣n toán đám mây có thể tập trung sử du ̣ng 1000 servers để giải quyết bài toán đó trong khoảng thời gian bằng 1/1000 thời gian mà mô ̣t server cha ̣y riêng lẻ . Đối với các ứng dụng , để có yêu cầu phản hồi (trả lời các kết quả) nhanh thì cần tham số hóa các ứ ng du ̣ng đó để các bài toán được chuyển cho các máy ảo hỗ trợ để tối ưu thời gian phản hồi trong khi điều chỉnh yêu cầu cho phù hợp với yêu cầu của khách hàng.
Giảm thiểu rủi ro cơ sở hạ tầng . Các tổ chức IT có thể sử dụng đám mây để giảm rủi ro vốn có trong viê ̣c đầu tư các servers cũng như các các cơ sở hạ tầng khác . Để xây dựng mô ̣t ứng du ̣ng mới thành công ? Nếu như thế thì cần bao nhiêu cần bao nhiêu tài nguyên và triển khai như thế nào để đủ đáp ứng được sự tăng lên nhanh chóng của khối lươ ̣ng công viê ̣c . Nếu không xác định tốt yêu cầu , cần đầu tư mô ̣t lươ ̣ng lớn server, điều này có thể dẫn đến sự dư thừa? Thông thường các ứng du ̣ng này chỉ tồn ta ̣i trong mô ̣t thời gian ngắn, các tổ chức IT sẽ đầu tư một xây dựng một cơ sở hạ tầng đồ sô ̣ để phần lớn thời gian của hê ̣ thống máy móc này nằm ở tra ̣ng thái treo (idle). Trong trường hợp đă ̣t mô ̣t ứng du ̣ng ra ngoài đám mây , viê ̣c thay đổi và đô ̣ rủi ro của giá cả cơ sở ha ̣ tầng đắt hay rẻ la ̣i là vấn đề của các nhà cung cấp đám mây . Với viê ̣c tăng lên về mă ̣t số lươ ̣ng , nhà cung cấp đám mấy phải xây dựng được một cơ sở hạ tầng đủ mạnh để nó có thể thu hút đ ược sự phát triển và khả năng phân bổ tải của các khách hàng cá nhân, giảm thiểu các rủi ro tài chính mà họ có thể gặp phải . Nói cách khác, ở điê ̣n toán đám mây sẽ giảm được rủi ro do phải đầu tư cơ sở ha ̣ tầng bằng cá ch kích hoạt khả năng tính toán đột biến , nơi mà mô ̣t trung tâm dữ liê ̣u của doanh nghiê ̣p tăng khả năng phân bổ tải bằng một thiết kê cho phép gửi các công việc quá tải ra một đám mây chung. Vòng đời của các ứng dụng có th ể được quản lý tốt hơn trong môi trường có các nguồn tài nguyên khan hiếm , và nơi mà các nguồn tài nguyên có thể được tìm kiếm để chia sẻ cho phù hợp với yêu cầu với chi phí rẻ nhất có thể.
Hạ giá đầu vào. Tính toán đám mây có mô ̣t số đă ̣c tình giúp giảm giá cho đầu vào như sau:
Do cơ sở ha ̣ tầng đi thuê nên có thể kiểm soát được chi ̣ phí và đầu tư ban đầu có thể gần như bằng 0.
Các ứng dụng được phát triển ở cấp thấp , đươ ̣c phát triển nha nh nên chi phí thấp. Các tổ chức triển khai các ứng dụng chạy trong môi trường đám mấy phải đưa ra giá cá ca ̣nh tranh so với đối thủ.
Tăng cường các cải tiến. Tính toán đám mây có thể tăng các cải tiến . Chi phí của đầu vào thấp giúp cho các công ty mới thâp nhâ ̣p thi ̣ trường vẫn có thể đưa ra các sản phẩm mới với giá thành thấp . Càng nhiều công ty tham gia vào thị trường , mức ca ̣nh tranh càng cao nên càng sản phẩm được đổi mới liên tu ̣c.
1.5.2. Các hạn chế của điện toán đám mây
Bên cạnh những lợi ích như đã phân tích ở trên, điện toán đám mây chắc chắn còn rất mới mẻ và có những điều hạn chế không tránh khỏi.
Những lo ngại về an ninh, bảo mật thông tin. Giao trách nhiệm về các ứng dụng và dữ liệu quan trọng cho đối tác thứ ba (nhà dịch vụ), có nghĩa là khách hàng phải biết
chính xác các nhà cung cấp dịch vụ điện toán máy chủ ảo xử lý thế nào về các vấn đề an ninh và kiến trúc hệ thống. Các nhà cung cấp dịch vụ sẽ minh bạch đến mức nào về những chi tiết trên vẫn còn là câu hỏi. Các nhà cung cấp dịch vụ điện toán đám mây thường lưu trữ dữ liệu của nhiều khách hàng khác nhau lên cùng một phần cứng. Trong khi đó, các công ty muốn dữ liệu của họ được tách biệt rõ ràng so với dữ liệu của đối thủ cạnh tranh. Không có gì đáng ngạc nhiên khi những nỗi lo về bảo mật là yếu tố hàng đầu cản trở doanh nghiệp sử dụng điện toán đám mây. Theo một cuộc khảo sát vừa qua của trang web CIO.com, 59% trong số 173 lãnh đạo doanh nghiệp và công nghệ thông tin (CNTT) cho rằng các nhà cung cấp dịch vụ chưa quan tâm đúng mức đến những điều lo ngại về bảo mật của họ.
Hiệu suất hoạt động của các ứng dụng. Các nhà cung cấp công nghệ chưa định ra được đầy đủ mô hình kinh doanh và giá cả, đây cũng là một trong những lý do khiến một số CIO, những người chưa nhìn thấy hiệu quả đầu tư của họ từ SaaS (phần mềm dịch vụ), xem xét điện toán đám mây với cái nhìn nghi hoặc. Tất nhiên là còn có yếu tố khác: đó là sự minh bạch.
Nỗi lo mất kiểm soát. An ninh, độ trễ (latency), dịch vụ kèm theo và tính sẵn sàng là những vấn đề mà các nhà quản lý CNTT quan tâm khi đề cập đến điện toán đám mây. Các nhà cung cấp còn có quá nhiều việc phải làm trong những năm tới để làm hài lòng các CIO. Một số người suy nghĩ rằng họ không còn giữ dữ liệu của họ nữa, nó đang ở một nơi mà họ không có ở đó, không quản lý trực tiếp. Bằng cách tự lưu trữ ứng dụng của mình, một công ty có thể dễ dàng xác định những mục tiêu kiểm soát và duy trì tình trạng toàn vẹn của dữ liệu theo yêu cầu của luật lệ. Tuy nhiên, nếu công ty này muốn đưa những ứng dụng tài chính của mình lên “đám mây”, họ chắc chắn sẽ phải đánh giá lại những mục tiêu kiểm soát để bảo đảm không vi phạm vấn đề tuân thủ luật lệ.
Cơ sở pháp lý. Có thể thấy rằng sở dĩ điện toán đám mây vẫn chưa thông dụng là bởi việc triển khai chúng không hoàn toàn dễ dàng. Ngoài ra, hiện nay nhiều nước, nhất là Việt Nam còn thiếu cơ chế pháp lý phù hợp để hỗ trợ mô hình kinh doanh mới này. Mặt hạn chế nữa là người dùng sẽ bị phụ thuộc vào công nghệ mà nhà cung cấp đưa ra cho họ, khiến cho sự linh hoạt và sáng tạo giảm đi. Cloud computing có nguy cơ lặp
lại khiếm khuyết của mô hình điện toán cũ: các công ty sở hữu những hệ thống máy
tính trung ương lớn (cloud) và mọi người sẽ kết nối với chúng qua các trạm. Người sử dụng cảm thấy bức bối vì chỉ có quyền thực hiện những việc trong phạm vi nhà quản trị cho phép nên không thể bắt kịp cải tiến mới nhất.
Về cơ bản, công nghệ luôn phát triển và sẽ giải quyết các vấn đề trên, còn khung pháp lý không sớm thì muộn cũng sẽ được triển khai. Xét một cách toàn diện, những lợi ích to lớn của điện toán đám mây sẽ dần được khẳng định, và doanh nghiệp luôn đi theo những gì có lợi nhất cho họ.
1.6. Kết luận
Công nghệ điện toán đám mây là kết quả tất yếu của cả quá trình phát triển các công nghệ trong hơn 30 năm qua. Điện toán đám mây căn bản là sự kết hợp của điện toán lưới (grid computing) và Phần mềm như di ̣ch vu ̣ (SaaS), chủ yếu là xử lý dữ liệu thô. Kết quả điện toán đám mây thực chất là ảo hóa mạng. Với điện toán đám mây, khách hàng có thể chạy ứng dụng trên hạ tầng cơ sở của nhà cung cấp. Về phần mình, các nhà cung cấp dịch vụ phải đảm bảo khả năng phân bổ tải (workload) một cách linh hoạt cho máy chủ khi khách hàng truy cập vào để chạy các ứng dụng. Bằng cách này, các nhà cung cấp tối đa hóa khả năng tính toán của hệ thống và cho phép khách hàng yêu cầu nhiều hơn.
Khái niệm điện toán đám mây cũng là khá mới mẻ ở Việt Nam. Việc triển khai các ứng dụng trên điện toán đám mây còn gặp nhiều khó khăn trở ngại. Bên cạnh những lợi ích mà công nghệ này mang lại như : giảm thời gian thực hiện và thời gian phản hồi, giảm rủi ro trong việc triển khai cơ sở hạ tầng vật lý , giảm giá đầu vào , và tăng cường các cải tiến công nghệ thì những hạn chế cũng khiến việc triển khai gặp nhiều khó khăn. Các hạn chế có thể kể ra như: những lo ngại về an ninh, bảo mật thông tin; hiệu suất hoạt động của các ứng dụng; nỗi lo mất kiểm soát; cơ sở pháp lý.
CHƢƠNG 2. MÔ HÌNH HƢỚNG DỊCH VỤ 2.1. Tổng quan về mô hình hƣớng dịch vụ
2.1.1. Đặt vấn đề
Ngày nay các doanh nghi ệp phải đối mặt với rất nhiều khó khăn : làm sao để giảm chi phí đầu tư cơ sở ha ̣ tầng, khai thác hiê ̣u quả các công nghê ̣ hiê ̣n có , đáp ứng được tốt các thay đổi nghiê ̣p vu ̣, khả năng tích hợp cao với các hệ thống bên ngoài... Nguyên nhân chính của mo ̣i khó khăn đó là: sự không đồng nhất và sự thay đổi.
Thực tế ở hầu hết các doanh nghiệp hiện nay đều sở hữu nhiều hệ thống, ứng dụng với những kiến trúc khác nhau , được xây dựng vào những kho ảng thời gian khác nhau và dựa trên các công nghệ khác nhau . Trước đây, các doanh nghiệp thường chọn giải pháp trọn gói, mua các gói phần mềm lớn với những module được tích hợp sẵn thay vì cố gắng "sửa và kết hợp " chúng với nhau. Nhưng nay các doanh nghiê ̣p thường có xu hướng tìm kiếm các giải pháp kết hợp những ứng dụng cũ sao cho thỏa mãn nhu cầu , để những ứng dụng đó giải quyết thực tế công viê ̣c của mình, sau đó chỉ viê ̣c tổng hợp thông tin trả về. Trong quá trình kết hơ ̣p lại gă ̣p phải những khó khăn:
- Không đủ khả năng quản lý quy trình nghiê ̣p vu ̣ - Chi phí tích hơ ̣p cao
- Số lượng lớn các ứng du ̣ng cần kết hợp - Quá nhiều định dạng dữ liệu
- Các vấn đề liên quan đến bảo mật - Các thay đổi liên tục xảy ra
- Việc cải tiến công nghê ̣ sẽ dẫn đến thay đổi các thành phần liên quan
Đa phần những khó khăn trên bắt nguồn từ mô ̣t trong ba nguyên nhân : phức ta ̣p, không linh hoa ̣t và không bền vững.
Hiện nay các kiến trúc phần mềm như hướng đối tượng OOP (Object Oriented Programming), kiến trúc thành phần và thành phần phân tán COM/DCOM (Distributed Common Object Model), kiến trúc CORBA (Common Object Request Broker Architecture)... và nhiều phương thức tích hợp ứng dụng hiệu quả khác đã được nghiên cứu và triển khai rộng rãi. Tuy vậy vẫn chưa có giải pháp nào hoàn chỉnh. Do đó kiến trúc hướng dịch vụ đang được xem là sự phát triển kế tiếp được kỳ vọng tạo nên một cuộc cách mạng mới trong kiến trúc phần mềm.
Giờ đây, SOA (Service Oriented Architecture) đang được xem là “ứng cử viên sáng giá” có thể đảm nhận trọng trách này và được kỳ vọng tạo nên cuộc cách mạng trong kiến trúc phần mềm.
Trong thiết kế phần mềm kiến trúc hướng dịch vụ, phần thực hiện dịch vụ (mô đun phần mềm) được tách riêng với giao tiếp gọi dịch vụ, giúp tạo nên một cách thức nhất quán cho các ứng dụng khai thác sử dụng dịch vụ mà không cần quan tâm tới công nghệ thực hiện dịch vụ. Như vậy các nhà phát triển có thể xây dựng các ứng dụng đơn lẻ và đồ sộ bằng cách xây dựng các dịch vụ tinh gọn có thể triển khai và tái sử dụng trong toàn bộ quy trình nghiệp vụ. Điều này cho phép tái sử dụng phần mềm
tốt hơn, cũng như tăng sự linh hoạt khi có thay đổi về quy trình nghiệp vụ cho phép cải tiến dịch vụ mà không làm ảnh hưởng đến ứng dụng sử dụng dịch vụ.[6]
Trên thế giới, các công ty CNTT như IBM, Microsoft, BEA, HP, SAP, Tibco