This paper discusses cloud application services (SaaS) and emphasizes that a SaaS application's data architecture should be robust, secure, efficient, cost-effective, and highly manageable. It argues that multi-tenancy and a meta-data driven architecture can address these issues. The paper outlines three approaches to multi-tenant data management and describes concepts like a meta-data driven reference architecture and conceptual data model. It also compares green field SaaS implementation to migrating an existing application to a SaaS model, noting the latter requires more assessment.
Cloud computing is a sort of dispersed registering over the web i.e. it can run a venture or
application on more than one PC meanwhile. It is isolated into three classes to be specific: (i) IaaS (ii)
PaaS and (iii) SaaS Software as a service is a sort of administration which gives numerous advantages to
the administration shoppers. A tweaked quality model is important to assess the nature of SaaS cloud
services. The paper perceives the segments of SaaS. The ordinary model does not consider components
of SaaS like security and nature of organization. Along these lines, in this paper, we come out with
another model for the security, nature of services, and programming quality for programming as an
administration. Also the results are used as recognizing verification for the SaaS quality organization.
Cloud computing is a technique that has a great capabilities and benefits for users. Cloud characteristics
encourage many organizations to move to this technology. But many consideration faces transmission
process. This paper outline some of these considerations and considerable efforts solved cloud scalability
issues.
API Enablement on Mainframes. How to API enable mainframe applications & services. How to integrated mainframe services and applications to mobile, cloud and external apps. This white paper covers couple of patterns to API enable mainframe based applications and services.
The initial promise of cloud computing has rapidly become reality for many early adopters. Organizations that have moved to a cloud environment are seeing greater agility and cost savings through standardization, scalability, automation and self service.For many organizations, cloud has been the catalyst for more flexible infrastructures, competitive innovation and improved growth and profitability.
Cloud computing is a sort of dispersed registering over the web i.e. it can run a venture or
application on more than one PC meanwhile. It is isolated into three classes to be specific: (i) IaaS (ii)
PaaS and (iii) SaaS Software as a service is a sort of administration which gives numerous advantages to
the administration shoppers. A tweaked quality model is important to assess the nature of SaaS cloud
services. The paper perceives the segments of SaaS. The ordinary model does not consider components
of SaaS like security and nature of organization. Along these lines, in this paper, we come out with
another model for the security, nature of services, and programming quality for programming as an
administration. Also the results are used as recognizing verification for the SaaS quality organization.
Cloud computing is a technique that has a great capabilities and benefits for users. Cloud characteristics
encourage many organizations to move to this technology. But many consideration faces transmission
process. This paper outline some of these considerations and considerable efforts solved cloud scalability
issues.
API Enablement on Mainframes. How to API enable mainframe applications & services. How to integrated mainframe services and applications to mobile, cloud and external apps. This white paper covers couple of patterns to API enable mainframe based applications and services.
The initial promise of cloud computing has rapidly become reality for many early adopters. Organizations that have moved to a cloud environment are seeing greater agility and cost savings through standardization, scalability, automation and self service.For many organizations, cloud has been the catalyst for more flexible infrastructures, competitive innovation and improved growth and profitability.
Today Cloud computing is used in a wide range of domains. By using cloud computing a user
can utilize services and pool of resources through internet. The cloud computing platform
guarantees subscribers that it will live up to the service level agreement (SLA) in providing
resources as service and as per needs. However, it is essential that the provider be able to
effectively manage the resources. One of the important roles of the cloud computing platform is
to balance the load amongst different servers in order to avoid overloading in any host and
improve resource utilization.
It is defined as a distributed system containing a collection of computing and communication
resources located in distributed data enters which are shared by several end users. It has widely
been adopted by the industry, though there are many existing issues like Load Balancing, Virtual
Machine Migration, Server Consolidation, Energy Management, etc.
Swiftly increasing demand of computational
calculations in the process of business, transferring of files
under certain protocols and data centers force to develop an
emerging technology cater to the services for computational
need, highly manageable and secure storage. To fulfill these
technological desires cloud computing is the best answer by
introducing various sorts of service platforms in high
computational environment. Cloud computing is the most
recent paradigm promising to turn around the vision of
“computing utilities” into reality. The term “cloud
computing” is relatively new, there is no universal agreement
on this definition. In this paper, we go through with different
area of expertise of research and novelty in cloud computing
domain and its usefulness in the genre of management. Even
though the cloud computing provides many distinguished
features, it still has certain sorts of short comings amidst with
comparatively high cost for both private and public clouds. It
is the way of congregating amasses of information and
resources stored in personal computers and other gadgets
and further putting them on the public cloud for serving
users. Resource management in a cloud environment is a
hard problem, due to the scale of modern data centers, their
interdependencies along with the range of objectives of the
different actors in a cloud ecosystem. Cloud computing is
turning to be one of the most explosively expanding
technologies in the computing industry in this era. It
authorizes the users to transfer their data and computation to
remote location with minimal impact on system performance.
With the evolution of virtualization technology, cloud
computing has been emerged to be distributed systematically
or strategically on full basis. The idea of cloud computing has
not only restored the field of distributed systems but also
fundamentally changed how business utilizes computing
today. Resource management in cloud computing is in fact a
typical problem which is due to the scale of modern data
centers, the variety of resource types and their inter
dependencies, unpredictability of load along with the range of
objectives of the different actors in a cloud ecosystem.
The existing concept of virtualization provides increased system utilization via virtual infrastructure and promotes resource
sharing across an organization. To maximize the effective use of resources, cloud computing is used which uses service oriented architecture
infrastructure with on demand provisioning of software, platform and infrastructure as service. Dynamic service management is achieved by
implementing the cloud where dynamically scalable resources are provided as a service over the internet. This can be viewed as an
extension of grid computing, combined with utility computing and autonomic computing which helps an organization in converting the
capital expenditure into utility expenditure. This paper focuses on the basics of cloud computing technology.
What is Infrastructure as a Service?, Comparison of Service Models, Why do we need IaaS?, Essential Characteristics of IaaS, Where IaaS May Not be the Best Option?, Cloud Deployment Models
https://notebookbft.wordpress.com/
[WSO2Con EU 2017] Integration Platform Strategy for Digital TransformationWSO2
Enterprise integration has been evolving for several decades and has been going through drastic changes. In this slide deck, we focus on the future trends in enterprise integration and how WSO2 integration addresses these needs.
Service Clouds are a key emerging feature of the Future Internet which will provide a basic platform through which it executes virtualized services. For effectively operating a cloud services there is a need to have a monitoring system which provides data on the actual usage and changes in the resources of the cloud and the services running in the cloud. Monitoring and managing cloud is a very different from monitoring and managing the individual servers. This paper will detail the different aspect of the monitoring and the parameters involved in monitoring of the cloud services.
Today Cloud computing is used in a wide range of domains. By using cloud computing a user
can utilize services and pool of resources through internet. The cloud computing platform
guarantees subscribers that it will live up to the service level agreement (SLA) in providing
resources as service and as per needs. However, it is essential that the provider be able to
effectively manage the resources. One of the important roles of the cloud computing platform is
to balance the load amongst different servers in order to avoid overloading in any host and
improve resource utilization.
It is defined as a distributed system containing a collection of computing and communication
resources located in distributed data enters which are shared by several end users. It has widely
been adopted by the industry, though there are many existing issues like Load Balancing, Virtual
Machine Migration, Server Consolidation, Energy Management, etc.
Swiftly increasing demand of computational
calculations in the process of business, transferring of files
under certain protocols and data centers force to develop an
emerging technology cater to the services for computational
need, highly manageable and secure storage. To fulfill these
technological desires cloud computing is the best answer by
introducing various sorts of service platforms in high
computational environment. Cloud computing is the most
recent paradigm promising to turn around the vision of
“computing utilities” into reality. The term “cloud
computing” is relatively new, there is no universal agreement
on this definition. In this paper, we go through with different
area of expertise of research and novelty in cloud computing
domain and its usefulness in the genre of management. Even
though the cloud computing provides many distinguished
features, it still has certain sorts of short comings amidst with
comparatively high cost for both private and public clouds. It
is the way of congregating amasses of information and
resources stored in personal computers and other gadgets
and further putting them on the public cloud for serving
users. Resource management in a cloud environment is a
hard problem, due to the scale of modern data centers, their
interdependencies along with the range of objectives of the
different actors in a cloud ecosystem. Cloud computing is
turning to be one of the most explosively expanding
technologies in the computing industry in this era. It
authorizes the users to transfer their data and computation to
remote location with minimal impact on system performance.
With the evolution of virtualization technology, cloud
computing has been emerged to be distributed systematically
or strategically on full basis. The idea of cloud computing has
not only restored the field of distributed systems but also
fundamentally changed how business utilizes computing
today. Resource management in cloud computing is in fact a
typical problem which is due to the scale of modern data
centers, the variety of resource types and their inter
dependencies, unpredictability of load along with the range of
objectives of the different actors in a cloud ecosystem.
The existing concept of virtualization provides increased system utilization via virtual infrastructure and promotes resource
sharing across an organization. To maximize the effective use of resources, cloud computing is used which uses service oriented architecture
infrastructure with on demand provisioning of software, platform and infrastructure as service. Dynamic service management is achieved by
implementing the cloud where dynamically scalable resources are provided as a service over the internet. This can be viewed as an
extension of grid computing, combined with utility computing and autonomic computing which helps an organization in converting the
capital expenditure into utility expenditure. This paper focuses on the basics of cloud computing technology.
What is Infrastructure as a Service?, Comparison of Service Models, Why do we need IaaS?, Essential Characteristics of IaaS, Where IaaS May Not be the Best Option?, Cloud Deployment Models
https://notebookbft.wordpress.com/
[WSO2Con EU 2017] Integration Platform Strategy for Digital TransformationWSO2
Enterprise integration has been evolving for several decades and has been going through drastic changes. In this slide deck, we focus on the future trends in enterprise integration and how WSO2 integration addresses these needs.
Service Clouds are a key emerging feature of the Future Internet which will provide a basic platform through which it executes virtualized services. For effectively operating a cloud services there is a need to have a monitoring system which provides data on the actual usage and changes in the resources of the cloud and the services running in the cloud. Monitoring and managing cloud is a very different from monitoring and managing the individual servers. This paper will detail the different aspect of the monitoring and the parameters involved in monitoring of the cloud services.
SaaS Application Scalability: Best Practices from Architecture to Cloud Infra...riyak40
By crafting a versatile and modular architecture, adopting microservices, and integrating robust load balancing, to leveraging auto-scaling, monitoring, and statelessness, every phase of development presents an opportunity to build a more efficient, responsive, and resilient application.
What are cloud service models, advantage of IAAS, advantages of PAAS, advantage of SAAS, What are cloud service models, What is IAAS, What is PAAS, what is SAAS
International Journal of Computer Science, Engineering and Information Techno...ijcseit
Software as a Service (SaaS) becomes in this decade the focus of many enterprises and research. SaaS
provides software application as Web based delivery to server many customers. This sharing of
infrastructure and application provided by Saas has a great benefit to customers, since it reduces costs,
minimizes risks, improves their competitive positioning, as well as seeks out innovative. SaaS application is
generally developed with standardized software functionalities to serve as many customers as
possible.However many customers ask to change the standardized provided functions according to their
specific business needs, and this can be achieve through the configuration and customization provided by
the SaaS vendor.Allowing many customers to change software configurations without impacting others
customers and with preserving security and efficiency of the provided services, becomes a big challenge to
SaaS vendors, who are oblige to design new strategies and architectures. Multi-tenancy (MT) architectures
allow multiple customers to be consolidated into the same operational system without changing anything in
the vendor source code. In this paper, we will present how the configuration can be done on an ERP web
application in a Multi-Tenancy SaaS environment.
Software as a Service (SaaS) becomes in this decade the focus of many enterprises and research. SaaS
provides software application as Web based delivery to server many customers. This sharing of
infrastructure and application provided by Saas has a great benefit to customers, since it reduces costs,
minimizes risks, improves their competitive positioning, as well as seeks out innovative. SaaS application is
generally developed with standardized software functionalities to serve as many customers as
possible.However many customers ask to change the standardized provided functions according to their
specific business needs, and this can be achieve through the configuration and customization provided by
the SaaS vendor.Allowing many customers to change software configurations without impacting others
customers and with preserving security and efficiency of the provided services, becomes a big challenge to
SaaS vendors, who are oblige to design new strategies and architectures. Multi-tenancy (MT) architectures
allow multiple customers to be consolidated into the same operational system without changing anything in
the vendor source code. In this paper, we will present how the configuration can be done on an ERP web
application in a Multi-Tenancy SaaS environment
Software as a Service (SaaS) becomes in this decade the focus of many enterprises and research. SaaS
provides software application as Web based delivery to server many customers. This sharing of
infrastructure and application provided by Saas has a great benefit to customers, since it reduces costs,
minimizes risks, improves their competitive positioning, as well as seeks out innovative. SaaS application is
generally developed with standardized software functionalities to serve as many customers as
possible.However many customers ask to change the standardized provided functions according to their
specific business needs, and this can be achieve through the configuration and customization provided by
the SaaS vendor.Allowing many customers to change software configurations without impacting others
customers and with preserving security and efficiency of the provided services, becomes a big challenge to
SaaS vendors, who are oblige to design new strategies and architectures. Multi-tenancy (MT) architectures
allow multiple customers to be consolidated into the same operational system without changing anything in
the vendor source code. In this paper, we will present how the configuration can be done on an ERP web
application in a Multi-Tenancy SaaS environment.
1. WHAT ARE THE CLOUD APPLICATION (SAAS) SERVICES ?
Now a days the availability of reliable high speed broadband Internet access, service-oriented
architectures (SOAs), and the economic management of dedicated on-premises applications are
driving a transition toward the delivery of Cloud applications -
“Cloud applications or "Software as a Service (SaaS) applications deliver software as a service over the Internet,
eliminating the need to install and run the application on the customer's own computers and simplifying
maintenance and support, and equipped with decomposable applications , managed services , shared hardware /
software /admin resources and Web-based services”.
It’s a paradigm shift which imposes a new set of technical challenges. Existing application
frameworks are not designed and deployed to handle the SaaS challenges smoothly. This void leads
to new paradigm shift called platform as a service (PaaS) -
“Hosted application platforms are managed environments specifically designed to meet the unique challenges of
building Software as Service applications and deliver them more economically as compared to traditional
standalone deployments.”
DATA SECURITY - A MAJOR CONCERN FOR CLOUD APPLICATIONS
Trust, or lack of trust, is the number one factor blocking the adoption of SaaS. SaaS applications
provide customers with centralized, network-based access to data with much less overhead as
compared to using a locally-installed application.
In order to harness the power of SaaS, an enterprise must give up a level of control over its own data
and needs to trust the SaaS vendor to keep their data safe and away from snooping eyes.
To earn this trust, one of the highest priorities for prospective SaaS vendors is to create data
architecture that should be -
• Robust and secure to satisfy tenants or clients data security needs,
• Efficient and cost-effective to administer and maintain.
• Highly manageable by implementing multi-tenancy and meta data driven architecture as
fundamental design approach
Some obvious questions that arise are -
• Why multi-tenancy?
• Why meta-data driven architectures are the premier choice for implementing multi-tenancy?
Cloud application services (SaaS) – Multi-Tenant
Data Architecture
Shailesh Paliwal
Infosys Technologies Limited
The paper starts with a generic discussion on the cloud application services and security concerns then expands the
concepts with 3 main data management approaches of multi-tenant data management. After that paper describes
reference architecture including standard cloud computing taxonomy for meta-data driven architecture approach and
a conceptual data model to support the architecture. At the end it incorporates a comparison between green field
application verses existing application migration assessment for target Software as a Service (SaaS) environment.
2. RATIONALE
• The multi-tenancy architectural approach can benefit both application providers and users.
Operating just one application instance for multiple Enterprises yields tremendous cost benefits
for the provider as well as the tenants.
• Enterprises can customize an application as though they have their private application instance.
The application instance dynamically morphs for any particular tenant need.
• Instead of isolated silos of applications a multi-tenant application is one large community hosted
by the provider.
• There is much less development and maintenance cost due to just one platform (operating
system, database etc).
• Less administrative work and staff is needed for the shared hardware and software environment,
which leads to further cost savings.
• Tenants can operate in virtual isolation, by implementing virtualization.
• Because of a shared hardware and software stake, it is easy to manage the user access to various
applications and data, which leads to greater collaboration and integration with faster time to
market.
• Various sets of user population can provide feedback on application operations e.g query
responses , errors etc, which enables the provider to make improvements in common hardware
and software in order to benefit the entire user community at once.
• Some side benefits of multi-tenancy are quality services, user delight, and repeat business.
MULTI-TENANT DATA MANAGEMENT – 3 APPROACHES
The degree of isolation for a Software as a Service application can vary significantly depending on
business requirements. There are three main approaches, each of which lies at a different location in
the scale between isolation and sharing. Refer to Figure 1 below.
3. Figure.1. Multi-tenant Data management – 3 Approaches, each of which lies at a different location
in the scale between isolation and sharing
1. Separate DB : Least preferred as it is very much isolated and expensive
2. Shared DB – Separate Schema : Moderately preferred - it reduces the resource cost but with
a high maintenance cost
3. Shared DB – Shared Schema : Most preferred approach as DB and schema are shared – it reduces
the resource and maintenance cost by a large extent
MULTI-TENANT APPLICATIONS – CONCEPTS
DEFINITION
In order to achieve cost efficiencies in delivering same applications to various sets of users it is a vital
and obvious choice that an increasing number of applications are Multi-tenant instead of single-
tenant.
A Multi-tenant application should be able to satisfy the needs of multiple sub-organizations or sections
within the organization (multiple tenants), using the single, shared stake of software and hardware
4. resources and staff needed to manage (Figure 2).
Figure.2. A Multi-tenant application shares a single stack of resources both hardware and
software to cater multiple tenants (Organizations, sub-organizations , sections etc)
META-DATA-DRIVEN REFERENCE ARCHITECTURE
• A traditional static application is not capable of addressing unique challenges of multi-tenancy.
• A Multi-tenant application should be dynamic in nature, or polymorphic, to fulfill the specific
expectations of various tenants and their users.
• Application components need to be generated at runtime from meta-data—i.e. data about the
application itself.
• It should be a well-defined meta-data driven architecture (Figure. 3), with a separate component
for –
1. Runtime application data
2. Meta-data that describes the base functionality of an application
3. Meta-data that corresponds to each tenant specific data and customizations
• It enables the ability to independently update the core system, modify the core application, and
customize tenant-specific components with virtually no risk affecting others.
• In SaaS environments it’s a nightmare to manage a vast, frequently changing set of actual
database structures on behalf of each application and tenant. It is suggested to use “virtual”
database structures using a set of Meta-data, data, and pivot tables, as illustrated in Figure 4
below.
5. Figure.3. A virtual” database structures using a set of Meta-data, data, and pivot tables
CLOUD COMPUTING TAXONOMY FOR SAAS MODEL
Reference : The open group
The below Figure 4 shows the overall cloud computing taxonomy for SaaS Model. It covers horizontal
layers from Hardware, software, database, and application to the service provider layer and vertically
from service consumer, security, management to service developer layer.
6. Figure.4. SaaS Model Cloud Computing Taxonomy – Reference : The open group
META-DATA-DRIVEN REFERENCE DATA MODEL – CONCEPTUAL
As compared to managing a vast frequently changing set of actual database structures on behalf of
each application and tenant, it is advisable to manage “virtual” database structures using a set of
Meta-data, data, and pivot tables, as illustrated in Figure 5 below.
When tenants create custom application entities (i.e., custom tables), programmatically need to track
of Meta-data concerning the entities, their Attribute, relationships, and other entity definition
characteristics.
A few large database tables store the structured and unstructured data separately for all virtual
tables, and a set of related, specialized pivot tables in order to maintain data that makes the combined
data set fully functional.
7. Figure.5. Reference conceptual model consists of a set of Meta-data, data, and pivot tables that
allow for functional access to the actual data of “virtual” tables
GREEN FIELD SAAS IMPLEMENTATION VS EXISTING APPLICATION MIGRATION INTO
SAAS
Green Field SaaS implementation :
A Green Field SaaS implementation is comparatively simple and pretty straight forward as it requires
subscribing a new tenant or organization in SaaS application setup. SaaS Meta data driven reference
data model can support “N “number of tenants connected to a single SaaS application environment.
Existing application migration into SaaS :
An existing application migration into SaaS environment is not a simple task and requires a
comprehensive assessment for checking the feasibility of existing application migration into SaaS
multitenant application. Following the list of assessment suggested –
8. Application Assessment
Database - Degree of database extensibility in the AS IS application architecture.
GUI - Quality and degree of flexibility in the AS IS user interface.
Reporting - Evaluation of the quality and degree of flexibility in the reporting system.
Workflow - Does the existing application use workflow to enable customers to extend the functionality?
Usability – Predictability and ease of use of the existing Application.
Functionality - Size and complexity of the existing Application on S/M/E scale.
Customizable Business Logic – Are the customers enabled to add their own business logic in existing
system ?
Table.1. SaaS Multitenant application migration technical Assessment – Application
Operational Assessment
Architecture – AS IS architecture and gap analysis for migration to SaaS architecture.
Availability – Current SLAs for the existing application availability and any steps required to reach SaaS
minimum availability level of 99.9%.
Scalability - Scalability matrices of the existing application. Scalability targets in SaaS version of the
application.
Performance – AS IS performance SLAs and matrices (user response times) and the expected performance
SLAs and data centre transaction time in SaaS environment.
Security – Assessment of existing application security compliances targeting to the Internet based SaaS
application environment and Gap analysis.
Table.2. SaaS Multitenant application migration technical Assessment - Operational
9. SUMMARY
This paper emphasizes the following -
• The Data Architecture of a SaaS application should be robust , secure, efficient , cost-effective and
highly manageable. Multi-tenancy and meta-data driven architecture for SaaS applications is the
way out and able to address these key issues.
• By using multi-tenant and meta-data driven architecture Tenants can operate in virtual isolation
and dynamically morph for their particular need.
• Operating just one application instance hosted on shared hardware for multiple Enterprises
yields tremendous cost benefits for the provider, less administrative work, less development cost,
greater collaboration and integration with faster time to market. At the end of the day it results in
quality services, user delight, and repeat business.
• The design approaches and reference Meta-driven data model for multi-tenant applications
discussed in this paper can assure relative data security and trust while using various
approaches. A “shared schema shared database” approach is important for the success of the
SaaS application.
• In SaaS environments it’s a nightmare to manage a vast, frequently changing set of actual
database structures on behalf of each application and tenant. It is suggested to use “virtual”
database structures using a set of Meta-data, data, and pivot tables.
• Existing application migration into SaaS as compared to Green Field SaaS implementation
imposes lots of challenges and is not a simple task. It requires a comprehensive assessment for
checking the feasibility of existing application migration into SaaS multi-tenant environments.
This paper also covers the detailed assessment parameters.
DISCLAIMER
The author has taken great care while coming up with the contents of this paper, but any and all
responsibility for any loss, damage or destruction of data or any other property which may arise from
relying on the paper is explicitly disclaimed. The authors are not liable for monetary damages arising
from such loss, damage or destruction.
REFERENCES
MSDN - http://msdn.microsoft.com/
Sales force - http://www.salesforce.com/platform/
The Open Group - http://www.opengroup.org/
10. AUTHOR’S PROFILE
Shailesh Paliwal is a Senior Technology Architect at Infosys’s Cloud Unit. He has over 15 years of IT
experience articulating the next steps in the evolution of information technology toward strategic
business applications and services that deliver performance coupled with intelligence throughout
organizations. He has specialized expertise in the areas of Data and Information Architecture,
Database Design, Data warehouse design , Data Modeling, Dimension Modeling, NFR Validation,
Workload Modeling, Performance Tuning , Master Data Management and Business Intelligence.
He is a DAMA Certified Data Management Professional and TOGAF certified Enterprise Architect.
He can be contacted at shailesh_paliwal@infosys.com