Xem mẫu
- 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
- 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:
- 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).
- 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.
- • 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
- 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.
- 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.
- 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:
- 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:
- • 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:
- 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à:
- 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:
- 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.
- 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.
- 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ý.
- 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.
- Chọn create your first application now.
Tiếp theo ta chọn phần PHP 5.3
- 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.
- 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.
- 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