Nền tảng là một dịch vụ là gì?
Nền tảng là một dịch vụ (PaaS) là một trong các tầng của Điện toán đám mây. Các tầng khác bao
gồm phần mềm là một dịch vụ (SaaS) và cơ sở hạ tầng là một dịch vụ (IaaS). PaaS ở giữa SaaS
và IaaS, cung cấp sự trừu tượng hóa trên cơ sở hạ tầng và cung cấp một nền tảng điện toán và
một ngăn xếp giải pháp
10 trang |
Chia sẻ: lylyngoc | Lượt xem: 1678 | Lượt tải: 1
Bạn đang xem nội dung tài liệu Giới thiệu Spring Roo, Phần 4: Phát triển ứng dụng nhanh trong đám mây với Spring Roo và Cloud Foundry, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Giới thiệu Spring Roo, Phần 4: Phát triển ứng dụng
nhanh trong đám mây với Spring Roo và Cloud
Foundry
Nền tảng là một dịch vụ là gì?
Nền tảng là một dịch vụ (PaaS) là một trong các tầng của Điện toán đám mây. Các tầng khác bao
gồm phần mềm là một dịch vụ (SaaS) và cơ sở hạ tầng là một dịch vụ (IaaS). PaaS ở giữa SaaS
và IaaS, cung cấp sự trừu tượng hóa trên cơ sở hạ tầng và cung cấp một nền tảng điện toán và
một ngăn xếp giải pháp.
Hình 1. Nền tảng là một dịch vụ: Trung tâm chiến lược của kiến trúc điện toán-đám mây
PaaS phù hợp với cả doanh nghiệp lẫn các nhà phát triển chuyên nghiệp. Các nhà phát triển kinh
doanh, những người không viết mã, có thể sử dụng các nền tảng như WaveMaker để phát triển
các ứng dụng của họ với các thành phần kéo và thả còn các nhà phát triển chuyên nghiệp có thể
sử dụng các nền tảng như Google App Engine để xây dựng và triển khai các ứng dụng web. PaaS
cung cấp các phương tiện để hỗ trợ các vòng đời từ đầu đến cuối về xây dựng và phân phối các
ứng dụng và các dịch vụ web. Một số các nhà cung cấp dịch vụ PaaS chủ yếu là Google App
Engine cho Java™ và Python, Microsoft® Azure cho .Net và Java và Force.com.
Đến năm 2010, PaaS vẫn chưa phát triển ở tốc độ tương tự như SaaS và IaaS, có thể là do những
hạn chế bị áp đặt bởi các giải pháp PaaS hiện có. Chúng ta hãy xem xét các vấn đề với PaaS hiện
có, mà các nền tảng PaaS thế hệ kế tiếp như Cloud Foundry cần giải quyết các vấn đề đó.
Các vấn đề với các giải pháp PaaS hiện có
Sự lệ thuộc vào Nhà cung cấp (thiếu tính di động đám mây): Đã không cung cấp tùy
chọn nào cho một nhà phát triển hoặc một tổ chức để di chuyển từ một đám mây này sang
một đám mây khác. Ví dụ, nếu một nhà phát triển đã chọn Google App Engine, sau đó họ
vẫn phải tiếp tục dùng Google App Engine trừ khi ứng dụng bị xóa bằng giao diện điều
khiển Google App Engine và các ứng dụng hiện có được sửa đổi theo nhà cung cấp dịch
vụ đám mây mới. Sau đó ứng dụng này phải được triển khai ở đó.
Chỉ dành cho triển khai vào đám mây công cộng: Hầu hết các giải pháp PaaS hiện có
chỉ nhắm vào đám mây công cộng, dẫn đến nhiều doanh nghiệp không di chuyển sang
PaaS. Có rất nhiều doanh nghiệp sẽ không bao giờ di chuyển sang đám mây công cộng và
họ đã không được cung cấp sự lựa chọn nào khác để thiết lập đám mây riêng trên cơ sở
hạ tầng của họ hoặc sử dụng một sự kết hợp của các đám mây riêng và công cộng.
Cách suy nghĩ trì trệ: Các nhà phát triển phải thay đổi cách suy nghĩ của họ để xây dựng
các ứng dụng trên đám mây công cộng. Trước đây, Google App Engine đã không cung
cấp tùy chọn về các cơ sở dữ liệu quan hệ. Ứng dụng phải được mã hóa dựa vào
BigTable, mà nó đòi hỏi một sự thay đổi về cách suy nghĩ trước khi việc xây dựng bắt
đầu và có một đường cong học tập được liên kết với nó. Nhà phát triển có thể lấy một tệp
WAR của ứng dụng và triển khai vào đám mây mà không cần bất kỳ sửa đổi nào.
Hỗ trợ cho các khung công tác xuống cấp: Hiện nay, các nhà lập trình Java sử dụng các
khung công tác và hầu như 100% sự hỗ trợ của khung công tác đều mở đầu khó khăn khi
viết các ứng dụng. Việc sử dụng Google App Engine để xây dựng một ứng dụng đơn giản
bằng cách sử dụng bất kỳ khung công tác phổ biến nào như Spring hoặc Struts đã đòi hỏi
một số nỗ lực rất lớn trước khi sử dụng khung công tác đó.
Gắn chặt vào một môi trường cụ thể: Dịch vụ PaaS hiện có bị gắn chặt vào các môi
trường cụ thể chẳng hạn như Java và Python khi sử dụng BigTable như là phần phụ trợ
cho Google App Engine, .Net và Java khi sử dụng cơ sở dữ liệu SQL Azure với
Microsoft Azure hoặc Java với Amazon Beanstalk. Việc sử dụng bất kỳ các PaaS này cần
phải tồn tại được chỉ trong môi trường đó.
Không có nguồn mở: Không có các giải pháp PaaS hiện có nào là nguồn mở, làm cho
các nhà phát triển khó phân nhánh mã và bổ sung sự hỗ trợ cho các tính năng mới để chia
sẻ với cộng đồng. Một yếu tố hấp dẫn của Cloud Foundry là tính chất nguồn mở của nó,
cho phép các nhà phát triển bên ngoài tổ chức mẹ có được một vai trò quan trọng trong
sự thành công của nó.
2011 - năm của PaaS
Gartner đã nói rằng năm 2011 sẽ là năm của nền tảng là một dịch vụ. Điều này là do số lượng
lớn các dịch vụ PaaS mới sẽ được các nhà cung cấp phần mềm doanh nghiệp hàng đầu giới thiệu.
Một số dịch vụ PaaS được khởi chạy năm nay là Cloud Foundry của VMWare, OpenShift của
RedHat, CloudBees và DotCloud. (Xem phần Tài nguyên để biết thêm thông tin về tất cả các
dịch vụ này). Các dịch vụ PaaS mới không bị hạn chế vào một ngôn ngữ hoặc khung công tác
duy nhất nào. Bây giờ PaaS thực sự đang trở thành một nền tảng hỗ trợ xây dựng các ứng dụng
bằng cách sử dụng nhiều ngôn ngữ và khung công tác. Các dịch vụ PaaS như Cloud Foundry đã
đạt tới mức tiếp theo trên con đường hỗ trợ nhiều đám mây, mà chúng ta sẽ thảo luận sau trong
bài này. Những thay đổi này cũng sẽ thúc đẩy các giải pháp PaaS hiện có trở thành nhiều-khung
công tác. Phần sau sẽ tập trung vào Cloud Foundry, vì phần còn lại của các dịch vụ PaaS không
nằm trong phạm vi của bài này.
Về đầu trang
Cloud Foundry là gì?
Vào tháng 4 năm 2011, VMware đã tiết lộ một nền tảng mở là một dịch vụ gọi là Cloud
Foundry. Cloud Foundry là dịch vụ nhiều-ngôn ngữ, nhiều-khung công tác, nhiều-ứng dụng và
nền tảng nguồn mở nhiều-đám mây. Nó đang cố gắng giải quyết tất cả các vấn đề được liệt kê
trước đây cho các giải pháp PaaS hiện có. Các nhà phát triển và các tổ chức có thể sử dụng
Cloud Foundry như là đích triển khai, đó là, triển khai một đám mây công cộng do Cloud
Foundry cung cấp, hoặc có thể sử dụng nó như là một tầng cho phép triển khai theo một sự lựa
chọn đám mây, cả công cộng lẫn riêng tư. Ba đặc điểm chính của Cloud Foundry là:
1. Lựa chọn ở tất cả các tầng: Trong một phạm vi riêng lẻ, Cloud Foundry là một tùy chọn
cung cấp-PaaS. Các lựa chọn được cung cấp cho các nhà phát triển không bị giới hạn vào
các ngôn ngữ lập trình, nhưng tồn tại ở tất cả các tầng (các dịch vụ và đám mây). Cloud
Foundry được mô tả tốt nhất bằng biểu đồ trong Hình 2.
Hình 2. Các lựa chọn Cloud Foundry
Trong Hình 2 bạn có thể thấy các lựa chọn ở tất cả ba đỉnh của một tam giác. Đỉnh đầu
tiên dành cho các ngôn ngữ/thời gian chạy và các khung công tác. Hiện nay, Cloud
Foundry hỗ trợ các ngôn ngữ Java, Groovy, Scala, Ruby và Node.js. Các khung công tác
được hỗ trợ cho các ngôn ngữ này là Rails3, Grails, Node, Sinatra, Lift và Spring. Đỉnh
thứ hai tương ứng với các dịch vụ ứng dụng cho các dịch vụ có sẵn, dùng ngay được như
MySQL (Relational Database - Cơ sở dữ liệu quan hệ), Redis (Kho dữ liệu giá trị khóa)
và MongoDB (kho dữ liệu tài liệu). Sự hỗ trợ cho RabbitMQ và các dịch vụ khác sẽ có
sớm. Cloud Foundry đang cung cấp cho các nhà phát triển sự lựa chọn để làm việc với
các cơ sở dữ liệu SQL hoặc NoSQL. Các cơ sở dữ liệu đó, bị giới hạn theo MySQL và
Java, không phải tìm hiểu bất cứ thứ gì mới và có thể sử dụng kiến thức hiện có để xây
dựng một ứng dụng hoặc triển khai một ứng dụng hiện có. Đỉnh thứ ba cho thấy sự lựa
chọn các đám mây. Cloud Foundry có thể được triển khai trên một đám mây công cộng
như một đám mây hiện có sẵn trên cloudfoundry.com hoặc bằng cách triển khai Cloud
Foundry trên IaaS như Amazon EC2. Bạn cũng có thể tải về và triển khai Cloud Foundry
trên đám mây riêng của tổ chức của bạn hoặc một nhà phát triển có thể cài đặt Cloud
Foundry trên một máy tính xách tay để sử dụng một đám mây vi mô hay đám mây của
nhà phát triển.
2. Nguồn mở: Cloud Foundry là một dự án mã nguồn mở có sẵn trên Github (xem phần Tài
nguyên). Các nhà phát triển có thể phân nhánh dự án Cloud Foundry, bổ sung sự hỗ trợ
cho các tính năng mới hoặc sửa chữa các vấn đề hiện có và đóng góp trở lại cho dự án.
Một công ty có tên là ActiveState đã xây dựng nền tảng đám mây riêng của mình cho
Python và Perl trên Cloud Foundry (xem phần Tài nguyên). Điều này chỉ có thể thực hiện
được do Cloud Foundry là một dự án nguồn mở và các nhà phát triển có thể bổ sung
nhiều dịch vụ hơn hoặc hỗ trợ ngôn ngữ cho nó.
3. Tính di động của đám mây: Vì Cloud Foundry là một dự án mã nguồn mở, nên các nhà
phát triển hoặc các tổ chức có quyền tự do chạy Cloud Foundry ở bất cứ nơi nào họ
muốn. RightScale đã cho thấy rằng Cloud Foundry có thể chạy trên Amazon EC2 (xem
phần Tài nguyên). Các nhà phát triển hoặc các tổ chức, không muốn sử dụng đám mây
công cộng Cloud Foundry mặc định, có thể chuyển sang một dịch vụ đám mây khác của
Cloud Foundry.
Về đầu trang
Bắt đầu với Cloud Foundry
Đám mây công cộng Cloud Foundry được cung cấp là một dịch vụ miễn phí tại
Dịch vụ này hiện đang là bản beta. Những ai chưa có giấy phép
Cloud Foundry sẽ phải đăng ký một tài khoản trước khi bắt đầu với đám mây công cộng Cloud
Foundry. Để nhận được giấy phép của Cloud Foundry thường mất vài ngày. Đám mây công cộng
này hiện đang chạy trên hệ điều hành đám mây VMWare vSphere. Để bắt đầu trước khi nhận
được giấy phép, hãy thiết lập một đám mây trên một máy tính cá nhân bằng cách tải về và cài đặt
Cloud Foundry.
Khi nhận được giấy phép Cloud Foundry, có ba cách để tương tác với nó. Tất cả các máy khách
tương tác với API REST đều được Cloud Foundry trưng ra. Các dịch vụ web REST này là tải dữ
liệu (payload) json đơn giản trên giao thức HTTP.
1. Máy khách dòng lệnh VMC (VMC Command-line client): VMC là một ruby gem cung
cấp truy cập vào Cloud Foundry thông qua dòng lệnh. (ND: ruby gem là chương trình
dùng để quản lý (cài đặt, bỏ cài đặt, cập nhật...) các thư viện cho Ruby). Nó được sử dụng
để triển khai các ứng dụng đã tạo ra bằng cách sử dụng tất cả các ngôn ngữ. Hãy tải nó từ
2. Bộ dụng cụ Spring Source (Spring Eclipse IDE hoặc STS): STS là chế độ thứ hai để
kết nối với Cloud Foundry. STS là một IDE dựa trên Eclipse được đóng gói kèm theo
nhiều goodies của Spring. Để tìm hiểu thêm về STS, hãy tham khảo một thẻ tham khảo
thú vị được công bố trên dzone. Việc cài đặt một trình cắm thêm là cần thiết để truy cập
Cloud Foundry. Từ bên trong IDE, bạn có thể thực hiện tất cả việc xây dựng, kiểm tra và
triển khai vào một đám mây. Điều đó thực sự thú vị! Hãy đọc thêm về nó từ một blog của
nhóm SpringSource.
3. Phần bổ sung Cloud Foundry của Spring Roo: Ứng dụng này có thể được triển khai từ
bên trong trình vỏ Roo bằng cách sử dụng phần bổ sung Cloud Foundry của Spring Roo.
Đối với những người hâm mộ trình vỏ Roo, phần bổ sung này có nghĩa là chúng ta có thể
xây dựng và triển khai từ bên trong trình vỏ Roo. Trình vỏ Roo còn cung cấp một lợi thế
khác là hoàn thành bằng phím tab. Thêm một vài chữ cái vào lệnh đó và nhấn phím tab
và trình vỏ Roo sẽ hoàn thành lệnh đó.
Bây giờ chúng ta hãy thảo luận cách các nhà phát triển Java có thể truy cập Cloud Foundry qua
Spring Roo. Chúng ta sẽ triển khai ứng dụng đã tạo ra trong hai bài đầu tiên với Cloud Foundry.
Về đầu trang
Tích hợp Cloud Foundry của Spring Roo
Spring Roo cung cấp sự hỗ trợ cho Cloud Foundry dưới dạng một phần bổ sung. Các phần bổ
sung là một cơ chế mà theo đó Spring Roo cung cấp sự hỗ trợ cho các tính năng mới.
Các điều kiện tiên quyết
Để triển khai ứng dụng đầu tiên của bạn với Spring Roo trên Cloud Foundry, hãy làm theo các
bước sau:
1. Nếu Spring Roo chưa được cài đặt trên máy tính của bạn, xin vui lòng tham khảo bài
Phần 1 để bắt đầu với Spring Roo. Tôi đang sử dụng phiên bản mới nhất của bản phát
hành 1.1.5 của Spring Roo (Spring Roo 1.1.5.RELEASE).
2. Tải về mã nguồn của ứng dụng hội nghị, xem phần Tải về. Đây là một ứng dụng giống
như ứng dụng được phát triển trong hai bài đầu tiên. Ứng dụng này hiện đang sử dụng
HSQLDB làm cơ sở dữ liệu. Chúng ta sẽ chuyển ứng dụng này sang cơ sở dữ liệu
MySQL sau.
Triển khai ứng dụng HSQLDB đơn giản trên Cloud Foundry
Khi môi trường phát triển đã sẵn sàng, hãy triển khai ứng dụng hội nghị. Ứng dụng hội nghị đã
tải về sử dụng HSQLDB làm cơ sở dữ liệu của nó. Để triển khai ứng dụng này vào Cloud
Foundry, hãy làm theo các bước sau:
1. Giải nén tệp conference.zip đến một vị trí phù hợp.
2. Từ dòng lệnh, chuyển đến vị trí nơi conference.zip đã được giải nén.
3. Xây dựng dự án bằng cách gõ lệnh mvn clean install trên dòng lệnh.
4. Khi đã ở trong thư mục conference, thực hiện lệnh Roo để tải trình vỏ.
5. Trước khi triển khai ứng dụng trên Cloud Foundry, hãy cài đặt phần bổ sung Cloud
Foundry, mà phần bổ sung này sẽ cung cấp các lệnh để thực hiện các hoạt động trên
Cloud Foundry. Để cài đặt phần bổ sung Cloud Foundry, hãy gõ các lệnh sau vào trình vỏ
Roo:
roo> pgp automatic trust
roo> addon install bundle --bundleSymbolicName
org.springframework.roo.addon.cloud.foundry;1.1.5.RELEASE
Lệnh đầu tiên nói cho Spring Roo biết để tự động dựa vào tất cả các khóa pgp sao cho tất
cả các phần bổ sung cần thiết được cài đặt mà không cần phải dựa vào các khóa tin cậy
riêng. Lệnh thứ hai cài đặt phần bổ sung Cloud Foundry phiên bản 1.1.5 RELEASE.
Lệnh này sẽ mất vài phút để hoàn thành, do đó xin hãy kiên nhẫn chờ đợi.
6. Sau khi cài đặt xong phần bổ sung, cần đăng nhập vào Cloud Foundry trước khi có thể
thực hiện các hoạt động. Để đăng nhập vào Cloud Foundry, hãy gõ lệnh sau vào trình vỏ
Roo:
roo> cloud foundry login --email shekhargulati84@gmail.com --password
******
--cloudControllerUrl
7.
8. Lệnh đăng nhập cloud foundry có ba tùy chọn – email (thư điện tử), password (mật khẩu)
và cloudControllerUrl. Trong số này, email và password là bắt buộc. Giá trị
cloudControllerUrl mặc định cho đám mây công cộng Cloud Foundry tại địa chỉ
Để triển khai đám mây vi mô hay đám mây ở bất cứ nơi nào
khác, cần phải trỏ đến URL đó.
9. Để xem tất cả các lệnh có sẵn để truy cập Cloud Foundry, hãy viết cloud foundry và nhấn
phím tab để thấy tất cả các lệnh.
roo> cloud foundry
cloud foundry bind cloud foundry clear cloud foundry
create
cloud foundry delete cloud foundry deploy cloud foundry files
cloud foundry info cloud foundry list cloud foundry login
cloud foundry map cloud foundry restart cloud foundry start
cloud foundry stop cloud foundry unbind cloud foundry unmap
cloud foundry update cloud foundry view
10.
11. Để xem thông tin liên quan đến cá thể Cloud Foundry của bạn, hãy gõ lệnh info như được
hiển thị dưới đây. Lệnh này hiển thị thông tin về việc sử dụng bộ nhớ, số lượng các ứng
dụng được triển khai trên Cloud Foundry và số lượng dịch vụ đang chạy. Nó cũng cho
thấy các giá trị được cấp phát tối đa, đó là, bộ nhớ tối đa là 2GB.
roo> cloud foundry info
VMware's Cloud Application Platform
For support visit support@cloudfoundry.com
Target: (0.999)
User: shekhargulati84@gmail.com
Usage: Memory (0MB of 2048MB total)
Services (0 of 16 total)
Apps (0 of 20 total)
12.
13. Tiếp theo, hãy triển khai ứng dụng bằng cách gõ lệnh cloud foundry deploy (triển khai
cloud foundry). Lệnh này đòi hỏi hai thuộc tính AppName (Tên ứng dụng) và path
(đường dẫn). Thuộc tính AppName biểu diễn tên của ứng dụng và thuộc tính path biểu
diễn đường dẫn đến tệp WAR. Không cần phải nhập đường dẫn. Chỉ cần nhấn phím tab
sau đường dẫn và Spring Roo sẽ tìm ra đường dẫn đó cho bạn. Có ba thuộc tính không
bắt buộc – instances (các cá thể), memory (bộ nhớ) và các url. Theo mặc định, chỉ có một
cá thể của ứng dụng được khởi chạy, nhưng có thể triển khai nhiều cá thể của ứng dụng
bằng cách chỉ rõ ứng dụng đó khi sử dụng thuộc tính instances. Bộ nhớ mặc định được
cấp cho một cá thể bằng 256MB. Để thay đổi thuộc tính này, hãy sử dụng thuộc tính
memory tại thời điểm triển khai. Có thể sử dụng thuộc tính các URL để quy định các
URL được ánh xạ tới ứng dụng. Theo mặc định URL sẽ là .
Cloudfoundry.com, có nghĩa là conference.cloudfoundry.com với ứng dụng của chúng ta.
Hãy gõ lệnh sau để triển khai ứng dụng hội nghị.
roo> cloud foundry deploy
--appName conference --path /target/conference-0.1.0.BUILD-
SNAPSHOT.war
14.
15. Thuộc tính path có thể có giá trị CREATE, mà giá trị này sẽ phụ thuộc vào liệu dự án đã
được xây dựng bằng cách sử dụng Maven chưa. Nếu dự án đã được xây dựng, như trong
trường hợp của tôi, bạn sẽ thấy đường dẫn của tệp war. Nếu không, bạn thấy sẽ
CREATE, mà đầu tiên nó sẽ xây dựng dự án và sau đó triển khai ứng dụng.
16. Ứng dụng triển khai vẫn chưa khởi động. Khởi động ứng dụng bằng cách sử dụng lệnh
start (khởi động) như dưới đây.
cloud foundry start app --appName conference
17. Bạn có thể xem ứng dụng đang chạy ở
Chuyển sang sản xuất: Thay thế HSQLDB bằng cơ sở dữ liệu MySQL
Thật dễ chuyển đổi từ HSQLDB cho một môi trường cục bộ sang cơ sở dữ liệu MySQL trong
sản xuất. Đầu tiên, thay đổi kho lưu trữ tồn tại bền vững từ HSQLDB sang MySQL bằng cách sử
dụng trình vỏ Roo và sau đó tạo ra một dịch vụ MySQL bằng cách sử dụng phần bổ sung Cloud
Foundry và kết buộc dịch vụ này với ứng dụng. Không cần thay đổi mã; thay đổi duy nhất sẽ xảy
ra ở cấu hình. Thậm chí không cần có cơ sở dữ liệu MySQL trên máy tính này do việc kiểm tra
được thực hiện trực tiếp trên đám mây. Cloud Foundry cảm thấy nhẹ như đang phát triển trên
một máy tính của nhà phát triển nội bộ.
1. Mở trình vỏ Roo và thay đổi kho lưu trữ tồn tại bền vững từ HSQDB sang MySQL bằng
cách gõ lệnh sau trên trình vỏ.
persistence setup --database MYSQL --provider HIBERNATE
Lệnh này sẽ cập nhật pom.xml, database.properties, persistence.xml để trỏ đến cấu hình
liên quan MySQL.
2. Mở một dòng lệnh khác và thực hiện lệnh mvn clean install -Dmaven.test.skip=true trong
thư mục gốc. Xin lưu ý rằng tôi đang bỏ qua các bài kiểm tra vì tôi không có cơ sở dữ
liệu MySQL cho các ứng dụng hội nghị của mình.
3. Sau khi xây dựng thành công, ứng dụng đã sẵn sàng để được triển khai. Tuy nhiên, trước
khi triển khai, xin vui lòng xóa ứng dụng để chúng ta có thể tạo ra một dịch vụ MySQL
cho ứng dụng của mình và triển khai lại một ứng dụng mới. Không cần xóa ứng dụng
mỗi khi bạn thực hiện các thay đổi vì bạn cũng có thể sử dụng lệnh cập nhật để cập nhật
việc triển khai.
cloud foundry delete app --appName conference
4. Bây giờ chúng ta sẽ triển khai tệp war vừa mới được tạo ra của mình, có cấu hình đặc
trưng MySQL.
cloud foundry deploy --appName conference --path
/target/conference-0.1.0.BUILD- SNAPSHOT.war --memory 512MB
5. Lệnh trên đã triển khai ứng dụng nhưng cá thể ứng dụng vẫn chưa khởi động. Vì vậy,
trước khi chúng ta khởi động ứng dụng, chúng ta cần tạo ra một dịch vụ MySQL và gắn
nó vào dịch vụ của mình. Để tạo ra một dịch vụ mới, chúng ta sẽ sử dụng lệnh dịch vụ tạo
Cloud Foundry và sẽ cung cấp cho nó ServiceName (Tên dịch vụ) và serviceType (Kiểu
dịch vụ). ServiceType có thể là MySQL, MongoDB, hoặc Redis.
cloud foundry create service --serviceName conference-db --serviceType
mysql
6.
7. Sau khi tạo dịch vụ chúng ta có thể kết buộc dịch vụ bằng cách sử dụng lệnh bind service
(kết buộc dịch vụ). Lệnh bind service bảo đảm rằng phụ thuộc của nguồn dữ liệu MySQL
được đáp ứng trong đám mây. Việc này cũng được gọi là nội xạ phụ thuộc trong đám
mây.
cloud foundry bind service --appName conference --serviceName
conference-db
8.
Chúng ta cũng có thể tránh không dùng lệnh bind service bằng cách quy định thuộc tính
appName của lệnh create service.
cloud foundry create service --serviceName conference-db --serviceType
mysql
--appName conference
9.
10. Bây giờ bạn có thể khởi động ứng dụng hội nghị bằng lệnh start. Ứng dụng sẽ có sẵn tại
cloud foundry start app --appName conference
11.
12. Cuối cùng, xem danh sách các ứng dụng và các dịch vụ bằng cách thực hiện các lệnh list
apps (danh sách các ứng dụng) và list services (danh sách các dịch vụ) của Cloud
Foundry như sau.
roo> cloud foundry list apps
================================= Applications
=================================
Name Status Instances Services URLs
---- ------ --------- -------- ----
c