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à khả năng cho phép khách hàng sử dụng một ứng dụ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 ứng dụng SaaS. Nhiều bên thuê là chìa khóa để SaaS thành công

pdf17 trang | Chia sẻ: lylyngoc | Ngày: 13/03/2015 | Lượt xem: 1037 | Lượt tải: 0download
Bạn đang xem nội dung tài liệu Chuyển đổi ứng dụng web của bạn thành giải pháp SaaS nhiều bên thuê, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
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à khả năng cho phép khách hàng sử dụng một ứng dụ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 ứng dụng SaaS. Nhiều bên thuê là chìa khóa để SaaS thành công Thống nhất: SaaS cần nhiều bên thuê Nhiều bên thuê là một yêu cầu để cho một nhà cung cấp SaaS thà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ều bê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ủa nhiều bê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ều bên thuê). Nhiều bên thuê 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ên thuê 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ên thuê 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 ứng dụng là điều kiện tối thiểu để đáp ứng tiêu chuẩn cơ bản của SaaS, nhưng trong thực tế điều này là chưa đủ. Trong thực tế, một ứng dụng SaaS cũng phải là một ứng dụng nhiều bê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ều bên thuê. (Xem phần bên cạnh). Nhiều bên thuê 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ều bên thuê, khả năng giành chỗ cho nhiều người dùng ứng dụng khác nhau, đồng thời làm cho từng người dùng cảm thấy toàn bộ ứng dụ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 ứng dụng SaaS 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 ứng dụ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 ứng dụ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ên thuê (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 ứng dụng riêng của mình, để người dùng củ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 ứng dụng web đơn giản và một ứng dụng SaaS 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ều bên thuê (đã đượ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 ứng dụng là do khả năng nhiều bên thuê 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 ứng dụ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 ứng dụ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ụng web truyền thống thành một ứng dụng chạy được trên SaaS. Về đầu trang Chuyển đổi các ứng dụng 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 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. Ứng dụ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ý ứng dụ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ều bên thuê Nhiều bên thuê là nhân tố then chốt quyết định hiệu quả SaaS. Thông thường một ứng dụ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 ứng dụ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ủa SaaS và đám mây, nhiều tổ chức sẽ cùng sử dụng ứng dụng đó; tất cả họ phải có khả năng cho phép tất cả những người dùng của mình cùng truy cập nó, nhưng ứng dụ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ên thuê theo thuật ngữ của SaaS) này, cùng tồn tại trên cùng một ứng dụ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 ứng dụng đó là một ứng dụng nhiều bên thuê. Có vài mức nhiều bên thuê (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 ứng dụng với các cơ sở dữ liệu riêng biệt cho từng bên thuê. 3. Một ứng dụng và cơ sở dữ liệu được chia sẻ (hiệu quả cao nhất, nhiều bên thuê thực sự). Các mô hình nhiều bên thuê Người ta có thể biện luận rằng mô hình đầu tiên là không thực sự nhiều bên thuê 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ều bê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 đó ứng dụ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ên thuê 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ên thuê 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 ứng dụng khác như là các trình viết báo cáo hoặc các ứng dụ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ên thuê riêng biệt chỉ có thể truy cập được bởi những bên thuê cụ thể đó. Loại truy cập không trực tiếp từ bản thân ứng dụ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ên thuê mà họ là thành viên của nó. Tự đăng ký dịch vụ Ứng dụng của bạ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ên thuê 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 ứng dụng SaaS 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 ứng dụng và tạo ra các thông tin tính cước để cho các nhà quản trị của bên thuê có thể truy cập. Mở rộng và quản lý ứng dụ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ý ứng dụng để theo dõi, cấu hình và quản lý ứng dụ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ều bên thuê đò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ên thuê 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ên thuê 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ên thuê 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ên thuê 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 ứng dụ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ủa bên thuê mà họ tuyên bố, vẫn là trách nhiệm của ứng dụng SaaS. Tùy chỉnh cho mỗi bên thuê 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ên thuê để 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ủa nhiều bê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ên thuê 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 ứng dụ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ên thuê 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ều bên thuê 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 ứng dụng SaaS nhiều bên thuê thường cũng giống như đã thấy với ứng dụng web 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 ứng dụ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 SaaS nhiều bê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 ứng dụ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ải phá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 ứng dụng SaaS 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 ứng dụ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 ứng dụ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 ứng dụng SaaS nhiều bên thuê đề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ên thuê hay không, điều trực tiếp dẫn đến kiểu thiếu khả năng mà nhiều bên thuê cần phải tránh. Và nếu các máy chủ ứng dụ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ều bên thuê 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ều bên thuê 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ều bên thuê có thể cho phép bất kỳ máy chủ ứng dụ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ên thuê 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 ứng dụ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 ứng dụng SaaS. Hầu hết các kiến trúc ứng dụng SaaS có các biện pháp bảo mật dữ liệu nhằm ngăn chặn không cho bên thuê này nhìn thấy dữ liệu của bên thuê 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 ứng dụng SaaS 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 ứng dụng khác đó có thể là các ứng dụng bê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 ứng dụng bên ngoài. Những ứng dụng khác đó có thể là các ứng dụ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ên thuê 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ên thuê bất kể là việc truy cập thông qua ứng dụng SaaS hoặc thông qua một ứng dụng bên ngoài nào đó. Về đầu trang Chọn chồng công nghệ của bạ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 ứng dụ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 ứng dụng web 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 ứng dụng SaaS phát triển, tổng số các cá thể máy chủ ứng dụng web 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 ứng dụng web 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 ứng dụ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 ứng dụ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ế ứng dụ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 ứng dụng SaaS 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 ứng dụ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 ứng dụng SaaS 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ẵ