Contents
Phần 1: Giới thiệu về Cloud Computing 2
I. Các khái niệm cơ bản. 2
1. Đặt vấn đề. 2
2. Khái niệm. 2
II. Cấu trúc và cách thức hoạt động của Điện toán đám mây. 3
1. Mô hình dịch vụ điện toán đám mây. 3
2. Cách thức hoạt động. 5
3. Giải pháp, dịch vụ, ưu nhược điểm và xu hướng phát triển. 5
Phần 2: OpenShift 8
I. Cấu trúc cơ bản. 9
Các loại tài khoản: 9
II. Giao diện người dùng 10
1. Giao diện đồ họa (OpenShift Online) 10
2. Giao diện dòng lệnh (Client tools): 10
III. Mã ủy quyền (Authorization Tokens) 11
1. Giới thiệu: 11
2. SSH Keys 11
IV. Tên miền (domains) 12
V. Cartridges 12
VI. Application 14
1. Các ứng dụng có thể mở rộng (scalable) và không thể mở rộng (non-scalable) 15
2. Làm thế nào để mở rộng ứng dụng? 15
Phần 3: Xây dựng ứng dụng web bán hàng trên OpenShift 16
3. Đăng ký Openshift 16
4. Đăng nhập và tạo tên miền trên openshit 17
5. Tạo public key và private key 20
6. Thêm public key vào openshit 22
7. Sử dụng winscript để tải nội dung php lên trang web 23
Phần 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
Contents
Phầần 1: Giới thiệu vềầ Cloud Computng.......................................................................................................... 2
Các khái niệm cơ bản.............................................................................................................................. 2
I.
1.
Đặt vầấn đềầ........................................................................................................................................... 2
2.
Khái niệm............................................................................................................................................. 2
Cầấu trúc và cách thức hoạt động của Điện toán đám mầy.................................................3
II.
1. Mô hình dịch vụ điện toán đám mầy............................................................................................... 3
2. Cách thức hoạt động.............................................................................................................................. 5
3. Giải pháp, dịch vụ, ưu nhược điểm và xu hướng phát triển................................................5
Phầần 2: OpenShif.................................................................................................................................................... 8
Cầấu trúc cơ bản.......................................................................................................................................... 9
I.
Các loại tài khoản:............................................................................................................................ 9
II. Giao diện người dùng............................................................................................................................ 10
1.
Giao diện đôầ họa (OpenShif Online).....................................................................................10
2.
Giao diện dòng lệnh (Client tools):......................................................................................... 10
Mã ủy quyềần (Authorizaton Tokens).......................................................................................... 11
III.
1.
Giới thiệu:......................................................................................................................................... 11
2.
SSH Keys............................................................................................................................................. 11
IV.
Tền miềần (domains)............................................................................................................................ 12
V.
Cartridges.................................................................................................................................................... 12
VI.
Applicaton............................................................................................................................................. 14
1.
Các ứng dụng có thể mở rộng (scalable) và không thể mở rộng (non-scalable) 15
2.
Làm thềấ nào để mở rộng ứng dụng?....................................................................................15
Phầần 3: Xầy dựng ứng dụng web bán hàng trền OpenShif................................................................16
3.
Đăng ký Openshift......................................................................................................................... 16
4.
Đăng nhập và tạo tên miêền trên openshit..........................................................................17
5.
Tạo public key và private key................................................................................................... 20
6.
Thêm public key vào openshit.................................................................................................. 22
7.
Sử dụng winscript để tải nội dung php lên trang web................................................23
1|Page
Phầần 1: Giới thiệu vềầ Cloud Computng
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 tề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ư, tnh 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 tnh 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ư tnh 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 tn cậy giúp các doanh nghi ệp qu ản lý tôất
nguôần dữ liệu đó, các doanh nghiệp seẵ 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ì seẵ mang l ại cho h ọ hi ệu qu ả và l ợi
nhuận ngày càng cao hơn. Thuật ngữ “cloud computng” ra đ ời băất nguôần t ừ m ột trong
những hoàn cảnh như vậy. Thuật ngữ “cloud computng” 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, tnh toán.…lền trền m ạng Internet.
Chúng ta seẵ 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” seẵ 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ọ seẵ 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 seẵ 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 computng” 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 seẵ đ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 tnh. Ở mô hình điện toán này, m ọi kh ả năng liền quan
đềấn công nghệ thông tn đềầ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 tn
đượ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 tn liền quan đềầu được l ưu tr ữ, tnh
2|Page
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 tnh IEEE "Nó là hình mầẵu trong đó thông tn đ ượ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 tnh cá nhần, trung tầm giải trí, máy tnh trong doanh nghi ệp, các ph ương t ện
máy tnh 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 ụ ... seẵ năầm t ại các
máy chủ ảo (đám mầy) trền Internet thay vì trong máy tnh 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 computng 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
tch 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 tch h ợp các cloud l ại
với nhau thành “sky computng”, đư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|Page
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 tnh 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)….
Applicaton (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 tnh 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 tnh 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 seẵ được th ực hiện từ các “đám
mầy”.
Platorm (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 tnh, tều biểu là môi trường
nềần ảo hóa. Thay vì khách hàng phải bỏ tềầ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 tềấn hóa của mô hình
máy chủ ảo (Virtual Private Server).
4|Page
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
tnh, đượ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 tnh, 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 tnh 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 ọ seẵ
phải sử dụng thông qua giao diện từ lớp Front-end, và các phầần mềầm seẵ đ ượ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 Computng 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ư Microsof, 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 seẵ 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 tnh toán:
5|Page
Sử dụng các siều máy tnh (super-computer) để xử lý tnh toán.
Sử dụng các hệ thôấng tnh toán song song, phần tán, tnh 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 (sofware 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 độ tn 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 tềấ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 leẵ chúng không được cài đặt côấ
định trền một máy tnh nào. Chúng cũng dềẵ dàng hôẵ trợ và cải thiện vềầ tnh 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 tn 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 tn đó 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 tềấ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 tnh cá nhần. Điềầu này seẵ 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 tềấ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
6|Page
có thể chăấc chăấn răầng các dịch vụ đám mầy seẵ 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 leẵ một khi các đám mầy b ị tầấn công ho ặc đ ột
nhập, toàn bộ dữ liệu seẵ 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 leẵ 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 tnh cá nhần.
c. Xu hướng phát triển.
Thuật ngữ “cloud computng” ra đời từ giữa năm 2007, cho đềấn nay đã không ng ừng phát
triển mạnh meẵ 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à Microsof. 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 tều giải quyềất các bài toán vềầ dữ liệu, tnh toán, d ịch vụ, …, cloud computng đã 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 tnh t ừng ngày. Trong
khi đó, thuật ngữ ban đầầu của “Grid computng” 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|Page
Phầần 2: OpenShif
OpenShif 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 "OpenShif
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, OpenShif 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 tnh tùy biềấn c ủa h ệ
thôấng, hôẵ trợ nhiềầu ngôn ngữ và frameworks.
OpenShif 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.
OpenShif 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 hostng Free Openshif được miềẵn phí sử dụng Cloud hostng v ới đầầy đ ủ tnh
năng như một VPS (Vitual Private Server) , có thể s ử d ụng SSH (Secure Shell) + SFTP
như một VPS.
8|Page
I.
Cầấu trúc cơ bản.
OpenShif 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, OpenShif kh ởi t ạo săẵn các fle 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ệ
thôấng
Gears (“bánh răng”)
Cartridges(“đạn”)
Mô tả
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 cartdges chạy. Gears xác định dung
lượng RAM và dung lượng bộ nhớ có săẵn cho một
cartridge.
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 OpenShif:
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ì seẵ có 3 Small gears có săẵn với tổng cộng 1.5 GB RAM và 3GB c ủa b ộ nh ớ
đĩa. OpenShif 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 OpenShif: Free (miềẵn phí), Bronze (Đôầng), Silver (B ạc).
Bảng sau seẵ mô tả chi tềất quyềần lợi, các tnh năng cung cầấp cho môẵi loại:
9|Page
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 OpenShif:
management console (giao diện đôầ họa điềầu khiển) và command line interface (CLI) (giao
diện dòng lệnh).
II.
1. Giao diện đôầ họa (OpenShif Online)
Chính là địa chỉ trang web cho người dùng truy cập: http://www.openshif.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:
10 | P a g e
Page
Mô tả
Applicaton Xem, quản lý các ứng dụng và cartridges. Nềấu đang chưa có ứng d ụng nào
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
authorizatons)
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 tn tài khoản, bao gôầm cả nầng cầấp tài khoản.
Account
2. Giao diện dòng lệnh (Client tools):
Dùng để quản lý môi trường trong OpenShif thông qua các dòng l ệnh và cung cầấp các
tnh 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 applicaton management: người quản lý ứng dụng cầấp cao
III.
Mã ủy quyềần (Authorizaton 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 OpenShif Online mà không cầần phải khai báo thông tn đă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
session
read
userinfo
Mô tả
Truy nhập vào tầất cả các hàm API của một
tài khoản
Chỉ có thể đọc khi truy nhập vào các tài
nguyền của 1 tài khoản nhưng không thể
xem các mã ủy quyềần
Truy nhập để đăng nhập tền, id và sử dụng
các khả năng của user
Thời gian hiệu lực
1 ngày
1 tháng
1 tháng
Mã ủy quyềần chỉ được tạo khi đã cài đặt giao diện dòng lệnh Client Tools
11 | P a g e
3. SSH Keys
OpenShif Online sử dụng gia thức mạng Secure Shell (SSH) để xác nh ận thông tn tài
khoản cho OpenShif Online Server để đ ảm b ảo s ự giao tềấ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 OpenShif Online Server. Khi mà giao di ện dòng l ệnh đ ược cầấu
hình nó seẵ 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 OpenShif Online:
IV.
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 tnh đ ộc nhầất
của tài khoản. Cú pháp cho một địa chỉ URL của ứng d ụng là: applicaton-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 applicaton:
12 | P a g e
V.
Cartridges
Cartridges là các thành phầần của ứng dụng trền OpenShif 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 cartdge 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 tnh 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 tện ích khác:
Add-on cartridges
Database
Database
13 | P a g e
Mô tả
Cung cầấp cho ứng dụng một trong các loại database back ends.
VD: MySQL hay PostgreSQL
Cung cầấp các chức năng để quản lý database của ứng d ụng sử
management
Monitoring and
management
dụng phầần mềầm của bền thứ ba. VD: HAProxy
Cung cầấp một loạt các chức năng quản lý và giám sát ứng dụng.
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:
VI.
Applicaton
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 seẵ được đăng kí trong DNS. Một copy của code ứng d ụng seẵ đ ượ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
Domain
14 | P a g e
Mô tả
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 tềấ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.
Applicaton name
Alias
Git repository
Tền của ứng dụng được đặt bởi user.
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 OpenShif Online và ch ỉ mục DNS cho OpenShif
Online servers.
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 seẵ cầần để tri ển khai code đã
sửa.
Vòng đời của một ứng dụng:
Process
Mô tả
Code (lập trình) 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.
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
OpenShif 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ộ tch h ợp Jenkins
tềấ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. OpenShif Online hôẵ trợ đa d ạng các kyẵ thu ật để cung
cầấp những dịch vụ được yều cầầu một cách tự động.
Manage (quản OpenShif 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 tề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 tề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 applicaton).
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. OpenShif 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.
4. Làm thềấ nào để mở rộng ứng dụng?
Môẵi ứng dụng được tạo trền OpenShif 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,
seẵ được thềm vào ứng dụng. HAProxy seẵ 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
OpenShif Online khi mà phát hiện quá tải yều cầầu. Một bản sao của web cartridge seẵ đ ượ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
15 | P a g e
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 seẵ 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.
16 | P a g e
Phầần 3: Xầy dựng ứng dụng web bán hàng trền OpenShif
1. Đăng ký Openshift
Đầầu tền chúng ta tềấ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.openshif.redhat.com để đăng ký 1 tài khoản mới – ch ọn Sign up.
Nhập đẩy đủ thông tn và nhầấn Sign Up để hoàn thành việc đăng ký.
17 | P a g e
Sau khi đăng ký xong, bạn vào hộp thư email đăng ký để tềấ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.
18 | P a g e
Chọn create your frst applicaton now.
Tiềấp theo ta chọn phầần PHP 5.3
19 | P a g e
Trong phầần Public URL bạn điềần địa chỉ host seẵ đưa lền trang web ( trền openshif thì nó seẵ
có đuôi đăầng sau là rhcloud.com.
Chọn create applicaton.
Chọn Not now, contnue.
20 | P a g e
- Xem thêm -