Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 17 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
17
Dung lượng
1,14 MB
Nội dung
Chuyểnđổiứngdụngwebcủabạnthànhgiảipháp
SaaS nhiềubênthuê
Ứng dụngweb điển hình so với SaaS
Đặc trưng trọng tâm xác định một SaaS là khả năng cho phép khách hàng sử dụng một ứngdụng
phần mềm trên cơ sở thuê bao dùng đến đâu trả đến đó. Họ không phải mua giấy phép dùng phần
mềm và thu xếp để cài đặt, lưu trữ trên máy chủ và quản lý nó. Những khía cạnh vận hành ấy là
trách nhiệm của tổ chức cung cấp ứngdụng SaaS.
Nhiều bênthuê là chìa khóa để SaaSthành công
Thống nhất: SaaS cần nhiềubênthuê
Nhiều bênthuê là một yêu cầu để cho một nhà cung cấp SaaSthành công. — Marc Benioff,
Giám đốc điều hành, Salesforce
Không thể thành công với SaaS mà không có nhiềubên thuê. — Treb Ryan, Giám đốc điều hành,
OpSource
Chúng tôi đã đạt được chi phí (thấp) hiệu quả phi thường trên một suất thuê điện toán chúng
tôi có chi phí thấp nhất trong ngành công nghiệp SaaS (do kết quả củanhiềubên thuê). — Lars
Dalgaard, Giám đốc điều hành, SuccessFactors
Ngày nay, ASP đang cố gắng quay trở lại. Tuy nhiên, cách tiếp cận của trung tâm dữ liệu đám
mây vẫn còn cách xa các khách hàng đang sử dụng một mô hình một bên thuê, nghĩa là để vận
hành và do đó để mua vẫn còn rất đắt tiền — Zach Neson, Giám đốc điều hành, NetSuite —
Tổng lợi nhuận của chúng tôi đã vượt quá 70% (do nhiềubên thuê).
Nhiều bênthuê với chúng tôi là thực sự quan trọng tạo ra một mô hình hiệu quả hơn nhiều —
Tim Wallace, Giám đốc điều hành, iPipeline
Nhiều bênthuê là tiền đặt cược trong trò chơi SaaS. — Henry Olson, cựu Giám đốc điều hành,
Edge Dynamics
Nhiều bênthuê cho phép toàn bộ mô hình thuê bao làm việc — Jeff Kaplan, Giám đốc điều
hành, THINKStrategies
Mặc dù khả năng cho đăng ký thuê bao một ứngdụng là điều kiện tối thiểu để đáp ứng tiêu
chuẩn cơ bảncủa SaaS, nhưng trong thực tế điều này là chưa đủ. Trong thực tế, một ứngdụng
SaaS cũng phải là một ứngdụngnhiềubên thuê.
Điều này là do các nhân tố suy cho cùng, đơn giản chỉ là kinh tế. Các CEO của các công ty SaaS
hàng đầu đồng ý, không thể phát triển một doanh nghiệp SaaS mà không có nhiềubên thuê.
(Xem phần bên cạnh).
Nhiều bênthuê là mức hiệu quả đối với SaaS
Tác động chính mang lại hiệu quả xuất phát từ nhiềubên thuê, khả năng giành chỗ cho nhiều
người dùngứngdụng khác nhau, đồng thời làm cho từng người dùng cảm thấy toàn bộ ứngdụng
đó là dành tất cả cho họ. Chúng ta quen với khái niệm này khi áp dụng nó cho những người dùng
cá nhân trên một hệ thống, nhưng nó hơi khác trong môi trường SaaS. Trong một ứngdụngSaaS
doanh nghiệp điển hình, những người dùng là các nhóm nhân viên của một tổ chức cụ thể và tổ
chức đó được gọi là bên thuê. Điều này là tương tự như những gì bạn sẽ thấy trong một ứngdụng
web đơn giản, nếu tổ chức đó mua ứng dụng; họ sẽ có một nhóm các nhân viên là những người
dùng ứngdụng và tổ chức này sẽ là chủ sở hữu. Trong một mô hình SaaS, tổ chức là một bên
thuê, không phải là một chủ sở hữu, nhưng các nhóm nhân viên vẫn là những người dùng. Mỗi
người dùng có một sự liên kết với một bênthuê (tổ chức) cụ thể và SaaS mang lại cho mỗi bên
thuê những trải nghiệm như đang sở hữu bản sao ứngdụng riêng của mình, để người dùngcủa
họ có thể sử dụng.
Ảo hóa trong các đám mây thúc đẩy SaaS
Sự khác biệt giữa một ứngdụngweb đơn giản và một ứngdụngSaaS chạy được với đám mây
bao gồm hai trong số các tính năng về tận dụng khả năng lớn nhất trong lĩnh vực công nghệ
thông tin hiện nay:
Nhiềubênthuê (đã được giới thiệu trước).
Sự ảo hóa phần cứng.
Trong khi nguồn gốc chính mang lại hiệu quả củaứngdụng là do khả năng nhiềubênthuê trong
kiến trúc ứng dụng, thì tác động thứ hai mang lại hiệu quả lại đến từ sự ảo hóa phần cứng. Đám
mây thực hiện tốt việc tận dụng giá trị nhờ làm tăng tỷ lệ phần trăm sử dụng một số lượng phần
cứng đã cho bằng cách dùng công nghệ ảo hóa để làm giảm khả năng không sử dụng, mà điều đó
chỉ có được khi sử dụng cách tiếp cận máy tính vật lý của trung tâm dữ liệu thông thường.
Ngoài ra, đám mây còn mang lại khả năng phân phối lại phần cứng một cách động cho ứngdụng
tùy theo nhu cầu về tài nguyên. Tính co giãn này, có thể trong ngắn hạn (phút) hoặc dài hạn
(tháng), giúp tách các quyết định về phần cứng ra khỏi từng ứngdụng đơn lẻ, mở rộng phạm vi
quyết định đối với một lượng lớn các ứng dụng, làm cho sự biến thiên từ tốn hơn và làm cho việc
đầu tư về phần cứng trở nên có thể dự báo được và dễ quản lý hơn.
Bây giờ chúng ta hãy xem xét toàn bộ các bước chung mà bạn cần thực hiện để chuyểnđổi một
ứng dụngweb truyền thống thành một ứngdụng chạy được trên SaaS.
Về đầu trang
Chuyển đổi các ứngdụngwebthànhSaaS
Để chuyểnđổiứngdụngwebcủabạnthànhứngdụngSaaSbạn phải làm bảy việc sau:
1. Ứngdụng phải hỗ trợ nhiềubên thuê.
2. Ứngdụng phải có một số mức tự đăng ký dịch vụ.
3. Phải có cơ chế thuê bao/tính cước hiện hành.
4. Ứngdụng phải có khả năng mở rộng một cách hiệu quả.
5. Phải có các chức năng hiện hành để theo dõi, cấu hình và quản lý ứngdụng và những bên
thuê.
6. Phải có một cơ chế hiện hành để hỗ trợ nhận dạng và xác thực người dùng duy nhất.
7. Phải có một cơ chế hiện hành để hỗ trợ một số mức tuỳ chỉnh cho từng bên thuê.
Hãy xem xét từng việc chi tiết hơn một chút.
Hỗ trợ nhiềubênthuê
Nhiều bênthuê là nhân tố then chốt quyết định hiệu quả SaaS. Thông thường một ứngdụng hỗ
trợ nhiều người dùng, nhưng với giả định rằng tất cả người dùng ấy trong cùng một tổ chức. Mô
hình này là ổn cho thế giới trước SaaS, ở đó một tổ chức sẽ mua một ứngdụng phần mềm để cho
các thành viên của nó sử dụng. Nhưng trong thế giới củaSaaS và đám mây, nhiều tổ chức sẽ
cùng sử dụngứngdụng đó; tất cả họ phải có khả năng cho phép tất cả những người dùngcủa
mình cùng truy cập nó, nhưng ứngdụng phải cho phép chỉ từng thành viên của riêng tổ chức đó
truy cập dữ liệu dành cho tổ chức của họ.
Chính khả năng có nhiều tổ chức (gọi là những bênthuê theo thuật ngữ của SaaS) này, cùng tồn
tại trên cùng một ứngdụng mà không làm ảnh hưởng đến sự an toàn dữ liệu của các tổ chức đó,
xác định ứngdụng đó là một ứngdụngnhiềubên thuê.
Có vài mức nhiềubênthuê (như đã thấy trong hình vẽ sau danh sách này):
1. Ẩo hóa đơn giản trong đám mây, ở đó chỉ chia sẻ phần cứng
2. Một ứngdụng với các cơ sở dữ liệu riêng biệt cho từng bên thuê.
3. Một ứngdụng và cơ sở dữ liệu được chia sẻ (hiệu quả cao nhất, nhiềubênthuê thực sự).
Các mô hình nhiềubênthuê
Người ta có thể biện luận rằng mô hình đầu tiên là không thực sự nhiềubênthuê chút nào, nhưng
nó thường được sử dụng trong một đám mây có các máy chủ ảo hóa và được quảng cáo như là
một dạng nhiềubên thuê. Trong thực tế, điều này chưa đủ, và chỉ có lợi thế rất nhỏ so với mô
hình ASP cũ có phần cứng dành riêng.
Mức hiệu quả nhất là trong đó ứngdụng hoàn toàn chia sẻ một cơ sở dữ liệu và logic nghiệp vụ
ứng dụng. Đạt được điều này có thể là một quá trình khó khăn đòi hỏi nhiều thay đổi trong lược
đồ cơ sở dữ liệu để thêm một mã định danh bênthuê vào mỗi bảng và khung nhìn, cũng như viết
lại mọi truy cập SQL để thêm tiêu chí bênthuê cho các bộ lọc. Việc thiếu một đoạn trong mã
nguồn ở nơi cần phải có, có thể ảnh hưởng đến sự an toàn dữ liệu củaứng dụng.
Ngoài các trường hợp truy cập dữ liệu xảy ra trong ứng dụng, có thể có các ứngdụng khác như
là các trình viết báo cáo hoặc các ứngdụng tiện ích cũng phải được sửa đổi để bao gồm việc lọc
bên thuê cần thiết để giữ cho dữ liệu của những bênthuê riêng biệt chỉ có thể truy cập được bởi
những bênthuê cụ thể đó. Loại truy cập không trực tiếp từ bản thân ứngdụng sẽ nảy sinh ra các
vấn đề cần phải được kiểm soát. Nếu bất kỳ người dùng có thẩm quyền nào đó có thể viết một
báo cáo, thì cần phải ngăn chặn họ không truy cập vào dữ liệu không thuộc về bênthuê mà họ là
thành viên của nó.
Tự đăng ký dịch vụ
Ứng dụngcủabạn phải có sẵn một số mức tự đăng ký dịch vụ, thậm chí nếu nó chỉ đơn giản là
một cơ chế yêu cầu dẫn đến một quy trình nghiệp vụ để thêm một bênthuê vào ứng dụng.
Thuê bao và tính cước
Bạn phải đưa ra một cơ chế thuê bao và tính cước. Do các ứngdụngSaaS theo thiết kế liên quan
đến một loạt các khoản thanh toán dựa trên các yếu tố như số lượng người dùng cho mỗi bên
thuê, các tùy chọn ứng dụng, và có lẽ cả khoảng thời gian sử dụng, nên phải có một cách để theo
dõi và quản lý việc sử dụngứngdụng và tạo ra các thông tin tính cước để cho các nhà quản trị
của bênthuê có thể truy cập.
Mở rộng và quản lý ứngdụng
Bạn phải có khả năng mở rộng khi các thuê bao phát triển. Cơ sở hạ tầng đám mây là một cách
hợp lý để làm điều này vì nó thể hiện nhiều khả năng mà bạn sẽ cần để mở rộng năng suất và
hiệu quả.
Ngoài ra, bạn phải cung cấp chức năng quản trị và quản lý ứngdụng để theo dõi, cấu hình và
quản lý ứngdụng và tất cả những bên thuê.
Mã định danh (ID) người dùng và xác thực
Bạn cần phải cung cấp một cơ chế để hỗ trợ định danh người dùng và xác thực cho phép nhận
dạng duy nhất những người dùng. Vì khả năng nhiềubênthuêđòi hỏi tất cả những người dùng
đăng nhập vào hệ thống được nhận dạng để xác định xem họ thuộc về bênthuê nào, phải có một
mối quan hệ đáng tin cậy để cho phép những người dùng được nhận dạng thuộc về một bênthuê
cụ thể. Mối quan hệ người dùng-của-bên thuê là thông tin then chốt được sử dụng để hạn chế dữ
liệu mà người dùng có thể truy cập.
Các địa chỉ email là một cách điển hình để làm điều này sao cho tính duy nhất được bảo đảm và
có thể công nhận và xác định các cá nhân là thuộc về một bênthuê cụ thể.
Có nhiều cơ chế xác thực và các phương thức tích hợp với chúng, vì vậy một cơ chế linh hoạt để
cho phép một người dùng được nhận dạng là điều căn bản nhất. Thông thường là một bênthuê
cụ thể cần có khả năng sử dụng dịch vụ LDAP hiện có của họ hoặc dịch vụ danh mục hoặc một
cơ chế xác thực khác để hỗ trợ đăng nhập một lần vào ứngdụng SaaS. Mặc dù loại hình xác thực
người dùng từ bên ngoài này là quan trọng, nhưng việc xác minh người dùng đã định danh là một
thành viên củabênthuê mà họ tuyên bố, vẫn là trách nhiệm củaứngdụng SaaS.
Tùy chỉnh cho mỗi bênthuê
Bạn phải đưa ra một cơ chế để hỗ trợ một mức tuỳ chỉnh cơ bản cho mỗi bênthuê để họ có thể
có một URL duy nhất, trang đích đến, các biểu trưng, lược đồ màu sắc, phông chữ, và có lẽ cả
ngôn ngữ nữa.
Người ta hy vọng nhận được mức cơ bản này của cấu hình cho mỗi bên thuê, nhưng để thực sự
đáp ứng các nhu cầu củanhiềubên thuê, thì đó chắc chắn sẽ là một nhu cầu tùy chỉnh cho mỗi
bên thuê muốn đi sâu hơn các mức cơ bản.
Các tùy chỉnh tiêu biểu cần thiết cũng tương tự như loại các tùy chỉnh mà bênthuê thực hiện với
một phiên bản nội bộ củaứng dụng. Chúng có thể bao gồm việc thêm các trường bổ sung hoặc
thậm chí là các bảng, thiết lập logic nghiệp vụ đặc biệt, hoặc tích hợp với ứngdụng khác. Việc
có khả năng thực hiện các loại tùy chỉnh này trên cơ sở cho mỗi bênthuê mà không phải thiết lập
một trường hợp riêng biệt có ảnh hưởng đến hiệu quả của thiết kế nhiềubênthuê là dấu hiệu chất
lượng của kiến trúc SaaS có khả năng cao.
Về đầu trang
Các vấn đề hiệu năng cần xem xét
Các vấn đề hiệu năng đối với các ứngdụngSaaSnhiềubênthuê thường cũng giống như đã thấy
với ứngdụngweb bất kỳ đang cung cấp cùng số lượng người dùng với cùng một mức độ hoạt
động. Có nhiều cách làm thực tế tốt nhất để đối phó với nhu cầu về khả năng ngày càng tăng
trong các ứngdụng web, nói chung tất cả những cách này đều có khả năng áp dụng cho các ứng
dụng SaaSnhiềubên thuê. Những kỹ thuật này thường bao gồm việc mở rộng theo chiều ngang
và theo chiều dọc và cân bằng tải trên một tập hợp các máy chủ.
Mở rộng theo chiều ngang/dọc
Các khả năng của cơ sở hạ tầng đám mây đưa ra nhiều cơ hội để làm cho kiểu khả năng mở rộng
này xảy ra động và theo một cách tự động, để cung cấp tài nguyên khi cần thiết và thu gọn bớt tài
nguyên khi có thể đáp ứng các thỏa thuận mức dịch vụ hiệu năng (SLAs) với ít tài nguyên hơn.
Khả năng co giãn là một cái gì đó có thể được điều chỉnh để đáp ứng theo cách chính xác cần
thiết để cung cấp các dịch vụ mà không cần cung cấp thêm tài nguyên vẫn chưa khai thác hết:
Việc mở rộng theo chiều ngang thường được áp dụng cho tầng máy chủ ứng dụng.
Việc mở rộng theo chiều dọc thường được áp dụng cho tầng cơ sở dữ liệu.
Phân cụm cơ sở dữ liệu
Với các ứngdụng SaaS, tổng số người dùng có thể rất cao đối với một sản phẩm thành công; có
lúc việc mở rộng cơ sở dữ liệu theo chiều dọc có thể không phải là giảipháp tối ưu. Nhiều công
nghệ cơ sở dữ liệu có khả năng cung cấp một mô hình cơ sở dữ liệu có phân cụm cho phép tạo ra
nhiều khả năng hơn với cùng một cơ sở dữ liệu. DB2® có một số tùy chọn hoạt động tốt với mô
hình này và có thể sử dụng chúng để tạo ra một cụm cơ sở dữ liệu.
Vị trí địa lý, phân vùng, và đồng bộ hóa
Tuy nhiên có các kỹ thuật khác có thể thích hợp hơn tùy thuộc vào ứngdụngSaaS và quần thể
người sử dụng nó. Do SaaS vốn có khả năng truy cập từ bất cứ đâu trên thế giới, nên quần thể
người sử dụng có thể ở rất xa; khoảng cách này có thể gây ra những suy giảm hiệu năng do cấu
trúc mạng quá dài.
Trong những trường hợp này sẽ có thể có lợi thế hơn nếu sử dụng các đám mây ở các vùng khác
nhau và phân vùng dữ liệu hoặc đồng bộ hóa sử dụng để duy trì tính nhất quán. Tùy chọn nào
trong các tùy chọn này là thích hợp sẽ phụ thuộc vào bản chất củaứngdụng cụ thể. Một số ứng
dụng sẽ không tuân theo những sự đồng bộ hóa đường dài.
Cơ sở dữ liệu riêng biệt
Tất nhiên, phương thức triệt để nhất (ít nhất cho một ứngdụng SaaS) để áp dụng khi khả năng
của cơ sở dữ liệu không thể đáp ứng các yêu cầu là thiết lập một cơ sở dữ liệu riêng biệt. Bất cứ
ai cần một ứngdụngSaaSnhiềubênthuê đều phải xem xét xem tùy chọn này có thể dẫn đến tình
trạng không duy trì được sự hỗ trợ một cơ sở dữ liệu cho mỗi bênthuê hay không, điều trực tiếp
dẫn đến kiểu thiếu khả năng mà nhiềubênthuê cần phải tránh.
Và nếu các máy chủ ứngdụng phải được phân chia để phục vụ chỉ một cơ sở dữ liệu, thì những
hiệu quả do nhiềubênthuê tiếp tục bị suy giảm dần. Trong một thị trường cạnh tranh, các hiệu
quả nhiềubênthuê là những yếu tố thành công trọng yếu đối với các công ty SaaS.
Thiết kế cứu giúp năng lực cân bằng tải
Một cách để duy trì hiệu quả cao nhất có thể, ngay cả khi cần phải sử dụng các cơ sở dữ liệu
riêng biệt vì bất cứ lý do gì, là phải có một thiết kế nhiềubênthuê có thể cho phép bất kỳ máy
chủ ứngdụng nào trong cụm cân bằng tải truy cập vào một cơ sở dữ liệu thích hợp khi có nhiều
cơ sở dữ liệu. Bằng cách này có thể duy trì hiệu quả của cụm cân bằng tải với tất cả các máy chủ
ứng dụng có khả năng kết nối tới bất kỳ cơ sở dữ liệu nào để phục vụ các phiên làm việc của
người dùng mà chúng đang hỗ trợ. Điều này duy trì mức hiệu quả cao nhất với ràng buộc nhiều
cơ sở dữ liệu.
Khả năng không phải là yêu cầu duy nhất
Có thể có các lý do chính đáng để có nhiều cơ sở dữ liệu, bên cạnh lý do về khả năng, chẳng hạn
như yêu cầu về một phiên bản cơ sở dữ liệu có mã hóa cho những bênthuê cần mức an toàn cao.
Có thể khả năng không phải là vấn đề, vì vậy điều quan trọng là có một thiết kế nhằm tối đa hóa
hiệu quả ở nơi có thể, ngay cả khi phải dùng một mô hình vốn đã kém hiệu quả.
Về đầu trang
Các vấn đề an toàn cần xem xét
Trong nhiều cuộc khảo sát liên tiếp, an toàn thường được liệt kê như là mối quan tâm cao nhất
của các thuê bao truy cập vào các ứngdụng SaaS, hoặc ít nhất cũng là rất gần mức cao nhất.
Không một nhà cung cấp SaaS nào có thể bỏ qua vấn đề an toàn. Nhưng thông thường, khái
niệm về an toàn dữ liệu chỉ được xem xét trong bối cảnh của chính ứngdụng SaaS.
Hầu hết các kiến trúc ứngdụngSaaS có các biện pháp bảo mật dữ liệu nhằm ngăn chặn không
cho bênthuê này nhìn thấy dữ liệu củabênthuê khác là một yêu cầu cơ bản. Nhưng:
Một khả năng quan trọng mà các ứngdụngSaaS phải có là tích hợp và tương tác với các
ứng dụng khác.
Một số trong những ứngdụng khác đó có thể là các ứngdụngbên ngoài (nhà cung cấp
SaaS không kiểm soát được).
Không phải tất cả các kiến trúc SaaS được thiết kế có tính đến khả năng truy cập dành
cho các ứngdụngbên ngoài.
Những ứngdụng khác đó có thể là các ứngdụng nội bộ cần truy cập hoặc chia sẻ dữ liệu; chúng
có thể là những công cụ phân tích và viết báo cáo, khai phá dữ liệu phát hiện các xu hướng.
Ngay cả các công cụ tiện ích được các nhà quản trị cơ sở dữ liệu sử dụng cũng có thể liên quan
đến vấn đề an toàn nếu những bênthuê có thể sử dụng chúng để truy cập, hoặc tệ hơn, thao tác
các dữ liệu không thuộc về họ.
Một kiến trúc thực tế tốt nhất cho SaaS phải tính đến việc là không phải tất cả các truy cập dữ
liệu có thể nằm dưới sự kiểm soát củaứng dụng; phải có cơ chế tại chỗ để cho phép dữ liệu được
bảo vệ cho mỗi bênthuê bất kể là việc truy cập thông qua ứngdụngSaaS hoặc thông qua một
ứng dụngbên ngoài nào đó.
Về đầu trang
Chọn chồng công nghệ củabạn
Luôn luôn có các thỏa hiệp khi bạn ra quyết định về các chồng công nghệ; trong một ứngdụng
SaaS điều này đặc biệt đúng bởi vì các quyết định được đưa ra cho tất cả những bên thuê. Chúng
ta hãy xem xét một số trong những lưu ý nàys.
Những lưu ý về hệ điều hành
Hệ điều hành trong các ứngdụngweb chắc là có liên quan ít nhất đến những người dùng vì sự
tương tác của họ là thông qua trình duyệt. Tuy nhiên, có những lưu ý về tài chính cũng như kỹ
thuật có thể cần tính đến:
Nếu có một phần phụ thuộc của một mã nguồn cụ thể nào đó là lệ thuộc vào hệ điều
hành, thì sự lựa chọn bị hạn chế.
Các lựa chọn cũng có thể bị hạn chế nếu có một nhu cầu chung về tích hợp với các ứng
dụng bên ngoài và việc tích hợp này được thực hiện tốt trên một hệ điều hành nào đó hơn
là trên những cái khác.
Quy luật kinh tế khắc nghiệt của đám mây sẽ luôn luôn thúc đẩy sự lựa chọn hướng đến một hệ
điều hành có phí giấy phép thấp hơn và hiệu năng tốt. Các biện pháp chính mở rộng các ứng
dụng web bao gồm việc mở rộng theo chiều ngang; điều này có nghĩa là khi ứngdụngSaaS phát
triển, tổng số các cá thể máy chủ ứngdụngweb sẽ tăng lên và đó là chi phí hoạt động trực tiếp.
Những lưu ý về cơ sở dữ liệu
Cơ sở dữ liệu trong các ứngdụngweb chắc cũng không phải là một mối quan tâm trọng yếu của
những người dùng cuối vì sự tương tác của họ là thông qua trình duyệt và miễn là các ứngdụng
có khả năng lưu trữ và lấy ra dữ liệu của họ, phần lớn là không liên quan đến họ.
Một lần nữa, những lưu ý về tài chính và kỹ thuật đụng đến các nhà phát triển ứng dụng. Nếu có
sự phụ thuộc củaứngdụng vào các tính năng cụ thể của một cơ sở dữ liệu, thì sự lựa chọn bị hạn
chế.
Việc lựa chọn cơ sở dữ liệu có thể rất quan trọng đối với một số lý do thiết kế ứngdụng và nó
cũng có thể bị ảnh hưởng vì các yêu cầu cụ thể của môi trường SaaS.
Các yêu cầu về cơ sở dữ liệu trong một ứngdụngSaaS là cao hơn, đơn giản là do số lượng người
dùng, những người cuối cùng sẽ ở trên mạng; vì thế khả năng mở rộng cơ sở dữ liệu rất quan
trọng. Khả năng mở rộng cơ sở dữ liệu thường được thực hiện trên một cá thể duy nhất với việc
sử dụng các máy chủ cơ sở dữ liệu càng ngày càng mạnh hơn cho ứngdụng có yêu cầu ngày
càng cao. Tuy nhiên, khả năng mở rộng cần phải có của các ứngdụngSaaS có tiềm năng vượt xa
các khả năng mở rộng theo chiều dọc, vì vậy bước tiếp theo trong khả năng mở rộng cơ sở dữ
liệu liên quan đến việc có khả năng phân cụm.
Khả năng để thực hiện kiểu phân cụm này trong môi trường đám mây có thể ảnh hưởng đến việc
lựa chọn cơ sở dữ liệu. Ví dụ, có thể lựa chọn DB2 vì khả năng chạy trên nhiều hệ điều hành,
cung cấp khả năng mở rộng theo chiều dọc và vì sự linh hoạt của nó về các lựa chọn cho khả
năng mở rộng thông qua phân cụm nhiều cá thể và dự phòng. Ví dụ, có thể thiết lập một cụm
DB2 HADR (Khôi phục sau sự cố có tính sẵn sàng cao) trong đám mây.
Những lưu ý về máy chủ ứngdụng
Việc lựa chọn máy chủ ứng dụng, giống như các quyết định khác về chồng công nghệ, cũng chủ
yếu là một quyết định của nhà phát triển ứngdụng SaaS, bởi vì các tương tác của người dùng
cuối chỉ thông qua trình duyệt. Nhưng có thể có những sự khác biệt quan trọng đối với một số lý
do thiết kế ứngdụng và nó cũng có thể bị ảnh hưởng vì các yêu cầu riêng biệt của môi trường
SaaS.
Các ứngdụng lợi dụng các tính năng đặc biệt hoặc các thành phần bổ sung thêm của các máy
chủ ứngdụng như WebSphere® sẽ cần phải sử dụng máy chủ ứngdụng đó trong đám mây.
Các lý do cơ bản để lựa chọn một máy chủ ứngdụng thường phải quyết định sớm, ngay đầu
vòng đờicủaứngdụng vì ứngdụng có thể lợi dụng một số tính năng đặc biệt hoặc những bổ
sung thêm củabên thứ ba hoặc các khả năng tích hợp quan trọng cho ứng dụng. Đôi khi chỉ đơn
giản là tri thức chuyên gia của tổ chức và các tiêu chuẩn nội bộ áp đặt phải sử dụng các thành
phần cụ thể nào đó của chồng công nghệ.
Điểm quyết định trong việc lựa chọn và cấu hình chồng công nghệ để sử dụng trong một môi
trường SaaS/đám mây là việc cân bằng các ảnh hưởng kỹ thuật và kinh tế để đạt được một kết
quả tốt.
Về đầu trang
Tính linh hoạt là chìa khóa để phát triển công nghệ
Việc có thể đưa ra các quyết định và những đánh đổi trong sử dụng chồng công nghệ và việc có
thể xem xét lại những quyết định đó sau này là một khả năng đáng giá trong kiến trúc SaaS. Do
các thay đổi về công nghệ, các nhà cung cấp đám mây hàng đầu sẽ kết hợp các ứngdụng trung
gian mới và các khả năng mới và việc có thể thích ứng tiếp nhận chúng cho ứngdụngSaaScủa
bạn chính là một lợi thế.
Các kiến trúc ứngdụngSaaS mà buộc bạn đưa ra các quyết định sẽ khóa chặt bạn vào một chồng
công nghệ cụ thể sẽ làm phương hại đến khả năng phát triển và thích ứngcủa một ứngdụng
SaaS. Các khái niệm then chốt của một kiến trúc hướng dịch vụ rất hợp với việc cung cấp sự
nhanh nhẹn và tính linh hoạt cần thiết cho các ứngdụng SaaS. Việc ghép lỏng tạo ra tính linh
hoạt và tính linh hoạt lại cho phép phát triển chiến lược và chiến thuật.
Trong phần còn lại của bài viết này, tôi sẽ được sử dụng Corent's Multi-Tenant Server™ (Máy
chủ nhiềubênthuêcủa Corent) để đưa ra một ví dụ về cách bạn có thể chuyểnđổi một ứngdụng
web mã nguồn mở Java™ để tính cước thành một phiên bảnSaaSnhiềubênthuê với nỗ lực ít
nhất.
Về đầu trang
Chuyển thànhứngdụngSaaS tự động bằng Corent's Multi-Tenant Server
Các nhà cung cấp đám mây đưa ra một dải rộng các khả năng và có thể cung cấp hầu hết ứng
dụng web bất kỳ. Để chuyểnđổi một ứngdụngthànhứngdụngSaaSnhiềubênthuê một cách
đầy đủ thường đòi hỏi những thay đổi rất lớn về mã ứngdụng và thiết kế lại và cấu hình lại cơ sở
dữ liệu.
Corent's Multi-Tenant Server cho phép các ISV (nhà cung cấp phần mềm độc lập) thực hiện các
cách tiếp cận khác nhau, bằng cách sử dụng một tầng trung gian để cung cấp tính năng nhiềubên
thuê trọng yếu (do đó bảo toàn được khoản đầu tư vào mã hiện có). Tôi sẽ mô tả bốn bước cần
thiết để chuyểnđổi jBilling, một ứngdụngweb Java mã nguồn mở phổ biến, là đại diện của một
ứng dụng một bênthuê điển hình, thành một phiên bảnSaaSnhiềubên thuê.
Bước 1. Chuyểnđổi lược đồ cơ sở dữ liệu sang một mô hình trừu tượng
Chồng công nghệ điển hình của một ứngdụngweb trông giống như Hình 1; một ứngdụng giao
tiếp với một cơ sở dữ liệu, thường là thông qua một tầng lưu giữ dữ liệu lâu bền như Hibernate.
Hình 1. Chồng ứngdụngweb điển hình trong đám mây
Để biến đổi một ứngdụngthành một ứngdụngnhiềubên thuê, cơ sở dữ liệu phải được thiết kế
lại để có thêm các trường để quản lý dữ liệu nhận dạng bên thuê, sẽ cần thiết để cho phép bên
thuê lọc dữ liệu.
Ứng dụng SaaS-Factory™ (Nhà máy SaaS) được sử dụng để đọc lược đồ của cơ sở dữ liệu ứng
dụng hiện có. Sau đó nó tạo ra một mô hình của cơ sở dữ liệu đó rồi sử dụng nó để tạo ra một cơ
sở dữ liệu mới trong MySQL có thêm trường TenantID trong các bảng. Tại thời điểm này một
số bảng bổ sung thêm được tạo ra, trong đó có một bảng chứa thông tin bênthuê mà Multi-
Tenant Server sử dụng.
[...]... nhiều phương pháp xác thực cho các ứng dụng; do đó bất kỳ ứngdụng nào được chuyểnđổi cũng phải được phân tích và phải hiểu rõ về các phương thức xác thực của nó Máy chủ nhiềubênthuêcủa Corent Máy chủ nhiềubênthuêcủa Corent (Corent's Multi-Tenant Server) cho phép khách hàng của chúng ta nhanh chóng chuyểnđổi các ứng dụngweb một bênthuê hiện có thành các giảiphápSaaSnhiềubênthuê đầy đủ,... trở thành những bênthuê Máy chủ nhiềubênthuê (Multi-Tenant Server) đi kèm với SaaS- Cockpit™ (Buồng lái SaaS) cho phép bạn cung cấp, quản lý và theo dõi khách hàng SaaScủa bạn, và cũng kèm với SaaSFactory™ (Nhà máy SaaS) cho phép các tùy chỉnh cho từng bênthuê và tăng cường ứngdụngSaaScủabạn Với bộ các giảiphápcủa Corent, việc chuyểnđổithànhSaaS cho các ứngdụng có thể được tăng tốc đáng... ứngdụng đã chọn Máy chủ nhiềubênthuê làm việc với bất kỳ thùng chứa J2EE Servlet hiện đại nào và đã được chứng thực cho Máy chủ ứng dụng WebSphere (WebSphere Application Server) Bây giờ ứngdụng được triển khai có khả năng xử lý nhiềubênthuê Tuy nhiên, ứngdụngban đầu sẽ không có một giao diện quản trị và quản lý để quản lý nhiềubênthuê hoặc để theo dõi một ứngdụngnhiềubênthuê Nhà máy SaaS. .. cung cấp một số lượng hạn chế các ứng cử viên đủ tiêu chuẩn để chuyểnđổi kiểm nghiệm nguyên lý (Proof-of-Concept) miễn phí, sẽ chuyểnđổi một ứng dụngwebcủa ISV thành một giảiphápSaaSnhiềubênthuê chạy trong đám mây SBDT của IBM (IBM SBDT Cloud), và cho phép ISV thử điều khiển giảiphápSaaS kết quả Bước 1 đã giới thiệu cho các bạn cách thiết lập một bảng các bênthuê và thêm một bảng người dùng... ứngdụng cho mỗi bênthuê khác nhau đã có sẵn Ngoài ra còn có các phương tiện quản trị để theo dõi và lập báo cáo về các bênthuê và người dùngcủa họ Do một trong các đặc điểm chung của các ứngdụngSaaS là cần theo dõi các thuê bao và tính cước bên thuê, nên cũng có sẵn các phương tiện để tính cước hoặc tích hợp với hệ thống tính cước bên ngoài Hình 4 Cấu trúc để triển khai ứngdụngSaaS mới của bạn. .. ứngdụngSaaS Các đặc điểm của các ứngdụng vẫn còn nguyên sau khi chuyểnđổi và các kiểu kịch bản triển khai tiêu chuẩn, bao gồm cả việc sử dụng các công cụ quản lý đám mây để tạo ra các khuôn mẫu và lan truyền các cá thể của ứng dụng, có thể được sử dụng để triển khai một kiến trúc vận hành đáp ứng các nhu cầu của ứngdụng về khả năng mở rộng, tính co giãn, khả năng phục hồi và dự phòng Một ứng dụng. .. các ứngdụng Corent đưa ra cách tiếp cận hiệu quả nhất và chi phí thấp cho tính năng nhiềubênthuêGiảipháp phần mềm trung gian cắm thêm cho tính năng nhiềubênthuê này là một giảipháp an toàn, có khả năng mở rộng, làm giảm đáng kể chi phí phân phối dịch vụ Bạn có sự linh hoạt để lựa chọn chồng công nghệ ưa thích của mình, cho phép bạn sử dụng hệ điều hành, máy chủ cơ sở dữ liệu và máy chủ ứng dụng. .. hoạt của Máy chủ nhiềubênthuê (Multi-Tenant Server), bạn có thể chọn cách để triển khai ứngdụngSaaScủa mình, nội bộ hoặc trên bất kỳ loại đám mây nào Điều này cho phép triển khai các ứngdụngSaaS như các dịch vụ công cộng hoặc như một Private SaaS (SaaS riêng tư) để cung cấp các dịch vụ cho một nhóm người dùng hạn chế, ví dụ như một doanh nghiệp lớn có nhiều bộ phận trở thành những bên thuê. .. liệu củaứngdụng Mục đích là để thực hiện một phương thức sẽ mở rộng quá trình xác thực người dùngứngdụng để cho khi một người dùng đăng nhập vào, anh ta cũng khớp với bênthuê tương ứngcủa mình và TenantID trở thành một phần của thông tin phiên làm việc Có nhiều cách để thực hiện điều này, nó phụ thuộc vào việc triển khai thực hiện ứngdụng Nếu sử dụng Tomcat như là thùng chứa servlet củaứng dụng, ... thay đổi chồng công nghệ bằng cách chọn một RDBMS khác, có thể là DB2 để tận dụng một số tính năng hay hiệu năng tốt hơn cho các ứngdụngcủa chúng Bước 2 Mở rộng quá trình xác thực người dùng Bất kỳ ứngdụngSaaSnhiềubênthuê nào cũng phải có khả năng quản lý các thông tin phiên làm việc cần thiết của những người sử dụng đã xác thực để có thể xác định người sử dụng ấy thuộc bênthuê nào Có nhiều . web thành SaaS
Để chuyển đổi ứng dụng web của bạn thành ứng dụng SaaS bạn phải làm bảy việc sau:
1. Ứng dụng phải hỗ trợ nhiều bên thuê.
2. Ứng dụng phải. Chuyển đổi ứng dụng web của bạn thành giải pháp
SaaS nhiều bên thuê
Ứng dụng web điển hình so với SaaS
Đặc trưng trọng tâm xác định một SaaS là