CHƯƠNG 1. GIẢI PHÁP CHO VẤN ĐỀ
1.1 Giải pháp chức năng
Phát biểu chi tiết bài toán sẽ giải quyết
Xây dựng hệ thống phần mềm (dạng web trên nền tảng đám mây) hỗ trợ học sinh
phổ thông học toán. Hệ thống là một tập những công cụ giải các dạng toán quen thuộc ở
chương trình học phổ thông giới hạn trong lĩnh vực đại số & giải tích. Cụ thể hệ thống sẽ
giải quyết những vấn đề sau :
− Công cụ tính toán : Hệ thống cho phép học sinh chọn một công cụ tính toán,
sau đó nhập vào biểu thức toán học tương ứng. Hệ thống sẽ đưa ra kết quả
tính toán và bài giải chi tiết (nếu có) cho học sinh. Danh sách những công cụ
được xây dựng :
− Giải phương trình (bậc 1, bậc 2, bậc 3, ... , phương trình lượng giác).
− Giải hệ phương trình.
− Tìm giới hạn (biểu thức, hàm số).
− Tính đạo hàm biểu thức.
− Khảo sát và vẽ đồ thị hàm số.
− Tìm nguyên hàm với biểu thức cho trước.
− Tính tích phân của biểu thức.
− Lý thuyết : ứng với mỗi công cụ tính toán là một bộ lý thuyết tóm tắt xoay
quanh vấn đề này. Sau khi chọn công cụ tính toán, học sinh có thể xem
những lý thuyết liên quan đến bài toán mà công cụ này giải quyết (ví dụ : với
công cụ khảo sát hàm số, tương ứng sẽ có phần lý thuyết về các bước để
khảo sát hàm số,..).
1.2 Giải pháp công nghệ
Cloud computing
Hiện nay, chưa có một sự thống nhất về định nghĩa Cloud computing, mỗi tổ chức
hay nhà cung cấp dịch vụ đều đưa ra ý kiến riêng.
Theo WIKIPEDIA
Cloud Computing là điện toán trên nền tảng Internet. Các Máy Chủ cung cấp tài
nguyên, phần mềm, dữ liệu, và các thiết bị khác theo yêu cầu.
Theo Ian Foster
Cloud Computing là mô hình điện toán phân tán có tính co giãn linh hoạt về mặt
kinh tế, là nơi chứa sức mạnh về tính toán, lưu trữ dựa trên nền tảng và dịch vụ cung cấp.
sự ảo hóa tài nguyên và thay đổi linh hoạt để phù hợp với nhu cầu khách hàng trên
Internet.
Theo Rajkumar Buyya
Cloud là một hệ thống phân tán và xử lý song song gồm nhiều máy tính ảo kết nối
với nhau và được cung cấp cho người dùng dựa trên thỏa thuận giữa nhà cung cấp dịch vụ
và người dùng.
Tại sao phải dùng Cloud Computing ?
Lợi ích về chi phí đầu tư
Thông thường người dùng hoặc các doanh nghiệp phải đầu tư vào nhiều khoản như:
mua ứng dụng, đầu tư cho phần cứng để có thể triển khai được ứng dụng đó, chi phí bảo trì
phần cứng và phần mềm, chi phí nâng cấp thiết bị, thuê đội ngũ quản lý, …đôi khi nhiều
ứng dụng và thiết bị có giá đắt đỏ được mua về tuy nhiên tần suất sử dụng không cao, khả
năng đáp ứng kém, đó là một sự lãng phí lớn.
Với điện toán đám mây, người dùng và các doanh nghiệp chỉ các thiết bị cấu hình
đủ để duyệt web, được kết nối với internet là có thể sử dụng được các tài nguyên mà họ
đang có nhu cầu. Không cần tốn quá nhiều chi phí, nhưng người dùng và các doanh nghiệp
có thể sử dụng các tài nguyên tốt nhất với khả năng đáp ứng cao và chỉ phải trả chi phí cho
lưu lượng mà họ đã sử dụng (thường tính bằng thời gian sử dụng ứng dụng).
Công nghệ ảo hóa
Ảo hóa làm tăng năng xử lý bằng cách kết hợp các server và các thiết bị lưu trữ.
Công nghệ ảo hóa đã tạo nên tính linh động của điện toán đám mây. Nếu các nhà cung cấp
dịch vụ truyền thống chỉ cung cấp cố định tài nguyên và năng lực xử lý đúng như ràng
buộc của hai bên (thường thấp hơn so với hợp đồng), thì điện toán đám mây có khả năng
cung cấp thêm tài nguyên, năng lực xử lý một cách nhanh chóng chỉ sau những thao tác
cấu hình đơn giản và khách hàng chỉ phải trả chi phí đúng theo lưu lượng mà họ sử dụng.
Người dùng hoặc các doanh nghiệp có thể tiếp cận với các tài nguyên tính toán và lưu trữ
khổng lồ.
Ngoài ra, xét ở góc độ các lập trình viên và các nhà phát triển ứng dụng, điện toán
đám mây cung cấp đầy đủ các công cụ hỗ trợ trong quá trình phát triển một ứng dụng như
các cơ sở dữ liệu, các máy chủ ứng dụng, hệ thống quản lý source code, hệ thống quản lý
thay đổi, các công cụ lần vết tìm lỗi, … mà không cần đầu tư quá nhiều. Cho phép các lập
trình viên và nhà phát triển ứng dụng tạo ra các ứng dụng web tùy chỉnh và phát hành nó
một cách nhanh chóng , bỏ qua nhiều giai đoạn rắc rối như việc thiết lập hosting, servers,
databases, …
Các loại hình dịch vụ
Các mô hình dịch vụ của điện toán đám mây khá da dạng, nhưng phổ biến nhất có
thể được phân thành 3 nhóm: dịch vụ hạ tầng (IaaS), dịch vụ nền tảng (PaaS) và dịch vụ
phần mềm (SaaS).
Dịch vụ hạ tầng IaaS (Infrastructure as a Service)
Dịch vụ hạ tầng IaaS cung cấp dịch vụ cơ bản, cung cấp năng lực tính toán, không
gian lưu trữ, kết nối mạng tới khách hàng. Khách hàng (cá nhân hoặc tổ chức) có thể sử
dụng tài nguyên hạ tầng này để đáp ứng nhu cầu tính toán hoặc cài đặt ứng dụng riêng tùy
theo mục đích sử dụng. Với dịch vụ này khách hàng làm chủ hệ điều hành, không gian lưu
trữ và các ứng dụng do khách hàng cài đặt. Khách hàng điển hình của dịch vụ IaaS có thể
là mọi đối tượng cần tới một máy tính và tự cài đặt ứng dụng của mình.
Ví dụ điển hình về dịch vụ này là dịch vụ EC2 của Amazon. Khách hàng có thể
đăng ký sử dụng một máy tính ảo trê dịch vụ của Amazon và lựa chọn một hệ thống điều
hành (ví dụ, Windows hoặc Linux) và tự cài đặt ứng dụng của mình.
Dịch vụ nền tảng PaaS (Platform as a Service)
Dịch vụ nền tảng PaaS cung cấp nền tảng điện toán cho phép khách hàng phát triển
các phần mềm, phục vụ nhu cầu tính toán hoặc xây dựng thành dịch vụ trên nền tảng đám
mây đó. Dịch vụ PaaS có thể được cung cấp dưới dạng các ứng dụng lớp giữa
(middleware), các ứng dụng chủ (application server) cùng các công cụ lập trình với ngôn
ngữ lập trình nhất định để xây dựng ứng dụng. Dịch vụ PaaS cũng có thể được xây dựng
riêng và cung cấp cho khách hàng thông qua API riêng. Khách hàng xây dựng ứng dụng và
tương tác với hạ tầng điện toán đám mây thông qua API đó. Ở mức PaaS, khách hàng
không quản lý nền tảng đám mây hay các tài nguyên lớp như hệ điều hành, lưu giữ ở lớp
dưới. Khách hàng điển hình của dịch vụ PaaS chính là các nhà phát triển ứng dụng.
Dịch vụ App Engine của Google là một dịch vụ PaaS điển hình, cho phép khách
hàng xây dựng các ứng dụng web với môi trường chạy ứng dụng và phát triển dựa trên
ngôn ngữ lập trình Java hoặc Python.
Dịch vụ phần mềm SaaS (Software as a Service)
Dịch vụ SaaS cung cấp các ứng dụng hoàn chỉnh như một dịch vụ theo yêu cầu cho
nhiều khách hàng. Khách hàng lựa chọn ứng dụng phù hợp với nhu cầu và sử dụng mà
không quan tâm tói hay bỏ công sức quản lý tài nguyên tính toán bên dưới.
Dịch vụ SaaS nổi tiếng nhất phải kể đến Salesforce.com với các ứng dụng cho
doanh nghiệp mà nổi bật nhất là CRM. Các ứng dụng SaaS cho người dùng cuối phổ biến
là các ứng dụng office Online của Microsoft hay Google Docs của Google.
Mô hình triển khai
Đám mây “công cộng”
Mô hình đầu tiên được nói đến khi đề cập tới điện toán đám mây chính là mô hình
đám mây công cộng (public cloud). Đây là mô hình mà hạ tầng điện toán đám mây được
một tổ chức sỡ hữu và cung cấp dịch vụ rộng rãi cho tất cả các khách hàng thông qua hạ
tầng mạng internet hoặc các mạng công cộng diện rộng. Các ứng dụng khác nhau chia sẻ
chung tài nguyên tính toán, mạng và lưu trữ. Do vậy, hạ tầng điện toán đám mây được thiết
kế để đảm bảo cô lập về dữ liệu giữa các khách hàng và tách biệt về truy cập.
Các dịch vụ của đám mây công cộng hướng tới số lượng khách hàng lớn nên
thường có năng lực về hạ tầng cao, đáp ứng nhu cầu tính toán linh hoạt, đem lại chi phí
thấp cho khách hàng. Do đó khách hàng của các dịch vụ trên đám mây công cộng sẽ bao
gồm tất cả các tầng lớp, trong đó khách hàng là cá nhân và doanh nghiệp nhỏ sẽ được lợi
thế trong việc dễ dàng tiếp cận các ứng dụng công nghệ cao, chất lượng mà không phải đầu
tư ban đầu, chi phí sử dụng thấp, linh hoạt.
Đám mây “riêng”
Đám mây riêng (private cloud) là mô hình trong đó hạ tầng đám mây được sở hữu
bởi một tổ chức và phục vụ cho người dùng của tổ chức đó. Đám mây riêng có thể được
vận hành bởi một bên thứ ba và hạ tầng đám mây có thể được đặt bên trong hoặc bên ngoài
tổ chức sở hữu (tại bên thứ ba kiêm vận hành hoặc thậm chí là một bên thứ tư).
Đám mây riêng được các tổ chức, doanh nghiệp lớn xây dựng cho mình nhằm khai
thác ưu điểm về công nghệ và khả năng quản trị của điện toán đám mây. Với đám mây
riêng, các doanh nghiệp tối ưu được hạ tầng IT của mình, nâng cao hiệu quả sử dụng, quản
lý trong cấp phát và thu hồi tài nguyên, qua đó giảm thời gian đưa sản phẩm sản xuất, kinh
doanh ra thị trường.
Đám mây “chung”
Đám mây chung (community cloud) là mô hình trong đó hạ tầng đám mây được
chia sẻ bởi một số tổ chức cho cộng đồng người dùng trong các tổ chức đó. Các tổ chức
này do đặc thù không tiếp cận với các dịch vụ của đám mây công cộng và chia sẻ chung
một hạ tầng điện toán đám mây để nâng cao hiệu quả đầu tư và sử dụng.
Đám mây “lai”
Mô hình đám mây lai (hybrid cloud) là mô hình bao gồm hai hoặc nhiều hơn các
đám mây trên tích hợp với nhau. Mô hình đám mây lai cho phép chia sẻ hạ tầng hoặc đáp
ứng nhu cầu trao đổi dữ liệu.
Khảo sát các nhà cung cấp dịch vụ điện toán đám mây
Những hổ trợ cho Developer
Amazon Salesfore GAE Microsoft Rackspace
Hổ trợ HDH Window y y y y y
Hổ trợ HDH Mac OS y y y n n
Hổ trợ HDH Linux/Other y y y n y
.NET y y n y y
Java y y y y y
Python y y y n y
Ruby y y n y n
PHP y y n y n
Flex n y n n n
SQL/ SQL Server y n n y y
MySQL y n y n y
Oracle y n n n y
Miễn phí sử dụng y y y y n
Ghi chú :
GAE : Google App Engine
y : có cung cấp.
n : không cung cấp.
Chi phí sử dụng cho người dùng
Amazon
Miễn phí: />
Có phí: mức phí nhỏ nhất là 1.365$ và sẽ lớn hơn nhiều tùy thuộc nhu cầu sử dụng
EC2 : .
Data Tranfer.
Amazon Elastic Block Store.
Elastic IP Addresses.