Abstract
Businesses are gradually shifting to cloud infrastructure because it provides cost benefits and a quicker turnaround time. The overhead of infrastructure maintenance and higher turnaround time for fixes and enhancements with legacy systems are considerable. Apart from the interoperability of applications, the scalability, availability, and customer experiences have not been great compared to online shops. Vertical SaaS is a growing trend in recent years to address these cloud space challenges. This whitepaper focuses on how a vertical (domain-specific) SaaS architecture can be conceived at a high level. To illustrate this point, let us consider an example domain, the retail industry.
This white paper seeks to present architectural solutions to the industry’s different challenges. The customized SaaS architecture described in this paper addresses this in a cost-efficient manner and enables the vendors to go to market as quickly as possible.
Keywords: SaaS, Domain-specific SaaS (DSS), cloud infrastructure
1. Introduction
Migrating legacy applications in a feasible and fast way is what many legacy IT customers desire so that they can be operational in the fastest time possible and quickly turn their investment into profitability. They need a highly scalable, available, fault-tolerant, customizable, and cost-effective solution to address these challenges. This whitepaper describes how a vertical SaaS approach can address these needs for businesses and industries seeking cloud migration.
1.1 Case Report
ShopMart is a giant retail store with multiple retail stores all over the country. ShopMart has an existing software application where many of its operations are manual. Employees spend hours maintaining the system to keep the business up and running. Customizations and enhancements take time and effort. The retail store is facing challenges, such as maintenance, faster deployment, scalability, etc. To fix its challenges, ShopMart has invested in hardware resources and developers with high CapEx costs. It wants to migrate to a low-cost solution with a quicker turnaround time and provide its customers with an enhanced shopping experience consistent with or better than its online retail counterparts.
2. Methodology
The methodology used to architect a vertical SaaS model should address the common challenges retail businesses face:
2.1 Platform Architecture
The system is divided into three sub-systems: the core platform system, the client (tenant) system, and the peripheral devices integrated into it. The tenant system comprises the GUI of the store operator’s system, or it could also be the UI for the self-checkout kiosk that end users operate. The tenant system integrates various other peripherals like the card payment, printer, barcode scanner, etc.
3. Platform Features
3.1 Tenant User Management
Tenant user management is handled with an IAM system, which is available on cloud platforms. A single tenant could have a single account with different user groups and policies underneath it for better role-based access control (RBAC) management. This provides tenants with complete data segregation and security. Using a token-based access mechanism like OAuth can control and prohibit tenant access to downstream systems like service, database schemas, etc.
3.2 Tenant Data Management
The meta-information of the individual tenant DBs, like URL, DB name, schema name, and credentials are stored in another MetaDatabase. A discriminator like “tenantId” (TID) can be derived once the user logs into the system based on the user credentials. TIDs can be issued at the time of user registration and onboarding, and the same is mapped to tenant IAM tenant accounts.
3.3 Tenant Resource Management
The resource management of various cloud resources, such as the servers and other components required by the tenant, can be designed using the following approaches.
3.3.1 Resource Isolation at Network/Node Level
A Cloud VPC/subnet can be created where most of the resources belonging to a particular tenant can be created. Different tenants could share the same subnet but have different nodes. Sharing the same subnet option could be selected by a similar smaller organization, which may provide advantages to small or medium-sized organizations by sharing the computing costs. This option leads to high resource utilization.
3.4 Customization
Customization is another factor that gives flexibility for various tenants to customize the application to their business needs. Customization can be divided into various categories.
3.4.1 UI Customization
UI customization across the different OS platforms with a preference for native look and feel is essential as this gives a seamless user experience for a user and delivers a rich UI experience. The templating engine framework can onboard tenant-specific HTML, CSS, JavaScript, etc., and dynamically execute them at runtime. The different resources, such as company logos, screen design, etc., can be governed with UI templates.
3.4.2 Business Logic Customization
Customizing business logic as per tenant needs could be a daunting task; therefore, we need to onboard rule engine customization components to handle this challenge. The solution should address some of the below-mentioned features.
3.5 Data Synchronization
Data synchronization is one of the essential features of a SAAS model. The two main aspects of data synchronization are product master data synchronization and transaction data synchronization.
3.5.1 Master Data Synchronization
MDS can be achieved by either push or pull approach. The push approach pushes the data from the server to the terminal side. A custom data pipeline could leverage the existing components based on the below design.
3.5.2 Transaction Data Synchronization
The daily transaction data generated by the POS terminals are stored in the client devices with an internal DB for storing the local transactional data. Each of the transactions will have a 32-digit UUID as “TxnId.” The TxnId is generated only by the platform and not by the client devices. Upon receiving the data, the server will generate the 32-digit transaction ID and send it back to the client. The client updates this TxnId into the device DB.
4. Application Use Cases
The platform features described in earlier sections can be leveraged for some of the below-mentioned features unique to this platform.
5. Conclusion
Vertical SaaS architecture demonstrates a cost-efficient approach with a quicker go-to-market strategy. Scalability, availability, and on-the-go customizations enable tenant apps to be agile and quickly respond to the customer with resource and cost optimizations. From an operational point of view, there is no need to configure complex networks, firewall configurations, etc. Most of these configurations are available by default, and few are taken care of by the platform administration team. A few features will be common, like automatic provisioning of new resources, tenant data security, data transfer capabilities, scalability, availability, etc. Hence, the template provided by this whitepaper can be easily extended to other industries with customizations to meet industry-specific business requirements.
Gururaj Nayak
Senior Architect, IES
Wipro
In a career spanning 19+ years, Gururaj Nayak has worked extensively in architecting cloud-native solutions in telecom, healthcare, retail, and banking domains. He has worked as a lead architect and has helped many clients in their cloud transformation journeys in the US, UK, EU, and Japan. Presently serving as a Senior Architect with Wipro’s Industrial and Engineering Services (IES) division, Gururaj is working on a complex multi-million-dollar cloud transformation engagement for a highly reputed client. He is also leading customers and industry experts on the next generation of cloud, IoT solutions. For more information, contact Guru at gururaj.nayak@wipro.com