1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tìm hiểu về dịch vụ Google App Engine của Google

21 504 4

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Google App Engine là một hệ thống tích hợp đầy đủ các kĩ thuật cho một ứngdụng web hiện đại. Google App Engine cung cấp một khả năng phát triển và triểnkhai ứng dụng nhanh chóng, việc quản lý đơn giản, dễ dàng để quy mô như lưulượng truy cập và nhu cầu lưu trữ dữ liệu của ứng dụng lớn. Người dùng không cần lo lắng đến phần cứng, các bản vá lỗi hoặc sao lưu.Qua đó để nắm bắt được công nghệ tương lai này, em thực hiện đề tài: “Tìmhiểu về dịch vụ Google App Engine của Google” .

Tìm hiểu dịch vụ Google App Engine Google NHẬN XÉT ĐÁNH GIÁ Nhóm Trang Tìm hiểu dịch vụ Google App Engine Google LỜI MỞ ĐẦU Hiện nghe nói điện toán đám mây (Cloud Computing) nhiều Đây mơ hình điện tốn sử dụng mạng máy tính phát triển dựa vào mạng Internet Điện toán đám mây khái niệm tổng thể bao gồm khái niệm phần mềm dịch vụ, Web 2.0 vấn đề khác xuất gần đây, xu hướng công nghệ bật chủ yếu dựa vào Internet để đáp ứng nhu cầu điện toán người dùng Google App Engine (viết tắt AppEngine hay GAE), tảng điện toán đám mây phát triển hàng đầu thị trường Ở đó, Google có cung cấp sẵn hệ thống máy chủ điện toán đám mây người lập trình viết ứng dụng Ứng dụng chạy đám mây Google Google App Engine cấp ứng dụng kinh doanh trực tuyến thơng thường, truy cập từ trình duyệt web, liệu phần mềm lưu máy chủ Google App Engine hệ thống tích hợp đầy đủ kĩ thuật cho ứng dụng web đại Google App Engine cung cấp khả phát triển triển khai ứng dụng nhanh chóng, việc quản lý đơn giản, dễ dàng để quy mô lưu lượng truy cập nhu cầu lưu trữ liệu ứng dụng lớn Người dùng không cần lo lắng đến phần cứng, vá lỗi lưu Qua để nắm bắt công nghệ tương lai này, em thực đề tài: “Tìm hiểu dịch vụ Google App Engine Google” Nhóm Trang Tìm hiểu dịch vụ Google App Engine Google CHƯƠNG 1: TỔNG QUAN VỀ ĐIỆN TOÁN ĐÁM MÂY Khái niệm Điện tốn đám mây (tiếng Anh: Cloud Computing), gọi điện tốn máy chủ ảo, mơ hình điện tốn sử dụng cơng nghệ máy tính phát triển dựa vào mạng Internet Thuật ngữ "đám mây" lối nói ẩn dụ mạng Internet (dựa vào cách bố trí sơ đồ mạng máy tính) liên tưởng độ phức tạp sở hạ tầng chứa Ở mơ hình điện tốn này, khả liên quan đến công nghệ thông tin cung cấp dạng "dịch vụ", cho phép người sử dụng truy cập dịch vụ công nghệ từ nhà cung cấp "trong đám mây" mà khơng cần phải có kiến thức, kinh nghiệm cơng nghệ đó, khơng cần quan tâm đến sở hạ tầng phục vụ cơng nghệ Theo tổ chức IEEE "Nó hình mẫu thơng tin lưu trữ thường trực máy chủ Internet được lưu trữ tạm thời máy khách, bao gồm máy tính cá nhân, trung tâm giải trí, máy tính doanh nghiệp, phương tiện máy tính cầm tay, " Hình 1: Cloud Computing Điện toán đám mây khái niệm tổng thể bao gồm khái niệm phần mềm dịch vụ, Web 2.0 vấn đề khác xuất gần đây, xu hướng cơng nghệ bật, đề tài chủ yếu vấn đề dựa vào Internet để đáp ứng nhu cầu điện toán người dùng Ví dụ, dịch vụ Google AppEngine cung Nhóm Trang Tìm hiểu dịch vụ Google App Engine Google cấp ứng dụng kinh doanh trực tuyến thơng thường, truy nhập từ trình duyệt web, phần mềm liệu lưu trữ máy chủ Lịch sử Thuật ngữ điện toán đám mây xuất bắt nguồn từ ứng dụng điện toán lưới (grid computing) thập niên 1980, điện toán theo nhu cầu (utility computing) phần mềm dịch vụ (SaaS) Điện toán lưới đặt trọng tâm vào việc di chuyển tải công việc (workload) đến địa điểm tài nguyên điện toán cần thiết để sử dụng Một lưới nhóm máy chủ mà nhiệm vụ lớn chia thành tác vụ nhỏ để chạy song song, xem máy chủ ảo Với điện toán đám mây, tài nguyên điện toán máy chủ định hình động cắt nhỏ từ sở hạ tầng phần cứng trở nên sẵn sàng thực nhiệm vụ, hỗ trợ mơi trường khơng phải điện tốn lưới Web ba lớp chạy ứng dụng truyền thống hay ứng dụng Web 2.0 Kiến trúc Đại phận hạ tầng sở điện toán đám mây kết hợp dịch vụ đáng tin cậy phân phối thông qua trung tâm liệu (data center) xây dựng máy chủ với cấp độ khác công nghệ ảo hóa Những dịch vụ truy cập từ đâu giới, Đám mây điểm truy cập cho tất máy tính có nhu cầu khách hàng Các dịch vụ thương mại cần đáp ứng yêu cầu chất lượng dịch vụ từ phía khách hàng thông thường đưa mức thỏa thuận dịch vụ (Service level agreement) Các tiêu chuẩn mở (Open standard) phần mềm mã nguồn mở (open source software) góp phần phát triển điện tốn máy chủ ảo Nhóm Trang Tìm hiểu dịch vụ Google App Engine Google Hình 2: Kiến trúc điện tốn đám mây Đặc điểm điện toán đám mây 4.1: Tính tự phục vụ theo nhu cầu • Đặc tính kỹ thuật điện toán đám mây cho phép khách hàng đơn phương thiết lập yêu cầu nguồn lực nhằm đáp ứng yêu cầu hệ thống như: Thời gian sử dụng Server, dung lượng lưu trữ, khả đáp ứng tương tác lớn hệ thống bên ngồi 4.2: Truy cập diện rộng • Điện toán đám mây cung cấp dịch vụ chạy môi trường Internet khách hàng cần kết nối với Internet sử dụng dịch vụ.Các thiết bị truy xuất thông tin không yêu cầu cấu hình cao (thin or thick client platforms) : Mobile phone, Laptop PDAs… 4.3: Dùng chung tài ngun độc lập vị trí • Tài ngun nhà cung cấp dịch vụ dùng chung, phục vụ cho nhiều người dùng dựa mơ hình “multi-tenant” Mơ hình cho phép tài ngun phần cứng tài nguyên ảo hóa cấp pháp động dựa vào nhu cầu người dùng Khi nhu cầu người dùng giảm xuống tăng nên tài nguyên trưng dụng để phục vụ yêu cầu Nhóm Trang Tìm hiểu dịch vụ Google App Engine Google • Người sử dụng khơng cần quan tâm tới việc điều khiển khơng cần phải biết xác vị trí tài nguyên cung cấp Ví dụ : Tài nguyên cung cấp bao gồm : Tài nguyên lưu trữ, xử lý, nhớ, băng thông mạng máy ảo 4.4: Khả co giãn nhanh chóng • Khả cho phép tự động mở rộng thu nhỏ hệ thống tùy theo nhu cầu người sử dụng cách nhanh chóng Khi nhu cầu tăng, hệ thống tự động mở rộng cách thêm tài nguyên vào Khi nhu cầu giảm, hệ thống tự động giảm bớt tài nguyên • Khả co giãn giúp cho nhà cung cấp sử dụng tài nguyên hiệu quả, tận dụng triệt để tài nguyên dư thừa, phục vụ nhiều khách hàng Đối với người sử dụng dịch vụ, khả co giãn giúp họ giảm chi phí họ trả phí cho tài nguyên thực dùng 4.5: Chi trả theo thực dùng • Nhiều dịch vụ điện tốn đám mây sử dụng mơ hình điện tốn theo nhu cầu, mơ hình tương tự với cách tiện ích theo nhu cầu truyền thống điện tiêu thụ, số khác tiếp thị dựa vào tiền đóng trước Điện tốn đám mây cho phép giới hạn dung lượng lưu trữ, băng thơng, tài ngun máy tính số lượng người dùng kích hoạt theo tháng • Ngồi năm đặc điểm mơ tả trên, điện tốn đám mây cung cấp số đặc điểm sau : • Độ tin cậy: Độ tin cậy cải thiện thông qua việc sử dụng site có nhiều dư thừa, làm thích hợp cho tính liên tục kinh doanh khôi phục thất bại Tuy nhiên, phần lớn dịch vụ cloud computing có lúc thiếu hụt người giám đốc kinh doanh, IT phải làm cho • Hiệu suất: Hiệu suất hoạt động quan sát kiến trúc quán, kết nối lỏng lẽo cấu trúc dùng web service giao tiếp hệ thống • Khả chịu đựng: Khả chịu đựng xảy thông qua việc tận dụng tài nguyên cải thiện, hệ thống hiệu Tuy nhiên, máy tính sở hạ tầng kết hợp thứ tiêu thụ lượng chủ yếu Nhóm Trang Tìm hiểu dịch vụ Google App Engine Google Mơ hình dịch vụ điện tốn đám mây Dịch vụ Cloud Computing (CC) đa dạng bao gồm tất lớp dịch vụ điện toán từ cung cấp lực tính tốn máy chủ hiệu suất cao hay máy chủ ảo, không gian lưu trữ liệu, hay hệ điều hành, cơng cụ lập trình, hay ứng dụng kế toán… Các dịch vụ phân loại đa dạng, mơ hình dịch vụ CC phổ biến phân thành nhóm: Dịch vụ hạ tầng (IaaS), Dịch vụ tảng (PaaS) Dịch vụ phần mềm (SaaS) 5.1: Dịch vụ hạ tầng Iaas (Infrastructure as a Service) Dịch vụ IaaS cung cấp dịch vụ bao gồm lực tính tốn, khơng gian lưu trữ, kết nối mạng tới khách hàng Khác hàng (cá nhân tổ chức) sử dụng tài ngiên hạ tầng để đáp ứng nhu cầu tính tốn cìa đặt ứng dụng riêng cho người sử dụng Với dịch vụ khác hàng làm chủ hệ điều hành, lưu trữ ứng dụng khách hàng cài đặt Khách hàng điển hình dịch vụ IaaS đối tượng cần tới máy tính tự cài đặt ứng dụng mình.Ví dụ điển hình dịch vụ dịch vụ EC2 Amazon Khách hàng đăng ký sử dụng máy tính ảo dịch vụ Amazon lựa chọn hệ điều hành (ví dụ, Windows Linux) tự cài đặt ứng dụng 5.2: Dịch vụ tảng PaaS (Platform as a Service) Dịch vụ PaaS cung cấp tảng điện toán cho phép khách hàng phát triển phần mềm, phục vụ nhu cầu tính tốn xây dựng thành dịch vụ tảng Cloud Dịch vụ PaaS cung cấp dạng ứng dụng lớp (middleware), ứng dụng chủ (application server) công cụ lập trình với ngơn ngữ lập trình định để xây dựng ứng dụng Dịch vụ PaaS xây dựng riêng 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 tương tác hạ tầng CC thông qua API Ở mức PaaS, khách hàng khơng quản lý tảng Cloud hay tài nguyên lớp hệ điều hành, lưu giữ lớp Khách hàng điển hình dịch vụ PaaS nhà phát triển ứng dụng (ISV) Dịch vụ App Engine Google dịch vụ PaaS điển hình, cho phép khách hàng xây dựng ứng dụng web với môi trường chạy ứng dụng phát triển dự ngôn ngữ lập trình Java Python 5.3: Dịch vụ phần mềm SaaS (Software as a Service) Dịch vụ SaaS cung cấp ứng dụng hoàn chỉnh dịch vụ theo yêu càu cho nhiều khách hàng với phiên cài đặt Khách hàng lựa chọn ứng Nhóm Trang Tìm hiểu dịch vụ Google App Engine Google dụng phù hợp với nhu cầu sử dụng mà không quan tâm hay bỏ công sức quản lý tài ngun tính tốn bên Dịch vụ SaaS tiếng phải kể đến Salesforce.com với ứng dụng cho doanh nghiệp mà bật CRM Các ứng dụng SaaS cho người dùng cuối phổ biến ứng dụng Office Online Microsoft hay Google Docs Google Các mơ hình triển khai điện tốn đám mây Có mơ hình triển khai đám mây là: Đám mây cơng cộng (Public Cloud), đám mây riêng (Private Cloud) , đám mây lai (Hybrid Cloud) đám mây cộng đồng (Community Cloud) Hình 3: Mơ hình triển khai điện tốn đám mây 6.1: Private Cloud Đám mây riêng đám mây nội thuật ngữ sử dụng để cập đến điện tốn đám mây chạy mạng riêng Trong sử dụng mạnh cơng nghệ ảo hóa để thực việc quản lý tài nguyên, sở hạ tầng dịch vụ đám mây riêng xây dựng để phục vụ cho tổ chức (doanh nghiệp) Điều giúp cho doanh nghiệp chủ động kiểm soát tối đa liệu, bảo mật chất lượng dịch vụ Doanh nghiệp sở hữu sở hạ tầng quản lý ứng dụng triển khai Nhóm Trang 10 Tìm hiểu dịch vụ Google App Engine Google Hình : Mơ hình đám mây riêng Đám mây riêng xây dựng quản lý đội ngũ IT doanh nghiệp thuê nhà cung cấp dịch vụ đảm nhiệm công việc 6.2: Public Cloud Các dịch vụ Cloud nhà cung cấp dịch vụ cung cấp cho người sử dụng rộng rãi Các dịch vụ cung cấp quản lý nhà cung cấp dịch vụ ứng dụng người dùng nằm hệ thống Cloud Các tài nguyên đám mây cấp phát động, Các dịch vụ cung cấp thông qua môi trường internet Khách hàng sử dụng dịch vụ lợi chi phí đầu tư thấp, giảm thiểu rủi ro nhà cung cấp dịch vụ gánh vác nhiệm vụ quản lý hệ thống, sở hạ tầng, bảo mật ngồi đám mây cơng cộng cung cấp khả co giãn theo yêu cầu người sử dụng Nhóm Trang 11 Tìm hiểu dịch vụ Google App Engine Google Hình : Mơ hình đám mây cơng cộng Public Cloud có trở ngại, vấn đề kiểm sốt liệu vấn đề an toàn liệu Trong mơ hình liệu nằm dịch vụ Cloud, nhà cung cấp dịch vụ Cloud bảo vệ quản lý Chính điều khiến cho khách hàng, công ty lớn cảm thấy khơng an tồn liệu quan trọng sử dụng dịch vụ Cloud 6.3: Community Cloud Đám mây cộng đồng xây dựng nhằm mục đích chia sẻ hạ tầng tổ chức(doanh nghiệp) Ví dụ doanh nghiệp hoạt động lĩnh vực y tế chia sẻ chung đám mây Tuy nhiên để xây dựng đám mây công đồng ngồi việc chung lĩnh vực hoạt động kinh doanh doanh nghiệp cần phải có nhiều điểm tương đồng có mối quan tâm chung bảo mật, …Khi doanh nghiệp nhóm họp lại để xây dụng đám mây cộng đồng chung nhằm phục vụ cho doanh nghiệp họ Nhóm Trang 12 Tìm hiểu dịch vụ Google App Engine Google Hình : Mơ hình đám mây cộng đồng Khi triển khai điện toán đám mây cộng đồng doanh nghiệp thực quản lý theo nhiêu cách Các doanh nghiệp nhóm họp lại tham gia quản lý đám mây nguồn lực họ Nếu triển khai đám mây dựa tảng nhà cung cấp thứ ba họ lựa nguồn lực bên ngồi để tiến hành quản lý Đám mây cộng đồng liên quan tới nhiều tổ chức doanh nghiệp, doanh nghiệp có nhiều chi nhánh, để thực quản lý có hiệu cần phải định người (nhóm) quản lý đám mây phải người (nhóm) đứng đầu tổ chức doanh nghiệp Họ phải có trách nhiều đơn đốc, kết hợp với nhà quản lý chi nhánh để tham gia quản lý đám mây cộng đồng Thiết lập, chạy điều hành điện đám mây cộng đồng chút giống điều hành bệnh viện, trường học hẳn xuất vấn đề rủi ro, người điều hành cần phải có kế hoạch cụ thể nhằm giảm thiểu xử lý vấn đề phát sinh gặp phải Nhóm Trang 13 Tìm hiểu dịch vụ Google App Engine Google Quá trình xây dựng triển khai đám mây cộng đồng tốn đáp ứng riêng tư, an ninh thiết lập quy tắc để tuân thủ sách thực quản lý đám mây doanh nghiệp 6.4: Hybrid Cloud Ý tưởng hình thành đám mây lai việc triển khai đám mây dựa ưu điểm đám mây riêng đám mây công cộng Với đám mây cơng cộng dễ áp dụng, chi phí thấp khơng an toàn Ngược lại, Private Cloud an toàn tốn chi phí khó áp dụng Hình 7: Mơ hình đám mây lai Hybrid Cloud kết hợp Public Cloud Private Cloud Trong doanh nghiệp “out-source” chức nghiệp vụ liệu không quan trọng, sử dụng dịch vụ Public Cloud để giải xử lý liệu Đồng thời, doanh nghiệp giữ lại chức nghiệp vụ liệu tối quan trọng tầm kiểm sốt (Private Cloud) Nhóm Trang 14 Tìm hiểu dịch vụ Google App Engine Google Các nhà cung cấp Điện toán đám mây phát triển cung cấp nhiều nhà cung cấp, có Amazon, Google, EXA, Salesforce nhà cung cấp truyền thống Sun Microsystems, HP, IBM, Intel, Cisco Microsoft Nó nhiều người dùng cá nhân công ty lớn General Electric, L'Oréal, Procter & Gamble Valeo chấp nhận sử dụng Ưu, nhược điểm điện toán đám mây 8.1: Ưu điểm • Với ưu điểm cơng nghệ điện tốn đám mây trở thành mơ hình cơng nghệ áp dụng rộng rãi khắp giới • Tốc độ xử lý nhanh, gói băng thơng sử dụng mơ hình đám mây tốc độ truy xuất nhanh nhiều so với dòng máy chủ VPS, cung cấp cho người dùng dịch vụ chất lượng tốt với giá thành gần hồn tồn miễn phí • Đối với tổ chức, công ty sử dụng cơng nghệ điện tốn đám mây giảm bớt chi phí đầu tư ban đầu sở hạ tầng, bên cạnh chi phí máy móc nguồn nhân lực giảm đến mức thấp • Loại bỏ yếu tố vật lý địa lý, với khơng gian ảo, điện tốn đám mây cho phép người dùng truy cập sử dụng hệ thống thông qua mạng Internet đâu thiết bị mà họ sử dụng • Với khả tiện dụng, cộng nghệ điện tốn đám mây phù hợp với nhiều mơ hình cơng việc, áp dụng cho nhiều lĩnh vực Đáp ứng nhu cầu từ phổ thông đến nhu cầu kinh doanh nghiên cứu khoa học… • Khả mở rộng thu hẹp nhanh chóng, tránh tình trạng hoang phí hay thiếu hụt tài nguyên triển khai công việc, giúp cải thiện chất lượng dịch vụ cung cấp điện tốn đám mây • Với mơ hình lớp điện tốn đám mây, khả bảo mật nói tương đối ổn • Các ứng dụng triển khai tảng điện tốn đám mây dễ dàng sửa chữa cải thiện tính năng, chúng không cài đặt cố định máy tính Nhóm Trang 15 Tìm hiểu dịch vụ Google App Engine Google 8.2: Nhược điểm Với nhiều khả hay tiện dụng vừa kể trên, nhiên, mơ hình điện tốn đám mây mắc phải số nhược điểm sau: • Nhìn chung với mơ hình điện tốn đám mây nhược điểm lớn vấn đề bảo mật tính riêng tư người dùng, bên cạnh tình trạng liệu vấn xảy lỗi hệ thống Việc bị hacker công quấy rối gây tổn thất cho người dùng nhà cung cấp tránh khỏi Dù cơng nghệ tiên tiến có sức chứa cực khủng truy cập nhanh, tình trạng tải xảy khiến số hoạt động bị ngưng trệ Thế nhược điểm chung thường thấy dòng máy chủ ảo trước • Một vấn đề khác liên quan đến nhà cung cấp, khách hàng muốn thay đổi nhà cung cấp việc chuyển đổi liệu sang đám mây nhà cung cấp khác vấn đề tương đối mệt mỏi Do bạn phụ thụ nhiều vào nhà cung cấp, có người nghĩ thay đổi nhà cung cấp mà việc chuyển đổi liệu nhiều công sức thời gian Nhóm Trang 16 Tìm hiểu dịch vụ Google App Engine Google CHƯƠNG 2: KIẾN TRÚC GOOGLE APP ENGINE Giới thiệu Google App Engine Google App Engine (gọi tắt GAE hay App Engine) tảng điện toán đám mây Google để phát triển lưu trữ ứng dụng web trung tâm liệu Google quản lý (google – managed data centers) GAE dịch vụ lưu trữ ứng dụng web Khi nói đến “ứng dụng web”, muốn nói tới ứng dụng hay dịch vụ truy cập trang web, thường thơng qua trình duyệt web: web mua bán, mạng xã hội… kể trang web truyền thống xử lý văn hay hình ảnh thiết kế dành cho thời gian thực Google cung cấp hệ thống gồm: ngơn ngữ lập trình, hệ sở liệu, thư viện lập trình Khi đó, người lập trình viết ứng dụng ứng dụng chạy máy chủ Google GAE thiết kế để lưu trữ ứng dụng phục vụ nhiều người dùng cách đồng thời Khi ứng dụng phục vụ nhiều người dùng cách đồng thời mà không làm giảm hiệu suất, gọi co giãn(scale) Những ứng dụng viết cho App Engine co giãn cách tự động Càng nhiều người sử dụng chương trình, App Engine tạo nhiều tài nguyên cho ứng dụng quản lý chúng Xây dựng, mua, hay mượn? Đó câu hỏi khó Nhiều doanh nghiệp có danh sách phần cứng để chạy ứng dụng sở liệu, máy chủ ứng dụng, hệ thống quản lý thay đổi cơng cụ lần vết tìm lỗi Tuy vậy, ngày danh sách dễ dàng vứt bỏ để thay việc sử dụng gói phần mềm dạng dịch vụ (SaaS) chạy sở hạ tầng người khác Tồn chồng ứng dụng mà nhóm làm việc phải sử dụng để quản lý q trình phát triển vay mượn — nghĩa là, thuê với khoản phí nhỏ — giải phóng cho cơng ty khỏi phải đầu tư vào phần cứng để chạy chúng Ví dụ, thay mua máy tính để chạy hệ thống quản lý thay đổi (như Subversion Git, hai mã nguồn mở có sẵn miễn phí), nhóm làm việc sử dụng dịch vụ quản lý thay đổi dùng chung GitHub Công ty đằng sau GitHub phải gánh chịu chi phí tài sản phần cứng tính chi phí danh nghĩa (thường hàng tháng cho người dùng) cho tổ chức khác sử dụng Git Cùng nguyên tắc thuê phần mềm dịch vụ từ nhà cung Nhóm Trang 17 Tìm hiểu dịch vụ Google App Engine Google cấp khác áp dụng cho việc lần vết tìm lỗi, quản lý kiểm thử quản lý yêu cầu (ví dụ qua JIRA Hosted Pivotal Tracker) Cũng nói giống tài sản phần cứng nằm mà tảng phần mềm khác (về chất, thường tùy chỉnh) chạy Một doanh nghiệp vứt bỏ phần cứng nằm bên ứng dụng web cụ thể để thay việc chạy ứng dụng phần cứng cung cấp Amazon, Google đối tác khác Các công ty đưa khả thuê phần cứng mức độ khác nhau, vừa vặn lưu trữ ứng dụng Hơn nữa, công ty quản lý khả mở rộng, lưu chí an ninh Hãy suy nghĩ lát: Amazon Google nêu mối quan tâm (và nhiều nữa) từ lâu đối phó tốt với chúng, có nhiều đổi xung quanh khía cạnh việc chạy tảng phần mềm cho hiệu Bằng cách sử dụng App Engine Google, ví dụ thế, cơng ty CNTT hạ thấp tổng chi phí mua sở hạ tầng để chạy ứng dụng cần thiết Và họ triển khai ứng dụng nhanh vơ số mối quan tâm đan chéo nhau, kết hợp với việc triển khai ứng dụng quản lý tính đến cung cấp cho họ (với nhiều khả theo cách tốt hơn) Nhanh rẻ khơng có nghĩa chất lượng thấp Không giống server cung cấp dịch vụ thơng thường hay server có chức tự quản lý, với GAE phải trả tiền cho tài nguyên mà sử dụng Những tài nguyên đo gigabyte khơng có lệ phí hàng tháng Google App Engine cung cấp miến phí cho ứng dụng giới hạn, ứng dụng vượt qua mức hạn mức phải trả thêm khoản phí cho mức vượt q Mơi trường phát triển Hiện App Engine hỗ trợ nhiều ngôn ngữ như: Node.js, Java, Ruby, C#, Go, Python, Php Trong Java Python ngơn ngữ Trong GAE, tùy vào ứng dụng viết theo ngôn ngữ nào, chay mơi trường tương ứng ngơn ngữ Bên cạnh đó, cung cấp miễn phí dịch vụ Google URL Fetch, Mail, Memcache, … lưu trữ sở liệu hướng đối tượng datastore Nhóm Trang 18 Tìm hiểu dịch vụ Google App Engine Google Các thành phần chức GAE 3.1: Môi trường thực thi GAE cung cấp môi trường tốt Java Python cho ứng dụng Môi trường chọn phụ thuộc vào ngôn ngữ công nghệ liên quan dùng để phát triển ứng dụng Cả môi trường Java Python sử dụng chung mơ hình: u cầu gửi đến ứng dụng server, ứng dụng kích hoạt, gọi phận xử lý yêu cầu trả kết cho client 3.2: Các file server tĩnh Hầu hết web service có mốt số tài ngun mà chúng chuyển đến trình duyệt khơng thay đổi suốt hoạt động site Ví dụ hình ảnh site Css hỗ trợ hiển thị, đoạn mã Javascript chạy trình duyệt, file HTML tĩnh Việc làm giảm hiểu làm việc server ứng dụng Thay thế, App Engine cung cấp tập server tách biệt chuyên làm nhiệm vụ trao đổi file tĩnh Chúng ta upload file tĩnh với code ứng dụng cấu hình vài cách hiển thị cho file dồng thời hướng dẫn cho trình duyệt lưu file nhớ cache để giảm lưu lượng tăng tốc cho web 3.3: Kho liệu (datastore) Hầu hết ứng dụng web cần nơi để chứa thông tin xử lý yêu cầu từ phía client lấy thơng tin cho lần xử lý sau Việc sử dụng server làm trung tâm liệu ý tưởng hay có vấn đề xẩy có nhiều kết nối đến server Với datastore GAE vấn đề giải với việc xử lý phân tán liệu “co giãn” ứng dụng 3.4: Thực tế thuộc tính Một ứng dụng App Engine chứa liệu hay nhiều thực thể datastore Mỗi thực thể có hay nhiều thuộc tính, thuộc tính có tên giá trị Mỗi thực thể phân loại để dễ truy vấn Mỗi thực thể có khóa riêng (key) phân biệt lẫn cung cấp bổi ứng dụng App Engine Khác với CSDL quan hệ, khóa thực thể khơng phải thuộc tính, tồn độc lập với thực thể Khóa thực thể khơng thay đổi thực thể tạo Nhóm Trang 19 Tìm hiểu dịch vụ Google App Engine Google Với App Engine, câu truy vấn có mục datastore Khi ứng dụng cần thực câu truy vấn, datastore tìm mục câu truy vấn Khi tạo thực thể cập nhật cũ datastore cập nhật lại mục Điều giúp cho câu truy vấn nhanh 3.5: Truy vấn mục Một câu truy vấn datastore trả không nhiều thực thể loại với Nó trả khóa thực thể Câu truy vấn dựa vào giá trị thuộc tính thực thể xếp theo giá trị thuộc tính Câu truy vấn làm việc với khóa thực thể Với App Engine, câu truy vấn có mục datastore Khi ứng dụng cần thực hiên câu truy vấn, datastore tìm mục câu truy vấn Khi tạo thực thể cập nhật cũ datastore cập nhật lại mục Điều giúp cho câu truy vấn nhanh 3.6: Phiên giao dịch Khi ứng dụng có nhiều client liên tục đọc hay ghi liệu thời điểm, phiên giao dịch cần thiết để liệu không bị đọc sai Mỗi phiên giao dịch đơn vị nhỏ có hai trạng thái thành công thất bại Một ứng dụng đọc hay cập nhật nhiều thực thể phiên giao dịch, phải nói cho App Engine biết thực thể cập nhật tạo nhiều thực thể Ứng dụng làm điều việc tạo nhóm thực thể Nhờ nhóm thực thể, App Engine biết thực thể phân tán qua server, Engine hỗ trợ phiên giao dịch nội (local transaction) Nếu người dùng cố gắng cập nhật thực thể người khác cập nhật thực thể datastore trả biệt lệ báo lỗi Trong thuật ngữ database, ta nói App Engine sử dụng “optimistic concurrency control” Với mục “optimistic concurrency control”, App Engine thiết kế giúp cho ứng dụng đọc liệu nhanh đảm bảo 3.7: Các dịch vụ Dịch vụ memcache dịch vụ lưu trữ theo khóa – giá trị Thuận lợi dịch datastore tốc độ nhanh, nhanh so với việc lưu trữ lấy liệu cách bình thường datastore Memcache lưu trữ liệu nhớ thay ổ đĩa để tăng tốc độ truy cập Nó phân tán datastore truy nhiên khơng lưu trữ, điện memcache Nhóm Trang 20 Tìm hiểu dịch vụ Google App Engine Google Ứng dụng App Engine truy cập tài nguyên web khác nhờ dịch vụ URL Fetch Dịch vụ tạo yêu cầu theo dạng HTTP gửi đến server khác internet việc tương tác với service khác Vì ta truy cập đến server khác thời gian lây nên URL Fetch hỗ trợ chạy ngầm bên xử lý yêu cầu khác Úng dũng App Engine gửi mail dựa vào dịch vụ Mail, cấu hình, nhận email Ứng dụng App Engine gửi nhận thin nhắn đến dịch vụ chát có sử dũng giao thức XMPP bao gồm Google Talk 3.8: Tài khoản Chúng ta sử dụng tài khoản Google cho ứng dụng Và người dùng có tài khoản Google, họ đăng nhập vào ứng dụng với tài khoản mà không cần tạo tài khoản riêng cho ứng dụng Tất nhiên, điều khơng bắt buộc Chúng ta ln xây dựng hệ thống tài khoản riêng sử dụng provider OpenID 3.9: Công cụ lập trình Google cung cấp số tool miễn phí cho việc phá triển ứng dụng App Engine ngôn ngữ Java Python Chúng ta download software development kit (SDK) cho ngôn ngữ tương ứng hệ điều hành từ website Google Trang 17 Người dùng Java down SDK cho Java form plug-in cho Eclipse Người dùng Python sử dụng Windows Mac OS X tải SDK cho Python từ form giao diện ứng dụng Các SDK có file zip, sử dụng command-lines để trực tiếp tích hợp vào môi trường phát triển xây dựng hệ thống Mỗi SDK bao gồm server web chạy ứng dụng máy cá nhân, đóng vai trò mơi trường thực thi,kho liệu service Server tự động phát thay đổi file source load lại chúng cần, ln mở server lập trình cho ứng dụng Nếu sử dụng Eclipse, chạy server cho Java tích hợp debugger, đặt breakpoint code Chúng ta sử dụng Eclipse cho ứng dụng phát triển Python dùng PyDev, nhánh mở rộng Eclipse, bao gồm debugger cho Python Mỗi SDK bao gồm công cụ cho việc tương tác với ứng dụng chạy App Engine Chủ yếu sử dụng cho việc upload code lên App Engine Chúng ta sử dụng tool để download file log từ ứng dụng chạy, quản lý danh mục ứng dụng SDK Python Java gồm Nhóm Trang 21 Tìm hiểu dịch vụ Google App Engine Google chức mà cài đặt ứng dụng cho việc truy cập có thứ tự từ xa cách an tồn đến ứng dụng SDK Python bao gồm cơng cụ dùng cho việc xử lý liệu lớn, upload liệu từ file text, tải lượng lớn liệu, lưu cho mục đích lưu trữ SDK có commandline shell Python cho việc test, kiểm lỗi thao tác với liệu (Các tool có SDK cho Python, làm việc với ứng dụng Java sử dụng phiên Java có chức truy cập từ xa) Chúng ta viết đoạn mã script chương trình sử dụng chức truy cập từ xa cho việc vận chuyển lượng lớn liệu biện pháp bảo trì khác Các hạn chế Google App Engine • Các tập in lưu trữ lên App Engine đọc- xóa (khơng sửa chữa) • App Engine chạy qua yêu cầu HTTP (các dịch vụ khác chạy lệnh qua Console terminal) • Các ứng dụng dùng python sử dụng thư viện Python thư viện cung cấp App Engine phải thư viện viết python, C Pyrex không đuộc hỗ trợ • Các ứng dụng java sử dụng tập (The JRE Class White List) lớp viết từ JRE tiêu chuẩn • Khơng hỗ trợ tên miền ‘naked’(khơng có tiền tố www) Ví dụ http://example.com khơng chạy App Engine mà phải http://www.example.com • Datastore khơng lọc (filter) hai thuộc tính lúc Ví dụ age> and age

Ngày đăng: 02/05/2018, 15:36

Xem thêm:

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w