|
|||||||||
|
|||||||||
|
|
Công Cụ | Xếp Bài |
14-12-2012, 05:19 PM | #1 |
Guest
Trả Lời: n/a
|
Điện toán đám mây với Amazon Web Services, Phần 1: Giới thiệu
Điện toán đám mây với Amazon Web Services, Phần 1: Giới thiệu
Điện toán đám mây là gì? Điện toán đám mây có thể được định nghĩa một cách đơn giản như là sự sử dụng tài nguyên tính toán có khả năng thay đổi theo nhu cầu được cung cấp như là một dịch vụ từ bên ngoài với chi phí trả cho mỗi lần sử dụng. Bạn có thể truy cập đến bất kỳ tài nguyên nào tồn tại trong "đám mây (cloud)" tại bất kỳ thời điểm nào và từ bất kỳ đâu thông qua hệ thống Internet. Bạn không phải quan tâm xem làm cách nào các thứ đang được duy trì phía trong của đám mây. Điện toán đám mây nhận được từ miêu tả phổ biến trong các biểu đồ kiến trúc công nghệ của Internet hoặc các địa chỉ IP có sẵn, được minh họa như một đám mây. Điện toán đám mây được thực sự quan tâm vào năm 2007 như là một giải pháp phổ biến cho vấn đề của quy mô ngang. Đám mây là được đánh giá cao và sẵn sàng đáp ứng cho các nhu cầu cần thiết của ứng dụng của bạn. Điện toán đám mây cũng có thể được gọi là tính toán tiện ích hay là tính toán lưới (grid computing). Điện toán đám mây là mô hình dịch chuyển trong cách thức làm thế nào chúng ta cung cấp kiến trúc và khả năng mở rộng của các ứng dụng. Trong quá khứ, các công ty thành công dành thời gian quý báu và nguồn lực xây dựng cơ sở hạ tầng, cái mà được cung cấp như là một lợi thế cạnh tranh. Nó thường xuyên là theo trường hợp sau "Xây dựng nó và cái cần sẽ đến". Trong hầu hết các trường hợp, cách tiếp cận này:
Các tài nguyên ứng dụng của bạn và các hệ thống công nghệ thông tin liên tục cần thiết (để đáp ứng nhu cầu ngày càng lớn cho lưu trữ, cho tài nguyên tính toán, cho các hệ thống nhắn tin và cho các cơ sở dữ liệu) là cần thiết trở lên thông dụng. Bạn có thể trả chi phí hạ tầng cơ sở này cho nhà cung cấp nào mà cung cấp giá và dịch vụ tốt nhất. Rất đơn giản, có phải thế không? Đó là một ý tưởng đơn giản nhưng cuộc cách mạng về tư duy không phải là hoàn toàn mới. Điều này bây giờ là đứng đầu trong các xu hướng công nghệ hiện đại bởi vì môi trường điện toán đám mây được Amazon đưa ra đầu tiên. Amazon Web Services Amazon Web Services là tập hợp các dịch vụ cung cấp cho người lập trình có khả năng truy cập tới hạ tầng kiến trúc tính toán kiểu sẵn sàng-để-sử dụng (ready-to-use) của Amazon. Các máy tính có nền tảng vững chắc đã được xây dựng và tinh chế qua nhiều năm của Amazon bây giờ là có thể cho phép bất cứ ai cũng có quyền cập tới Internet. Amazon cung cấp một số dịch vụ Web nhưng trong loạt bài viết này chỉ tập trung vào các dịch vụ khối hợp nhất (building-block) cơ bản, cái mà đáp ứng được một số yêu cầu cốt lõi của hầu hết các hệ thống như: lưu trữ, tính toán, truyền thông điệp và tập dữ liệu. Bạn có thể xây dựng các ứng dụng phức tạp và gồm nhiều phần khác nhau bằng cách sử dụng các chức năng phân tầng với các dịch vụ đáng tin cậy, hiệu quả khối hợp nhất được cung cấp bởi Amazon. Các dịch vụ Web mà tồn tại bên trong đám mây phía bên ngoài môi trường của bạn và có khả năng thực hiện là rất cao. Các thành phần chính của hạ tầng cơ sở của trang Web này, cái mà cung cấp hầu hết các khối xây dựng cơ bản phổ biến cần thiết cho hầu hết các ứng dụng không tầm thường: Lưu trữ (Storage) Mọi người đều cần phải lưu trữ — cho các tệp, các tài liệu, các dữ liệu tải về của người dùng hoặc các bản sao lưu. Có thể tiến hành lưu trữ bất kỳ các ứng dụng cần thiết của bạn trong Amazon Simple Storage Service (S3) và nhận được các lợi ích với nó như có khả năng mở rộng, đáng tin cậy và với mức chi phí thấp cho việc lưu trữ. Tính toán (Computing) Amazon Elastic Compute Cloud (EC2) cung cấp khả năng để mở rộng tài nguyên tính toán của bạn lớn lên hoặc giảm xuống dựa trên nhu cầu và tạo ra khả năng cung cấp dịch vụ mới một cách dễ dàng. Gửi thông điệp (Messaging) Thực hiện tách riêng các thành phần ứng dụng của bạn bằng cách sử dụng khả năng không giới hạn của việc truyền thông điệp được cung cấp bởi Amazon Simple Queue Service (SQS). Tập hợp dữ liệu (Datasets) Amazon SimpleDB (SDB) cung cấp khả năng mở rộng, lập chỉ mục, khả năng lưu trữ mà không cần bảo trì, cùng với việc thực hiện xử lý và truy vấn với tập hợp dữ liệu. Bạn có thể thực hiện trộn và kết hợp các dịch vụ khi cần thiết; bạn được thiết kế để làm việc với những người khác. Bởi vì bạn đang chạy trong môi trường Amazon tất cả sự liên lạc thuộc về các dịch vụ này sẽ luôn luôn được thực hiện một cách nhanh chóng. Các bài báo trong loạt bài "Cloud computing with Amazon Web Services" thực hiện khám phá các từng dịch vụ Web, và các thư việc có thể để truy cập đến một cách chi tiết. Nhà doanh nghiệp có thể xây dựng các ứng dụng có khả năng mở rộng và tin cậy bằng cách phân nhánh vào hạ tầng cơ sở ảo, cái mà mất chi phí ít hơn là cách tiếp cận dựa trên nền ứng dụng máy chủ truyền thống cái mà yêu cầu một lượng lớn máy chủ để phục vụ cho sự thay đổi thường xuyên của yêu cầu. Nó cũng cung cấp một số mức độ cao của sự dư thừa. Có hai mức độ được hỗ trợ cho người dùng của Amazon Web Services:
Lưu trữ với Amazon S3 Amazon Simple Storage Service (S3) cung cấp các giao diện dịch vụ Web cho việc lưu trữ và khôi phục dữ liệu. Dữ liệu được cho ở bất kỳ loại nào và có thể được lưu trữ và truy cập đến từ bất kỳ vị trí nào thông qua Internet. Bạn có thể lưu trữ không giới hạn một lượng lớn các đối tượng trong S3 với kích thước của mỗi đối tượng trong khoảng từ 1 byte tới 5 GB. Các lưu trữ là có thể ở trong Hoa Kỳ hoặc trong Liên Minh Châu Âu. Bạn có thể chọn vị trí lưu trữ cho các đối tượng của bạn khi bạn tạo ra buckets, cái mà tương tự như khái niệm của thư mục trong hệ thống xử lý của bạn. Dữ liệu được lưu trữ an toàn bằng cách sử dụng cùng hạ tầng cơ sở lưu trữ Amazon sử dụng sức mạng của mình trên toàn thế giới với một mạng lưới các trang Web thương mại điện tử. Sự hạn chế truy cập có thể được xác định cho từng đối tượng bạn lưu trữ trong S3, và các đối tượng này có thể được truy cập với các yêu cầu HTTP đơn giản. Thậm chí bạn có thể tạo ra các đối tượng để tải về bằng cách sử dụng giao thức BitTorrent. S3 giải phóng hoàn toàn cho bạn về các lo lắng cho không gian lưu trữ, truy cập vào dữ liệu, hoặc bảo vệ dữ liệu. Bạn thậm chí không phải đối phó với chi phí của việc bảo trì các máy chủ lưu trữ. Amazon đảm bảo ở mức độ cao khả năng lưu trữ các tệp của bạn vì thế nó luôn luôn sẵn sàng bất kỳ khi nào bạn cần đến chúng. Các thỏa thuận cấp độ dịch vụ được cung cấp bởi Amazon cho S3 là lên tới 99,9% thời gian chạy máy hàng tháng. Elastic computing with Amazon EC2 Amazon EC2 là dịch vụ Web cho phép bạn yêu cầu các máy ảo trong vòng một vài phút và dễ dàng thay đổi khả năng của bạn hoặc tải xuống dựa trên nhu cầu. Bạn chỉ cần phải trả chi phí cho khoảng thời gian mà bạn sử dụng. Nếu bạn muốn tăng khả năng tính toán của bạn nên, bạn có thể nhanh chóng tiếp cận khởi tạo máy áo và sau đó chấm dứt chúng khi mà nhu cầu của bạn giảm đi. Những trường hợp mà dựa trên Linux® và có thể chạy trên bất kỳ ứng dụng nào hoặc phần mềm nào bạn muốn. Bạn có thực hiện điều khiển cho từng trường hợp cụ thể. Môi trường của EC2 là được xây dựng trên cùng mã nguồn mở Xen hypervisor, cái được phát triển tại trường Đại học Cambridge. Amazon cho phép bạn tạo ra hình ảnh máy Amazon (AMIs) cái thực hiện hành động như là các khuôn mẫu cho các ví dụ của bạn. Truy cập với các ví dụ có thể được điều khiển bằng việc xác định được các quyền cho phép. Bạn cũng có thể làm bất cứ cái gì bạn muốn với chúng tuy chỉ có một hạn chế duy nhất là yêu cầu bạn cần sử dụng dựa trên Linux. Thời gian gần đây, khi mà Open Solaris được công bố trong một quan hệ đối tác với Sun Microsoftsystem, nhưng phần lớn các thương mại miễn phí và có sẵn được xây dựng cho EC2 đều dựa trên nền tảng Linux. Amazon EC2 cung cấp chính xác quy mô máy tính cái cho phép dễ dàng để thay đổi quy mô tài nguyên tính toán của bạn lên và xuống. Bạn hoàn toàn kiểm soát được môi trường tính toán cái mà chạy trong trung tâm dữ liệu của Amazon. Amazon cung cấp năm kiểu của các máy chủ; để cho phép bạn chọn lựa một trong các loại này phù hợp với ứng dụng cần thiết của bạn. Các máy chủ cung cấp từ loại đơn lõi x86 đến loại tám lõi x86_64. Bạn có thể thay thế các trường hợp trong các mô hình địa lý khác nhau hoặc trong các vùng mà từ chỗ đảm bảo thực hiện đến chỗ có thể thất bại. Amazon cũng chỉ dẫn khái niệm của địa chỉ IP thay đổi cho phép làm việc với địa chỉ động. Khả năng truyền thông điệp tin cậy của Amazon Simple Queue Service Amazon Simple Queue Service (SQS) cung cấp khả năng truy cập tới hạ tầng kiến trúc thông điệp đảm bảo được sử dụng bởi Amazon. Bạn có thể thực hiện gửi và nhận các thông điệp từ bất cứ nơi nào bằng cách sử dụng các yêu cầu HTTP đơn giản dựa trên REST. Không cần phải cài đặt cái gì, không cần phải thực hiện cấu hình gì cả. Bạn có thể tạo ra một lượng không giới hạn của các hàng đợi và gửi một lượng không giới hạn các tin nhắn. Các tin nhắn được lưu trữ bởi Amazon thông qua nhiều máy chủ và các trung tâm dữ liệu để cung cấp khả năng dư thừa và đáng tin cậy bạn cần từ hệ thống nhắn tin. Mỗi một tin nhắn có thể chứa lên tới 8KB dữ liệu văn bản. Chỉ sử dụng các ký tự dạng Unicode với nguyên tắc sau phải tuân thủ #x9 | #xA | #xD | [#x20 to #xD7FF] | [#xE000 to #xFFFD] | [#x10000 tới #x10FFFF]. Mỗi một hàng đợi có thể phải định dạng xác định khoảng thời gian timeout (hạn thời gian), cái được sử dụng để điều khiển cách truy cập tới hàng đợi bởi nhiều người đọc khác nhau. Mỗi một ứng dụng đọc một thông điệp từ hàng đợi, thông điệp này sẽ không được đọc bởi bất kỳ một người đọc khác cho đến khi khoảng thời gian timeout kết thúc. Thông điệp sẽ được lặp lại trong hàng đợi sau một khoảng thời gian timeout được xác định sau đó nó được giữ bởi một bộ xử lý đọc khác. SQS tích hợp rất tốt với các Amazon Web Sercives khác. Nó cung cấp một cách nào đó để xây dựng hệ thống riêng biệt nơi mà EC2 của bạn có thể trao đổi với các hệ thống khác bằng cách gửi thông điệp tới SQS và phối hợp các luồng làm việc. Bạn cũng có thể sử dụng các hàng đợi để xây dựng hạ tầng tự phục hồi, tự động mở rộng dựa trên EC2 cho các ứng dụng của bạn. Bạn có thể bảo đảm các thông điệp trong hàng đợi của bạn tránh bị truy cập trái phép bằng cách sử dụng cơ chế xác thực được cung cấp bởi SQS. Xử lý tập hợp dữ liệu với Amazon SimpleDB Amazon SimpleDB (SDB) là dịch vụ Web cho phép lưu trữ, xử lý và truy vấn tập hợp dữ liệu có cấu trúc. Ở đây không phải là một cơ sở dữ liệu quan hệ theo cách tiếp cận truyền thống mà ở mức độ cao hơn dưới dạng các sơ đồ, với dữ liệu ít cấu trúc lưu trữ trong các đám mây và trong đó bạn có thể sử dụng để lưu trữ và khôi phục các giá trị khóa. Mỗi một tập hợp các giá trị khóa cần phải có một tên một mục duy nhất; các mục là được phân chia vào từng miền khác nhau. Mỗi một mục có thể lưu giữ lên tới 256 cặp giá trị khóa của dữ liệu. Bạn có thể thực thi các truy vấn dựa trên tập dữ liệu của bạn trong từng miền khác nhau. Các truy vấn dựa theo từng miền là không được hỗ trợ bởi SDB. SDB là một cách đơn giản để sử dụng và cung cấp hầu hết các chức năng của cơ sở dữ liệu quan hệ. Sự duy trì là đơn giản hơn nhiều so với cơ sở dữ liệu điển hình bởi vì không cần phải cài đặt hoặc định dạng. Amazon quan tâm nhiều tới tất cả các việc liên quan đến quản trị. Dữ liệu là được tự động đánh chỉ mục bởi Amazon và là sẵn có cho bạn tại bất kỳ thời điểm nào từ bất kỳ chỗ nào. Một lợi thế quan trọng của khóa là không được sử dụng cho các sơ đồ đó là khả năng chèn dữ liệu vào khi đang hoạt động và thêm các cột hoặc các khóa động. SDB là một phần của cơ sở hạ tầng Amazon, và khả năng mở rộng được thực hiện một cách tự động đối với bạn tùy từng tình huống. Bạn có thể tự do tập trung sự chú ý của bạn vào một số thứ quan trọng. Một lần nữa, bạn chỉ phải trả chi phí chỉ cho tập dữ liệu tài nguyên mà bạn sử dụng. Khả năng mở rộng của kiến trúc Amazon Web Services có thể giúp bạn kiến trúc mở rộng hệ thống bằng cách cung cấp: Khả năng đáng tin cậy (Reliability)Các dịch vụ hoạt động trong trung tâm dữ liệu với tính sẵn sàng cao và được kiểm tra qua thực tế. Bảo mậtCơ chế bảo mật và xác thực cơ bản là có sẵn của bên ngoài hộp lựa chọn, và bạn có thể nâng cao chúng khi cần bằng cách bảo mật từng tầng ứng dụng riêng của bạn ở các mức trên của dịch vụ. Các lợi ích về giá cảKhông có một chi phí cố định hoặc các chi phí nào về bảo trì. Bạn phải chỉ trả các dịch vụ như bạn sử dụng, và khả năng thay đổi về tài nguyên và nguồn lực khi cần thiết. Sự dễ dàng để phát triểnCác APIs đơn giản cho phép bạn khai thác được sức mạnh của toàn bộ cơ sở hạ tầng ảo cũng như các thư viện có sẵn trong hầu hết các ngôn ngữ lập trình được sử dụng rộng rãi. Tính mềm dẻo (Elasticity)Quy mô các nguồn lực máy tính của bạn thay đổi lên hoặc xuống dựa trên nhu cầu. Bạn có thể đi từ một đến bất kỳ số lượng máy phục vụ một cách nhanh chóng để phục vụ nhu cầu ứng dụng của bạn.Sự gắn kếtCó bốn khối dịch vụ cơ bản (Lưu trữ, Tính toán, Truyền thông điệp, và Tập hợp dữ liệu) là được thiết kế từ nhóm phát triển để làm việc rất tốt với nhau, và cung cấp một giải pháp hoàn thiện trên một lượng ứng dụng tên miền.Cộng đồng Tận dụng cộng đồng người sử dụng năng động và sôi nổi mà đang chi phối sự chấp nhận phổ biến của các dịch vụ web này và đang tạo ra các ứng dụng độc nhất được xây dựng trên cơ sở hạ tầng này.Sẵn sàng bắt đầu Để bắt đầu khám phá các dịch vụ một cách chi tiết hơn trong loạt bài viết về "Cloud computing with Amazon Web Services", bạn cần đăng ký một tài khoản tại Amazon Web Services (xem tại Tài nguyên). Tại đó khi đăng ký bạn sẽ nhận được các khóa truy cập bảo mật ở mức độ dùng chung hoặc mức độ riêng, cùng với chứng chỉ bảo mật x.509, được yêu cầu khi bắt đầu sử dụng các thư viện và các công cụ khác nhau trong " Phần 2: Storage in the cloud with Amazon Simple Storage Service (S3)". Các công cụ và các thư viện có sẵn cho sự tương tác với các dịch vụ Web được viết bằng nhiều ngôn ngữ khác nhau. Các bài báo trong loạt bài viết cố gắng sử dụng ngôn ngữ đặc tả và làm việc với các ví dụ trong các ngôn ngữ khác nhau, nhưng tốt hơn nếu bạn làm việc với Java, Ruby hay Python. Về đầu trang Kết luận Trong bài viết này, bạn có được các giới thiệu về môi trường điện toán đám mây của Amazon và chỉ dẫn ngắn gọn về bốn phần chính của hạ tầng cơ sở của môi trường này. Phần còn lại của loạt bài viết này tiến hành mô tả từng phần của Amazon Web Service một cách chi tiết hơn, và cũng trình bày về các thư viện cũng như các công cụ khác nhau hữu ích cho việc phát triển hạ tầng cơ sở ảo để xây dựng các ứng dụng của bạn. |
Công Cụ | |
Xếp Bài | |
|
|