Xem mẫu

  1. 1. Giới thiệu về Cloud Computing I. Các khái niệm cơ bản. 1. Đặt vấn đề. Ngày nay, đối với các công ty, doanh nghiệp, việc quản lý tốt, hi ệu qu ả d ữ li ệu c ủa riêng công ty cũng như dữ liệu khách hàng, đối tác là m ột trong nh ững bài toán đ ược ưu tiên hàng đầu và đang không ngừng gây khó khăn cho họ. Để có th ể qu ản lý đ ược ngu ồn d ữ liệu đó, ban đầu các doanh nghiệp phải đầu tư, tính toán rất nhi ều lo ại chi phí nh ư chi phí cho phần cứng, phần mềm, mạng, chi phí cho qu ản tr ị viên, chi phí b ảo trì, s ửa chữa,…Ngoài ra họ còn phải tính toán khả năng mở rộng, nâng cấp thi ết b ị, ki ểm soát việc bảo mật dữ liệu cũng như tính sẵn sàng cao c ủa dữ li ệu. Từ m ột bài toán đi ển hình như vậy, chúng ta thấy được rằng nếu có một nơi tin cậy giúp các doanh nghi ệp qu ản lý tốt nguồn dữ liệu đó, các doanh nghiệp sẽ không còn quan tâm đến cơ s ở h ạ tầng, công nghệ mà chỉ tập trung chính vào công việc kinh doanh thì sẽ mang lại cho họ hiệu quả và lợi nhuận ngày càng cao hơn. Thuật ngữ “cloud computing” ra đ ời b ắt ngu ồn t ừ m ột trong những hoàn cảnh như vậy. Thuật ngữ “cloud computing” còn được bắt ngu ồn t ừ ý t ưởng đưa tất cả mọi thứ như dữ liệu, phần m ềm, tính toán.…lên trên m ạng Internet. Chúng ta sẽ không còn trông thấy các máy PC, máy chủ của riêng các doanh nghi ệp đ ể l ưu trữ dữ liệu, phần mềm nữa mà chỉ còn một số các “máy chủ ảo” tập trung ở trên m ạng. Các “máy chủ ảo” sẽ cung cấp các dịch vụ giúp cho doanh nghiệp có th ể qu ản lý d ữ li ệu dễ dàng hơn, họ sẽ chỉ trả chi phí cho lượng sử dụng dịch vụ của họ, mà không c ần ph ải đầu tư nhiều vào cơ sở hạ tầng cũng như quan tâm nhi ều đến công nghệ. Xu h ướng này sẽ giúp nhiều cho các công ty, doanh nghiệp vừa và nhỏ mà không có cơ s ở hạ tầng m ạng, máy chủ để lưu trữ, quản lý dữ liệu tốt. Vậy “cloud computing” là gì? Nó có th ể gi ải quyết bài toán trên như thế nào và có những đặc điểm nổi bật gì? Chúng ta s ẽ đi qua các phần sau để nắm rõ vấn đề này. 2. Khái niệm. a. Thuật ngữ “đám mây”. Thuật ngữ "đám mây" ở đây là lối nói ẩn dụ chỉ mạng Internet dựa vào cách th ức Internet được bố trí trong sơ đồ mạng máy tính. Ở mô hình điện toán nà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ệ đó. b. Định nghĩa. Một mô hình điện toán nơi mà khả năng m ở rộng và linh ho ạt về công ngh ệ thông tin được cung cấp như một dịch vụ cho nhiều khách hàng đang s ử d ụng các công ngh ệ trên Internet. Nói một cách đơn giản nhất “điện toán đám mây” chính là những ứng dụng trực tuyến trên Internet. Dữ liệu, tài nguyên, phần mềm và các thông tin liên quan đều được lưu trữ, tính
  2. toán, xử lý trên các server (chính là các “đám mây”). 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 đó. Theo tổ chức Xã hội máy tính IEEE "Nó là hình mẫu trong đó thông tin đ ược l ưu tr ữ thường trực tại các máy chủ trên Internet và chỉ được được lưu tr ữ tạm th ời ở các máy khách, bao gồm máy tính cá nhân, trung tâm giải trí, máy tính trong doanh nghi ệp, các phương tiện máy tính cầm tay, ...". II. Cấu trúc và cách thức hoạt động của Điện toán đám mây. 1. Mô hình dịch vụ điện toán đám mây. a. Mô hình tổng quan. Theo định nghĩa, các nguồn điện toán khổng lồ như phần mềm, dịch vụ ... sẽ n ằm t ại các máy chủ ảo (đám mây) trên Internet thay vì trong máy tính gia đình và văn phòng (trên m ặt đất) để mọi người kết nối và sử dụng mỗi khi họ cần. Hiện nay, các nhà cung cấp đưa ra nhiều dịch vụ của cloud computing theo nhiều hướng khác nhau, đưa ra các chuẩn riêng cũng như cách thức ho ạt đ ộng khác nhau. Do đó, vi ệc tích hợp các cloud để giải quyết một bài toán lớn c ủa khách hàng vẫn còn là m ột v ấn đ ề khó khăn. Chính vì vậy, các nhà cung cấp dịch vụ đang có xu h ướng tích h ợp các cloud l ại với nhau thành “sky computing”, đưa ra các chuẩn chung đ ể gi ải quyết các bài toán l ớn của khách hàng. b. Cấu trúc phân lớp mô hình điện tóa đám mây. Mô hình “điện toán đám mây” được chia ra thành 5 lớp riêng bi ệt, có tác đ ộng qua l ại l ẫn nhau:
  3.  Client (Lớp Khách hàng): Lớp Client của điện toán đám mây bao gồm phần cứng và phần mềm, để dựa vào đó, khách hàng có thể truy cập và sử dụng các ứng dụng/dịch vụ được cung cấp từ điện toán đám mây. Chẳng hạn máy tính và đường dây kết n ối Internet (thiết bị phần cứng) và các trình duyệt web (phần mềm)….  Application (Lớp Ứng dụng): Lớp ứng dụng của điện toán đám mây làm nhiệm vụ phân phối phần mềm như một dịch vụ thông qua Internet, người dùng không c ần ph ải cài đặt và chạy các ứng dụng đó trên máy tính c ủa mình, các ứng d ụng d ễ dàng đ ược chỉnh sữa và người dùng dễ dàng nhận được sự hỗ trợ. Các đặc trưng chính của lớp ứng dụng bao gồm:  Các hoạt động được quản lý tại trung tâm của đám mây, chứ không nằm ở phía khách hàng (lớp Client), cho phép khách hàng truy c ập các ứng d ụng t ừ xa thông qua Website.  Người dùng không còn cần thực hiện các tính năng như cập nhật phiên bản, bản vá lỗi, download phiên bản mới… bởi chúng sẽ được thực hiện từ các “đám mây”.  Platform (Lớp Nền tảng): Cung cấp nền tảng cho điện toán và các giải pháp của dịch vụ,chi phối đến cấu trúc hạ tầng của “đám mây” và là điểm tựa cho lớp ứng dụng, cho phép các ứng dụng hoạt động trên nền tảng đó. Nó gi ảm nhẹ sự tốn kém khi tri ển khai các ứng dụng khi người dùng không phải trang bị c ơ s ở hạ t ầng (ph ần c ứng và phần mềm) của riêng mình.  Infrastructure (Lớp Cơ sở hạ tầng): Cung cấp hạ tầng máy tính, tiêu biểu là môi trường nền ảo hóa. Thay vì khách hàng phải bỏ tiền ra mua các server, phần m ềm, trung tâm dữ liệu hoặc thiết bị kết nối… giờ đây, họ vẫn có thể có đầy đủ tài nguyên để sử d ụng mà chi phí được giảm thiểu, hoặc thậm chí là miễn phí. Đây là một bước tiến hóa của mô hình máy chủ ảo (Virtual Private Server).
  4.  Server (Lớp Server - Máy chủ): Bao gồm các sản phẩm phần cứng và phần mềm máy tính, được thiết kế và xây dựng đặc biệt để cung cấp các dịch v ụ c ủa đám mây. Các server phải được xây dựng và có cấu hình đủ m ạnh (thậm chí là r ất m ạnh) đ ể đám ứng nhu cầu sử dụng của số lượng đông đảo các người dùng và các nhu c ầu ngày càng cao của họ. 2. Cách thức hoạt động. Để hiểu cách thức hoạt động của “đám mây”, tưởng tượng rằng “đám mây” bao gồm 2 lớp: Lớp Back-end và lớp Front-end. Hạ tầng thiết bị được chứa ở lớp Back-End (bao gồm nhiều máy tính, máy ch ủ và h ệ thống lưu trữ dữ liệu gộp thành “đám mây” các dịch vụ Web), và giao di ện ng ười dùng của các ứng dụng được chứa tại lớp Front-End.  Lớp Front-end: gồm có một máy tính Client và một ứng dụng cần cho việc truy cập đám mây; là lớp người dùng, cho phép người dùng sử dụng và thực hiện thông qua giao diện người dùng. Tuy nhiên, không phải tất cả các hệ thống đám mây đ ều sử dụng chung một giao diện. Khi người dùng truy c ập các d ịch v ụ tr ực tuyến, h ọ s ẽ phải sử dụng thông qua giao diện từ lớp Front-end, và các phần mềm sẽ đ ược chạy trên lớp Back-end nằm ở “đám mây”.  Lớp Back-end: bao gồm các cấu trúc phần cứng và phần mềm để cung c ấp giao diện cho lớp Front-end và được người dùng tác động thông qua giao diện đó. 3. Giải pháp, dịch vụ, ưu nhược điểm và xu hướng phát triển. a. Giải pháp và dịch vụ. Cloud Computing ra đời để giải quyết các vấn đề như: • Vấn đề về lưu trữ dữ liệu: Dữ liệu được lưu trữ tập trung ở các kho dữ liệu khổng lồ. Các công ty lớn như Microsoft, Google có hàng chục kho dữ li ệu trung tâm nằm rải rác khắp nơi trên thế gi ới. Các công ty l ớn này s ẽ cung c ấp các d ịch vụ cho phép doanh nghiệp có thể lưu trữ và quản lý dữ liệu của họ trên các kho lưu trữ trung tâm. • Vấn đề về sức mạnh tính toán: Sử dụng các siêu máy tính (super-computer) để xử lý tính toán. Sử dụng các hệ thống tính toán song song, phân tán, tính toán lưới.
  5. • Vấn đề về cung cấp tài nguyên, phần mềm: Cung cấp các d ịch v ụ nh ư IaaS (infrastructure as a service), PaaS (platform as a service), SaaS (software as a service). b. Ưu nhược điểm.  Ưu điểm: Những ưu điểm và thế mạnh dưới đây đã góp phần giúp "điện toán đám mây" tr ở thành mô hình điện toán được áp dụng rộng rãi trên toàn thế giới:  Tốc độ xử lý nhanh, cung cấp cho người dùng nh ững d ịch v ụ nhanh chóng và giá thành rẻ dựa trên nền tảng cơ sở hạ tầng tập trung (đám mây).  Chi phí đầu tư ban đầu về cơ sở hạ tầng, máy móc và nguồn nhân l ực c ủa người sử dụng điện toán đám mây được giảm đến mức thấp nhất.Không còn ph ụ thu ộc vào thiết bị và vị trí địa lý, cho phép người dùng truy c ập và s ử d ụng h ệ th ống thông qua trình duyệt web ở bất kỳ đâu và trên bất kỳ thiết bị nào mà họ sử d ụng (chẳng h ạn là PC hoặc là điện thoại di động…)  Với độ tin cậy cao, không chỉ giành cho người dùng ph ổ thông, đi ện toán đám mây phù hợp với các yêu cầu cao và liên tục c ủa các công ty kinh doanh và các nghiên cứu khoa học. Tuy nhiên, một vài dịch vụ lớn c ủa đi ện toán đám mây đôi khi r ơi vào tr ạng thái quá tải, khiến hoạt động bị ngưng trệ. Khi rơi vào trạng thái này, ng ười dùng không có khả năng để xử lý các sự cố mà phải nhờ vào các chuyên gia từ đám mây tiến hành xử lý.  Khả năng mở rộng được, giúp cải thiện chất lượng các dịch vụ được cung cấp trên “đám mây”.Khả năng bảo mật được cải thiện do sự tập trung về dữ liệu.Các ứng dụng của điện toán đám mây dễ dàng để sửa chữa hơn b ởi l ẽ chúng không đ ược cài đ ặt cố định trên một máy tính nào. Chúng cũng dễ dàng hỗ trợ và cải thiện về tính năng.  Tài nguyên sử dụng của điện toán đám mây luôn được quản lý và th ống kê trên từng khách hàng và ứng dụng, theo từng ngày, từng tu ần, t ừng tháng. Đi ều này đ ảm bảo cho việc định lượng giá cả của mỗi dịch vụ do điện toán đám mây cung cấp để người dùng có thể lựa chọn phù hợp.  Nhược điểm: Tuy nhiên, mô hình điện toán này vẫn còn mắc phải một số nhược điểm sau:  Tính riêng tư: Các thông tin người dùng và dữ li ệu được chứa trên đi ện toán đám mây có đảm bảo được riêng tư, và liệu các thông tin đó có bị sử dụng vì m ột m ục đích nào khác?  Tính sẵn dùng: Liệu các dịch vụ đám mây có bị “treo” bất ngờ, khiến cho người dùng không thể truy cập các dịch vụ và dữ liệu của mình trong những kho ảng th ời gian nào đó khiến ảnh hưởng đến công việc?  Mất dữ liệu: Một vài dịch vụ lưu trữ dữ liệu trực tuyến trên đám mây bất ngờ ngừng hoạt động hoặc không tiếp tục cung cấp dịch v ụ, khi ến cho ng ười dùng ph ải sao lưu dữ liệu của họ từ “đám mây” về máy tính cá nhân. Đi ều này sẽ mất nhi ều th ời gian. Thậm chí một vài trường hợp, vì một lý do nào đó, d ữ li ệu ng ười dùng b ị m ất và không thể phục hồi được.  Tính di động của dữ liệu và quyền sở hữu: Một câu hỏi đặt ra, li ệu ng ười dùng có thể chia sẻ dữ liệu từ dịch vụ đám mây này sang d ịch v ụ c ủa đám mây khác? Hoặc trong trường hợp không muốn tiếp tục sử dụng dịch vụ cung c ấp t ừ đám mây, li ệu người dùng có thể sao lưu toàn bộ dữ liệu của họ từ đám mây? Và làm cách nào đ ể ng ười dùng có thể chắc chắn rằng các dịch vụ đám mây sẽ không h ủy toàn b ộ d ữ li ệu c ủa h ọ trong trường hợp dịch vụ ngừng hoạt động.  Khả năng bảo mật: Vấn đề tập trung dữ liệu trên các “đám mây” là cách thức hiệu quả để tăng cường bảo mật, nhưng mặt khác cũng lại chính là m ối lo c ủa người sử dụng dịch vụ của điện toán đám mây. Bởi lẽ m ột khi các đám mây b ị t ấn công
  6. hoặc đột nhập, toàn bộ dữ liệu sẽ bị chiếm dụng. Tuy nhiên, đây không th ực s ự là v ấn đ ề của riêng “điện toán đám mây”, bởi lẽ tấn công đánh cắp dữ liệu là vấn đề gặp phải trên bất kỳ môi trường nào, ngay cả trên các máy tính cá nhân. c. Xu hướng phát triển. Thuật ngữ “cloud computing” ra đời từ giữa năm 2007, cho đến nay đã không ng ừng phát triển mạnh mẽ và được hiện thực bởi nhiều nhà cung c ấp, trong đó có Amazon, Google, DataSynapse, Cloud2s và Salesforce cũng như những nhà cung c ấp truy ền th ống nh ư Sun Microsystems, HP, IBM, Intel, Cisco và Microsoft. Nó đang được nhi ều người dùng cá nhân cho đến những công ty lớn như General Electric, L'Oréal, Procter & Gamble và Valeo ch ấp nhân và sử dụng. Với mục tiêu giải quyết các bài toán về dữ liệu, tính toán, d ịch v ụ, …, cloud computing đã và đang mang lại lợi nhuận lớn, đem đến m ột sân ch ơi, m ột th ị tr ường r ộng l ớn cho các nhà cung cấp dịch vụ, nên sự phát triển nhanh chong của nó có th ể đ ược tính t ừng ngày. Trong khi đó, thuật ngữ ban đầu của “Grid computing” không mang kinh t ế, l ợi nhuận cao nên sự phát triển của nó đang ngày cáng giảm sút, và chỉ đang được áp dụng vào lĩnh v ực nghiên cứu khoa học.
  7. 2. OpenShift  OpenShift là một dịch vụ nền tảng điện toán đám mây (Platform as a Service – PaaS) của hãng Red Hat.  Phần mềm chạy dịch vụ là mã nguồn m ở và có sẵn trên GitHub v ới tên "OpenShift Origin".Người phát triển phần mềm có thể sử dụng Git để tri ển khai ứng d ụng bằng các ngôn ngữ khác nhau trên nền tảng.  Đặc biệt, OpenShift cũng hỗ trợ các ứng dụng web dạng ph ần m ềm mã nh ị phân, miễn là nó có thể chạy trên RHEL Linux. Điều này làm tăng tính tùy bi ến c ủa h ệ thống, hỗ trợ nhiều ngôn ngữ và frameworks.  OpenShift bảo trì dịch vụ bên dưới ứng dụng và thống kê ứng dụng nếu cần thiết.  OpenShift có cung cấp các gói dịch vụ VPS ( Máy ch ủ ảo ) t ừ mi ễn phí đ ến nâng cao với mức độ bảo mật cao và chạy trên nền máy chủ Linux .  Cloud hosting Free Openshift được miễn phí sử dụng Cloud hosting v ới đầy đ ủ tính năng như một VPS (Vitual Private Server) , có thể sử d ụng SSH (Secure Shell) + SFTP như một VPS.
  8. 3. Cấu trúc cơ bản. OpenShift Online cung cấp cho người dùng tài nguyên CPU, b ộ nhớ, kết n ối m ạng hoặc một Apache hay Jboss server để khởi tạo và tri ển khai, qu ản lý ứng d ụng c ủa mình trên cloud. Với hầu hết các dạng của ứng dụng, OpenShift khởi tạo sẵn các file layout mà b ạn có thể sử dụng như một khung để xây dựng ứng dụng của mình. Nó cũng tạo cho b ạn m ột tên miền hệ thống (DNS) tất nhiên có giới hạn để ứng dụng có thể truy nhập trực tuyến. Thành phần cơ bản của hệ Mô tả thống Gears (“bánh răng”) Nguồn tài nguyên hạn chế của hệ thống cung cấp cho mã lệnh ứng dụng nơi cartidges chạy. Gears xác định dung lượng RAM và dung lượng bộ nhớ có sẵn cho m ột cartridge. Cartridges(“đạn”) Cartridges cung cấp các chức năng để chạy các ứng d ụng. Nhiều cartridges hiện được hỗ trợ như Perl, PHP, Ruby hay các database như Postgre hay MySQL. Các loại Gears được hỗ trợ trên OpenShift: • Small gears provide 512MB of RAM, 100MB of swap space, and 1GB of disk space. • Medium gears provide 1GB of RAM, 100MB of swap space, and 1GB of disk space. • Large gears provide 2GB of RAM, 100MB of swap space, and 1GB of disk space. Mặc định thì sẽ có 3 Small gears có sẵn với tổng c ộng 1.5 GB RAM và 3GB c ủa b ộ nhớ đĩa. OpenShift Online có thể chỉ định 3 gears này trong 1 ứng d ụng và các cartridges của nó (Cron, MySQL,…), sử dụng mỗi gear để phân chia hoặc mở rộng ứng dụng.  Các loại tài khoản: Hiện tại có 3 loại tài khoản trên OpenShift: Free (miễn phí), Bronze (Đ ồng), Silver (Bạc). Bảng sau sẽ mô tả chi tiết quyền lợi, các tính năng cung cấp cho mỗi loại:
  9. 4. Giao diện người dùng Có 2 loại giao diện cho người sử dụng có thể dùng để tương tác vs OpenShift: management console (giao diện đồ họa điều khiển) và command line interface (CLI) (giao diện dòng lệnh). 5. Giao diện đồ họa (OpenShift Online) Chính là địa chỉ trang web cho người dùng truy cập: http://www.openshift.com Management console phù hợp cho: • Khởi tạo, quản lý, giám sát tài khoản. • Deploy và run các ứng dụng. • Giám sát và đánh giá các ứng dụng. Miêu tả ngắn gọn về các trang trên giao diện đồ họa: Page Mô tả Applicatio Xem, quản lý các ứng dụng và cartridges. Nếu đang chưa có ứng d ụng nào n bạn có thể tạo ứng dụng mới từ trang này. Settings Xem và quản lý SSH key, tên miền (domains), và ủy quyền tài kho ản (account authorizations) Help Truy nhập vào Kbase, các forum, các bài hướng dẫn,...Một số lượng lớn các tài nguyên có sẵn để cho người sử dụng tham khảo, chẩn đoán và gi ải quyết các vấn đề về tài khoản và ứng dụng của mình. My Xem và quản lý thông tin tài khoản, bao gồm cả nâng cấp tài khoản. Account 6. Giao diện dòng lệnh (Client tools): Dùng để quản lý môi trường trong OpenShift thông qua các dòng l ệnh và cung c ấp các tính tăng hiện vẫn chưa có với giao diện đồ họa: Thích hợp cho các đối tượng:
  10. • Coding: người lập trình • Debugging: người sửa lỗi • Advanced application management: người quản lý ứng dụng cấp cao 7. Mã ủy quyền (Authorization Tokens) 1. Giới thiệu: Một mã ủy quyền là một giá trị bí mật được dùng để tự đ ộng đăng nh ập vào tài khoản OpenShift Online mà không cần phải khai báo thông tin đăng nh ập m ỗi l ần. M ột token cũng dùng để xem khả năng cấp cho người dùng khác đầy đ ủ hay m ột ph ần quy ền truy cập vào một tài khoản, xác định thông qua phạm vi scope của token. Có các loại phạm vi như sau: Scope Mô tả Thời gian hiệu lực session Truy nhập vào tất cả các hàm API của một 1 ngày tài khoản read Chỉ có thể đọc khi truy nhập vào các tài 1 tháng nguyên của 1 tài khoản nhưng không thể xem các mã ủy quyền userinfo Truy nhập để đăng nhập tên, id và sử dụng 1 tháng các khả năng của user Mã ủy quyền chỉ được tạo khi đã cài đặt giao diện dòng lệnh Client Tools 8. SSH Keys OpenShift Online sử dụng gia thức mạng Secure Shell (SSH) để xác nhận thông tin tài khoản cho OpenShift Online Server để đảm bảo sự giao ti ếp. Nó h ỗ tr ợ c ả RSA và DSA keys cho SSH. Xác nhận thành công khi khóa công khai SSH trên máy của user phù hợp với khóa công khai đã được upload lên OpenShift Online Server. Khi mà giao diện dòng lệnh đ ược c ấu hình nó sẽ ngầm tạo một cặp SSH keys mặc định .ssh trong thư mục home của user. Các SSH keys được hỗ trợ bởi OpenShift Online:
  11. 9. Tên miền (domains) Một mẫu tên miền là một phần của địa chỉ URL của ứng d ụng, nó tạo ra tính đ ộc nhất của tài khoản. Cú pháp cho một địa chỉ URL của ứng dụng là: application- domain.example. com. Mỗi người sử dụng được hỗ trợ một tên miền nhưng user có th ể tạo nhiều ứng dụng trong tên miền đó. Chú ý rằng tê n miền ph ải kh ởi t ạo tr ước ứng dụng. Một domain bao gồm tối đa 16 kí tự chữ cái ho ặc chữ số, không bao g ồm d ấu cách và các kí tự biểu tượng. Ví dụ về domain của một application: 10. Cartridges Cartridges là các thành phần của ứng dụng trên OpenShift Online, ch ứa các mã ứng dụng để cung cấp các chức năng cần thiết để chạy ứng d ụng. Cartridges s ẵn có có h ỗ tr ợ nhiều loại ngôn ngữ lập trình, cơ dở dữ liệu, các dịch vụ giám sát và quản lý. Thêm một cartidge cho một ứng dụng cung c ấp khả năng mong mu ốn mà không c ần phải quản lý hoặc cập nhật những tính năng kèm theo. Khi được thêm vào ứng d ụng, m ột cartridge được triển khai đến một hoặc nhiều gears dựa theo yêu cầu của ứng dụng. Một ứng dụng yêu cầu ít nhất một web framework cartridge, các web framework cartridges được hỗ trợ là:
  12.  Các loại cartridges tiện ích khác: Add-on cartridges Mô tả Database Cung cấp cho ứng dụng một trong các loại database back ends. VD: MySQL hay PostgreSQL Database Cung cấp các chức năng để quản lý database của ứng dụng sử management dụng phần mềm của bên thứ ba. VD: HAProxy Monitoring and Cung cấp một loạt các chức năng quản lý và giám sát ứng d ụng. management VD: Cron task schedule, the Jenkins client Các loại database và khả năng mở rộng hay không của chúng: Các loại Management Database Cartridges và khả năng mở rộng scalable của chúng:
  13. 11. Application Khi một ứng dụng mới được khởi tạo, một URL với tên của ứng dụng và tên mi ền domain sẽ được đăng kí trong DNS. Một copy của code ứng dụng sẽ đ ược ki ểm tra trong một thư mục có tên giống như tên ứng dụng. Chú ý rằng các lo ại ứng d ụng khác nhau yêu cầu các cấu trúc thư mục khác nhau. Các thành phần c ủa ứng dụng đ ược ch ạy trên các gears: Các thành phần cấu tạo nên một ứng dụng: Components Mô tả Domain Domain cung cấp một định danh nhóm duy nhất cho tất c ả các ứng dụng của một người dùng xác định. Một domain không tr ực ti ếp liên hệ với DNS, thay vào đó nó được nối vào tên ứng dụng để tạo URL cho ứng dụng theo dạng: http://app_name-domain.example.com. Application name Tên của ứng dụng được đặt bởi user. Alias Tên DNS có thể được cung cấp cho ứng dụng bởi việc đăng kí m ột bí danh (alias) với OpenShift Online và chỉ mục DNS cho OpenShift Online servers. Git repository Một Git repository được sử dụng để thay đổi code ứng dụng c ục b ộ. Sau khi thay đổi code, lệnh git push sẽ cần để triển khai code đã sửa. Vòng đời của một ứng dụng: Process Mô tả Code (lập Phát triển ứng dụng với các ngôn ngữ lập trình và công c ụ c ần thi ết. trình) Tiếp tục đẩy các code ứng dụng đến nguồn điều khiển ứng dụng từ xa là Git repository. Build (xây OpenShift Online hỗ trợ nhiều cơ chế để build ứng dụng. Nếu là một dựng) ứng dụng đơn giản, một máy chủ cá nhân hoặc nội bộ tích hợp Jenkins tiếp tục build hệ thống. Deploy (triển Mọi ứng dụng đều bao gồm các cartridges mà đơn giản hóa bảo trì và khai) cấu hình server. OpenShift Online hỗ trợ đa dạng các k ỹ thu ật đ ể cung cấp những dịch vụ được yêu cầu một cách tự động. Manage (quản OpenShift Online cho phép theo dõi thời gian thực, gỡ lỗi–debugging và lý) điều chỉnh ứng dụng. Ứng dụng được mở rộng tự động dựa theo lưu lượng web. 1. Các ứng dụng có thể mở rộng (scalable) và không thể mở rộng (non-scalable) Các ứng dụng có thể mở rộng và cả không thể mở rộng. Một ứng dụng là không th ể mở rộng chỉ khi tiêu thụ một trong các giới hạn mặc định c ủa các gears đ ược trao. M ặt khác, ứng dụng có thể mở rộng tiêu tốn 2 gears có sẵn, một là cho mức sẵn sàng ủy quyền cao high-availability proxy (HAProxy) và một là cho ứng dụng th ực t ế (actual application). Khi mà MySQL được thêm vào ứng dụng, nó được cài đặt là một gear. Điểm mạnh của các ứng dụng mở rộng được là nó tự động c ấp pháp tài nguyên d ựa trên yêu cầu. OpenShift Online giám sát các yêu c ầu tài nguyên và t ự đ ộng c ấp phát tài nguyên tương ứng. Một ứng dụng có thể tự động mở rộng ho ặc bởi chính người dùng. Một ứng dụng mới khởi tạo mặc định là có thể mở rộng dựa theo số yêu c ầu. Tuy nhiên, user có thể điều chỉnh số gears tối thiểu hay tối đa được sử dụng bởi m ột ứng d ụng trong giới hạn cho phép.
  14. 12. Làm thế nào để mở rộng ứng dụng? Mỗi ứng dụng được tạo trên OpenShift Online phải có ít nhất m ột web framework cartridge (VD: PHP cartridge). Khi một ứng dụng được m ở rộng, cartridge th ứ 2, HAProxy, sẽ được thêm vào ứng dụng. HAProxy sẽ lắng nghe tất cả yêu cầu cho ứng dụng đến web và chuyển chúng đến web cartridges. Khi số yêu cầu của trang web (web page request) đến ứng d ụng tăng, HAProxy báo cho OpenShift Online khi mà phát hiện quá tải yêu cầu. Một bản sao c ủa web cartridge s ẽ được tạo trên một gear riêng biệt. Trong mỗi trường hợp như v ậy, web cartridge đã đ ược mở rộng 2 lần. Tiến trình này được lặp lại khi mà có thêm yêu c ầu web đ ược phát hi ện bởi HAProxy và mỗi lần như vậy một bản sao của lại được tạo trên m ột gear riêng bi ệt và số gear tăng 1. Nếu tỷ lệ tổng số gear của một ứng dụng với số HAProxy gears lớn h ơn 2, đ ịnh tuyến chức năng của HAProxy sẽ bị vô hiệu hóa để web cartridges đ ược s ắp x ếp th ứ t ự trên đó. Nếu tỷ lệ lại hạ xuống bằng 2 hoặc thấp hơn, HAProxy lại được kích hoạt lại.
  15. 13. Xây dựng ứng dụng web bán hàng trên OpenShift 1. Đăng ký Openshift Đầu tiên chúng ta tiến hành tải 2 phần mềm này về 1. WinSCP : Là phần mềm kết nối với máy chủ ảo để up dữ liệu. 2. PuTTY Key Generator : Phần mềm khởi tạo key bảo mật. Vào trang web www.openshift.redhat.com để đăng ký 1 tài khoản mới – chọn Sign up. Nhập đẩy đủ thông tin và nhấn Sign Up để hoàn thành việc đăng ký.
  16. Sau khi đăng ký xong, bạn vào hộp thư email đăng ký để ti ến hành l ấy đ ịa ch ỉ kích ho ạt tài khoản. 2. Đăng nhập và tạo tên miền trên openshit Tiến hành đăng nhập với tài khoản vừa được tạo.
  17. Chọn create your first application now. Tiếp theo ta chọn phần PHP 5.3
  18. Trong phần Public URL bạn điền địa chỉ host sẽ đưa lên trang web ( trên openshift thì nó sẽ có đuôi đằng sau là rhcloud.com. Chọn create application. Chọn Not now, continue.
  19. Kích chọn vào MySQL 5.5 Chọn vào Add Catridge Bạn cần ghi nhớ các thông số như là Root User, Root Password, Database. Nh ững cái này ta sẽ sử dụng để đăng nhập vào phần winscript. Chọn Add phpMyadmin 4.0 để sử dụng cơ sở dữ liệu trên trang web. 3. Tạo public key và private key Tiếp theo chúng ta sẽ sử dụng phần mềm puttygen.exe. Để tạo key public và private key. Chọn Generator và tiến hành rê chuột trên màn hình để lấy key public.
  20. Tiến hành lấy key public trên phần mềm. Và nhớ chọn phần save private key đ ể l ưu key private.
nguon tai.lieu . vn