Chương 1: Cơ sở lý thuyết, mô hình, kiến trúc điện toán đám mây, trình bày một số khái niệm, thành phần, kiến trúc, các ƣu, nhƣợc điểm và các nhà cung cấp điện toán đám mây. Chương 2: Dịch vụ bản đồ trong điện toán đám mây, tìm hiểu các dịch vụ bản đồ hiện có, đó là Bing Maps và Google Maps. Trên cơ sở đó đƣa ra so sánh giữa các dịch vụ bản đồ hiện có, từ đó sẽ đƣa ra lựa chọn dịch vụ và công nghệ sử dụng để xây dựng ứng dụng “Quản lý thông tin các cửa khẩu hải quan”. Chương 3: Xây dựng hệ thống quản lý thông tin các cửa khẩu hải quan, trên cơ sở các kiến thức đã đƣợc tìm hiểu, chƣơng này sẽ trình bày các bƣớc xây dựng ứng “Quản lý thông tin các cửa khẩu hải quan”, sử dụng dịch vụ bản đồ Google và công nghệ java kết hợp với javascript, trên nền Eclipse.
LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 13 Chƣơng 1. CƠ SỞ LÝ THUYẾT, MÔ HÌNH, KIẾN TRÚC ĐIỆN TOÁN ĐÁM MÂY Chương này sẽ tìm hiểu về mô hình điện toán đám mây, các loại điện toán đám mây, kiến trúc tổng thể của điện toán đám mây, các thành phần tham gia và ưu nhược điểm của điện toán đám mây. Trên cơ sở đó đưa ra so sánh giữa mô hình điện toán đám mây với các mô hình khác. Đồng thời chương này cũng tìm hiểu các mô hình điện toán đám mây đang có.1 Khái niệm điện toán đám mây Mô hình điện toán tiến hóa qua các thời kỳ lịch sử khác nhau cùng với sự phát triển của máy tính và hạ tầng mạng truyền thông.
Từ thế hệ máy tính thứ nhất đến thế hệ máy tính thứ ba, máy tính vẫn là các máy cồng kềnh, đắt đỏ. Cùng với đó là sự phức tạp của các chƣơng trình ứng dụng, sự đầu tƣ lớn trong phát triển và vận hành ứng dụng, sử dụng hệ thống khắt khe. Thế hệ thứ tƣ của máy tính xuất hiện những năm 70 đến nay với sự xuất hiện của vi xử lý, cùng với sự ra đời của các ngôn ngữ lập trình thân thiện, phù hợp hơn cho từng lĩnh vực ứng dụng đặc thù đã tạo ra một cuộc cách mạng trong lĩnh vực công nghệ. Với việc cho ra đời máy tính cá nhân đầu những năm 80 của IBM và Apple, điện toán đã đƣợc tiếp cận rộng rãi và trở nên phổ thông.
Bƣớc sang những năm 80, nhất là những năm 90 của thế kỉ XX, công nghệ và hạ tầng mạng truyền thông đã có những bƣớc phát triển vƣợt bậc, với sự ra đời của mạng Internet kết nối toàn cầu và sự bùng nổ của ứng dụng Web.1 Mô phỏng các thời kỳ phát triển của điện toán [11] Ngày nay, những năm đầu thế kỷ XXI, hạ tầng máy tính, viễn thông đã hội tụ trên nền tảng công nghệ số. Công nghệ kết nối có dây, không dây qua cáp đồng, cáp quang, vệ tinh, wifi, mạng 3G, 4G,… cho phép kết nối mạng toàn cầu, vƣơn tới tất cả các nơi trên thế giới. Hạ tầng cơ sở kỹ thuật công nghệ phát triển dẫn đến các thiết bị tính toán cũng hết sức đa dạng, từ các siêu máy tính, máy chủ lớn, tới các máy tính cá LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 14 nhân, máy tính xách tay, các thiết bị di động thông minh hay các điện thoại di động giá rẻ đều có thể kết nối với nhau. Khi thế giới điện toán đã kết nối với nhau thì làm thế nào để khai thác đƣợc tối đa năng lực điện toán đó với chi phí thấp nhất và thời gian nhanh nhất? Các nhu cầu đặt ra khi điện toán đƣợc sử dụng là vô cùng to lớn và điện toán đám mây (Cloud computing) đƣợc kỳ vọng sẽ đáp ứng đƣợc các tất cả các yêu cầu trong thực tế của con ngƣời.
Điện toán đám mây sẽ đem sản phẩm và dịch vụ công nghệ thông tin chất lƣợng cao đến mọi đối tƣợng theo nhu cầu, với thời gian nhanh và chi phí rẻ hơn. Điện toán đám mây (Cloud computing) có lẽ là thuật ngữ thời sự nhất trong giới công nghệ thông tin trên thế giới hiện nay và đƣợc Gartner xếp đầu bảng trong các công nghệ chiến lƣợc từ năm 2010. Dẫu vậy, điện toán đám mây vẫn còn là một mô hình đang tiến tới hoàn chỉnh, các hãng công nghệ cũng nhƣ các tổ chức tiêu chuẩn trên thế giới đang đƣa ra các định nghĩa và cách nhìn của riêng mình. Một cách tổng quát, điện toán đám mây (thuật ngữ tiếng Anh: Cloud computing, hay còn được biết đến với tên gọi “Điện toán máy chủ ảo”) là mô hình máy tính dựa trên nền tảng phát triển của internet, nơi được chia sẻ tài nguyên, phần mềm và thông tin cung cấp cho máy tính cũng như các thiết bị khác theo yêu cầu qua Internet [10].
Điện toán đám mây là sự nâng cấp từ mô hình máy chủ mainframe sang mô hình client-server. Cụ thể, ngƣời dùng sẽ không cần phải có các kiến thức về chuyên sâu để điều khiển các công nghệ, máy móc và cơ sở hạ tầng, mà các chuyên gia trong “đám mây” của các hãng cung cấp sẽ giúp thực hiện điều đó. Thuật ngữ “đám mây” ở đây là lối nói ẩn dụ chỉ mạng Internet (dựa vào cách bố trí của nó trong sơ đồ mạng máy tính) và nhƣ là một liên tƣởng về độ phức tạp của các cơ sở hạ tầng chứa trong nó. Ở mô hình điện toán đám mây, mọi khả năng liên quan đến công nghệ thông tin đều đƣợc cung cấp dƣới dạng các “dịch vụ”, cho phép ngƣời sử dụng truy cập các dịch vụ công nghệ từ một nhà cung cấp nào đó trong “đám mây” mà không cần phải có các kiến thức, kinh nghiệm về công nghệ đó, cũng nhƣ không cần quan tâm đến các cơ sở hạ tầng phục vụ công nghệ đó.
Ví dụ đơn giản, nếu một website đƣợc chứa trên một máy chủ, ngƣời dùng phải lựa chọn hệ điều hành để cài đặt (Linux/Windows/Mac), tiến hành các thiết lập để máy chủ và website có thể hoạt động. Tuy nhiên, nếu trang web đƣợc chứa trên “đám mây”, ngƣời dùng sẽ không cần phải thực hiện thêm bất cứ điều gì khác. Điều này cũng đảm bảo yếu tố đầu tƣ về phần cứng đƣợc giảm tải ở mức tối đa. Tài nguyên, dữ liệu, phần mềm và các thông tin liên quan đều đƣợc chứa trên các server (chính là các “đám mây”).
Nói một cách đơn giản nhất “ứng dụng điện toán đám mây” chính là những ứng dụng trực tuyến trên Internet. Trình duyệt là nơi ứng dụng hiện hữu và vận hành còn dữ liệu đƣợc lƣu trữ và xử lý ở máy chủ của nhà cung cấp ứng dụng đó. LUAN VAN CHAT LUONG download : add luanvanchat@agmail.2 Sơ đồ mô hình chung điện toán đám mây [1] 1.2 Mô hình dịch vụ trong điện toán đám mây Hình 0.3 Các loại dịch vụ Cloud computing Dịch vụ Cloud computing rất đa dạng và bao gồm tất cả các lớp dịch vụ điện toán từ cung cấp năng lực tính toán trên dƣới máy chủ hiệu suất cao hay các máy chủ ảo, không gian lƣu trữ dữ liệu, hay một hệ điều hành, một công cụ lập trình, hay một ứng dụng kế toán… Các dịch vụ cũng đƣợc phân loại khá đa dạng nhƣng các mô hình dịch vụ Cloud computing phổ biến nhất có thể đƣợc phân thành ba nhóm: Dịch vụ hạ tầng (IaaS – Infrastructure as a Service), dịch vụ nền tảng (Paas – Platform as a Service), dịch vụ phần mềm (SaaS - Software as a Service). Cách phân loại này thƣờng đƣợc gọi là “mô hình SPI”.
Mô hình các lớp dịch vụ SPI đƣợc thể hiện nhƣ sau: LUAN VAN CHAT LUONG download : add luanvanchat@agmail.4 Mô hình lớp dịch vụ SPI [11] 1.1 Dịch vụ hạ tầng (IaaS – Infrastructure as a Service) Dịch vụ IaaS cung cấp dịch vụ cơ bản bao gồm 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 nhằm đáp ứng nhu cầu tính toán hoặc cài đặt ứng dụng riêng cho ngƣời sử dụng. Với dịch vụ này khách hàng làm chủ hệ điều hành, lƣu trữ và các ứng dụng do khách hàng cài đặt, còn nhà cung cấp dịch vụ sẽ quản lý cơ sở hạ tầng bên dƣới. 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 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. Trên dịch vụ này, khách hàng có thể đăng ký sử dụng một máy tính ảo và lựa chọn một hệ điều hành (Windows, Linux …) và tự cài đặt ứng dụng của mình trên đó.2 Dịch vụ nền tảng (PaaS – Platform as a Service) Dịch vụ 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 Cloud đó. Dịch vụ PaaS có thể đƣợc cung cấp dƣới dạng các ứng dụng giữa các lớp (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 một API riêng.
Khách hàng xây dựng ứng dụng và tƣơng tác với hạ tầng Cloud computing thông qua các API đó. Ở mức PaaS, khách hàng không phải quản lý hoặc kiểm soát cơ sở hạ tầng bên dƣới bao gồm cả mạng, máy chủ, hệ điều hành, lƣu trữ, các công cụ, môi trƣờng phát triển ứng dụng nhƣng quản lý các ứng dụng mình cài đặt hoặc phát triển. 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 (ISV). LUAN VAN CHAT LUONG download : add luanvanchat@agmail.5 Mô hình PaaS [11] Ví dụ điển hình trong thực tế là dịch vụ App Engine của Google.
Dịch vụ App Engine là một dịch vụ PaaS, 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 trên ngôn ngữ lập trình Java hoặc Python. Hoặc một ví dụ khác là dịch vụ Bing Maps của Microsoft. Đây là một dịch vụ PaaS, nó cũng 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 trên ngôn ngữ .NET của Microsoft. Ƣu điểm của PaaS: Dịch vụ nền tảng PaaS đang ở thời kỳ đầu và đang đƣợc ƣa chuộng vì nó cung cấp dịch vụ phần mềm có tích hợp các yếu tố về nền tảng hệ thống.
Tiện lợi trong những dự án tập hợp các công việc nhóm có sự phân tán về địa lý. Có khả năng tích hợp nhiều nguồn của dịch vụ Web.