Content area

Abstract

Scalability of a cloud application is the ability of an application that handles the service level agreement (SLA) requirements for all customers. In a non-isolated SaaS system, the different clients of a SaaS can freely use the resources of the SaaS. Hereby, disruptive tenants who exceed their limits can easily cause degradation of performance of the provided services for other tenants. To ensure performance demands of the multiple tenants usually elasticity of the SaaS is needed, which supports changing the hardware resources. In case the users’ demand change, the system can scale itself up or down according to the minimum necessary computational power to handle all the requests within the minimum requirements of SLA. The main goal of elasticity, however, is not directly to support performance isolation but scalability of the SaaS in general. As such, relying only on elasticity does not explicitly solve the problem of performance isolation.

Performance isolated systems aim to ensure the minimum requirements of the SLA to all of the customers. Ensuring the fair behavior with respect to customers is a need for building a performance isolated system. Various performance isolation approaches have been introduced including artificial delay, round robin, blacklist, and thread pool. However, these approaches assume a SaaS system with thin clients whereby all the tasks are handled by the SaaS.

This thesis introduces the “Tork Framework”, for developing scalable and performance isolated enterprise SaaS applications. Tork Framework provides a new way for developing a cloud application from scratch or converts existing software applications to scalable cloud applications. Tork Framework introduces built-in features applicable for the application layer, database layer and client layer. These features include techniques for security controls, logging, and multi-tenancy on relational database management systems (RDMS). Built-in server components of Tork Framework provide service oriented architecture for all business objects in the RDMS, and client components make the application work on different platforms. Also, this framework provides a cloud based IDE for configuring parameters and writing custom codes without the need of any other individual tool via online graphical user interface (GUI).

The framework as such provides an approach for supporting the design and realization of performance isolated cloud system by also considering the usage of resources of thick clients. To illustrate the framework and validate our approach we have adopted a real SaaS environment in which a case study is implemented using the Tork framework. Different Implemented performance isolation techniques are tested in this case study using both thin and thick client types.

Alternate abstract:

Bir bulut yazılımının ölçeklenebilir olması için, herhangi bir müşterisinden herhangi bir zamanda gelen isteklere vereceği cevabı servis sözleşmesinde belirtilen kriterler içerisinde yapabilmesi gerekir. İzole olmamış bir servis yazılımında farklı müşteriler yazılım aracılığıyla sunucuya istek yollayarak, sunucunun donanımsal gücünü meşgul edebilirler. Donanımsal gücün aşırı istek gönderen kullanıcılar tarafından meşgul edilmesi sistem performansının düşmesine sebep olur ve düşen bu performanstan diğer kullanıcılar da olumsuz olarak etkilenirler. Müşterilerden gelebilecek yoğunluklara karşı sistem performansını iyi durumda tutabilmek için genellikle bulut yazılımlarında esneklik kavramı kullanılır. Ancak esneklik kavramı sistemin daha fazla donanımla birleşmesini sağlayarak performansın arttırılması veya daha az donanımın kullanılarak performansın azaltılması olarak kullanılabilir. Gereken donanım miktarını müşteriyle yapılan servis anlaşması belirleyebilir, ancak bu durum yine de performansın yalıtımını sağlayan bir çözüm değildir.

Performans yalıtımıyapılmış olan sistemlerde amaç, müşterilerle yapılan servis anlaşmalarındaki minimum gereksinimlerin müşteriye mevcut donanımlarla sağlanabilmesidir. Bir sisteme performans yalıtımıuygulayabilmek için öncelikle bu sistemdeki kullanıcıların adil kullanım ilkelerine uymasını sağlamak gerekir. Bu ilkelere bağlı olarak farklı performans yalıtımıuygulayan yöntemler geliştirilmiştir. Bu yöntemler sanal bekletme, sırası gelene cevaplama, kara listeye alma ve işlem havuzu yöntemleridir. Ancak bu yöntemler hizmet yazılımlarında bulunan müşterilerin zayıf donanıma sahip olduğu varsayımıyla geliştirilmişlerdir.

Bu tez Tork Yazılım Geliştirme Platformu’nu tanıtmaktadır. Bu platform ile ölçeklenebilir ve performans yalıtımısağlayan hizmet yazılımları geliştirebilmek mümkün olmaktadır. Bu platform yeni bir yöntem ile en başından bir bulut tabanlı yazılım geliştirebilmeyi veya mevcutta olan bir yazılımı bulut tabanlı ölçeklenebilir bir yazılma dönüştürebilmeyi sağlar. Platform aynı zamanda veri tabanı, uygulama havuzu ve istemci tarafları için yazılım geliştirme kütüphanesi sağlamaktadır. Bu kütüphane sayesinde düzenlenen yazılımın güvenlik, işlem geçmişi tutma, veri tabanları için çoklukiracı altyapısı kullanabilme gibi özellikleri otomatik olarak sağlanabilmektedir. Bu özellikler nesne tabanlı bir mimaride geliştirilmiş ve istemci tarafının da farklı platformlarda da çalışabilecek bir yapıda çalışabilmesi sağlanmıştır. Aynı zamanda platformda bulunan bütünleşmiş yazılım geliştirme ortamı sayesinde yazılımın ayarlamaları ve yazılım mantığında değişecek yerler için kod yazabilmek mümkündür. Dolayısıyla yazılımı geliştirmek için sağlanan çevrimiçi, grafiksel kullanıcı ara yüzü, geliştiricileri başka bir yazılım geliştirme aracına ihtiyaç duymadan yazılımları geliştirebilmelerini sağlar.

Bu platform yazılım tasarımını ve performans yalıtımıgerçekleştirebilen; aynı zamanda güçlü donanımsal istemcilerle çalışırken gereken işgücünü bu donanımlara yükleyebilmeye olanak sağlayan bir araçtır. Bu platform anlatmak ve kullanılan yöntemleri de onaylamak amacıyla örnek bir bulut yazılımının test edilmesi olayı ele alınmıştır. Bu yazılımın kullandığı farklı yalıtım teknikleri bu örnek olay üzerinde zayıf ve güçlü istemci senaryolarıyla test edilip değerlendirilmiştir.

Details

Title
Application Framework for Supporting Performance Isolation in Software as a Service Systems
Author
Oral, Orhun Alp
Publication year
2015
Publisher
ProQuest Dissertations & Theses
ISBN
979-8-209-97915-9
Source type
Dissertation or Thesis
Language of publication
English
ProQuest document ID
2652590722
Copyright
Database copyright ProQuest LLC; ProQuest does not claim copyright in the individual underlying works.