SaaS Deployment Models & Tenant Isolation Architecture Patterns on AWS

Architecting a SaaS solution is challenging and there are various aspects that need to be taken care of while deploying SaaS solutions on AWS. To achieve a scalable, available, secure, performant and cost-effective SaaS offering, following are few very useful SaaS deployment models & tenant isolation architecture patterns:

Model 1 – AWS Account Layer Isolation

All tenants will have their individual AWS accounts and isolated. This is mainly a managed solution on AWS rather than a multi-tenant SaaS solution.

Picture1

Advantages:

  • Tenants are completely separated out and do not have any overlap.
  • Configuration customizations are easy.
  • Easy to track AWS usage.

Disadvantages:

  • Lacks resource and cost optimizations.
  • Difficult to manage large number of separate AWS accounts.

Model 2 – Amazon VPC Layer Isolation

All the tenant solution deployments are in the same AWS account, however every tenant deployment has a separate VPC.

Picture2

Advantages:

  • Everything is in a single AWS account and easier to manage.
  • Appropriate isolation between different tenants via different VPCs.
  • Better economies of scale and improved utilization of Amazon EC2 Reserved Instances.

Disadvantages:

  • Close monitoring of Amazon VPC related limits required.
  • In case all VPCs need to connect to an on-premises setup, it becomes difficult to manage.
  • VPC peering is required to setup from the shared services VPC to all tenant VPCs.
  • Multiple security groups need to be created and managed for each VPC.

Model 3 – Amazon VPC Subnet Layer Isolation

Single AWS account and a single VPC for all tenant deployments, however isolation is at the level of subnets. Each tenant has their own separate version of an application with no sharing across tenants.

Picture3

Advantages:

  • VPC peering for intercommunication not required.
  • VPN connectivity to a single on-premises site is simple.

Disadvantages:

  • Isolation between tenants has to be managed at the subnet level.
  • Hard to manage VPC limits in case the the number of tenants increases.
  • Changing VPC level settings affects all tenants.
  • Limitation on the number of security groups and the number of rules per security group at the VPC level.

Model 4 – Container Layer Isolation

Container-based deployment via Amazon EC2 Container Service (Amazon ECS), single instance sliced for multiple tenant applications.

Picture4

Advantages:

  • Higher level of resource utilization.
  • Easier to manage the clusters at scale.
  • Simplified deployments via Docker images.
  • Amazon ECS deploys images on Amazon EC2 instances which can be segmented and controlled using VPC-based controls.

Disadvantages:

  • Managing Amazon EC2 and VPC security groups to limit traffic on an Amazon EC2 instance and related container configurations to control which ports are open is difficult.
  • Tags do not work at the Amazon ECS task (container) level.

Model 5 – Application Layer Isolation

Truly multi-tenant SaaS model. Application deployment is shared across different tenants. At database layer, there can be following variations:

  • Each tenant having different database for maximum isolation.
  • Same database, different schemas or tables.
  • Shared database, shared schema/tables.

Advantages:

  • Better resource usage and optimization across the entire stack.
  • Easy to manage and operate the stack as its a single deployment.
  • Network connectivity simplified.
  • Centralized shared services and deployed as aa single unit for all the tenants.

Disadvantages:

  • Applications must support multi-tenancy.
  • Co-hosting tenants with different security profiles may not be possible.

#aws, #saas

Equity Crowdfunding Platform Features

What Is Equity Crowdfunding ?

Equity crowdfunding is the process whereby people (the “crowd”) invest in an early stage unlisted company (a company that is not listed on a stock market) in exchange for shares in that company.

A shareholder has partial ownership of a company and stands to profit should the company do well. The opposite is also true, so if the company fails investors can lose some, or all, of their investment.

Features Of Equity Crowdfunding Website

There are mainly two type of end users:

  • Investors
  • Investment Seekers/Entrepreneurs.

General features:

  • Invite friends from social media accounts or via email.
  • Users ability to keep updated with account activities alerts.
  • Newsletter system to get in touch with the users.
  • Users ability to enable/disable email notifications based on different campaigns, user and ownership
    Ability to feature campaigns.
  • Secure payment gateway integration.
  • Captcha enabled signup form to prevent fake, automated/bot signups to keep away from spams.
  • Multi language support as per requirements.
  • User ability to follow each other to grow friends and community on platform.
  • User ability to follow favorite campaigns to get updated with campaign activities.
  • Knowledge base / Help Center to help users to understand platform features.
  • Progress meter for each campaign to get an overview of campaign at first glance.
  • Blog for displaying posts and articles.

Admin / Backend features:

  • Manage all campaigns and categories from one place.
  • Social media integration with different APIs like social sharing, social login, social invite.
  • Manage pages and content of the website.
  • Add / edit / delete users from backend.
  • Integration of Google Analytics to track traffic and nature of users.
  • Manage dynamic contract content.
  • Edit and configure percentage fees admin wants to earn from each investments on each campaign.
  • Receive, confirm and manage investments from investors.
  • Provide feedback and communicate with campaign owner to launch campaign.
  • Enable/disable and edit parameters of equity, debt, profit sharing and convertible equity.
  • Ability to manage investors with their accreditation status manually/via API.
  • Ability to manage pre-filled data represented as dropdown options from backend.
  • Graphical user reports like weekly, monthly and yearly average registrations.
  • Graphical campaign reports like weekly, monthly and yearly average campaigns, total campaigns, transaction campaigns.
  • Statistics – New users, pending campaigns, running campaigns, successful campaigns, failure campaigns.

Campaign Owner features:

  • Ability to create unlimited campaigns.
  • Campaigns will go live only after admin approval.
  • Ability to choose and verify his/her payment gateway/bank account to get funds in the end of campaign.
  • Campaign dashboard with all controllers required to manage campaign with easy to use interface.
  • Ability to integrate Google analytic code in campaign to keep track of nature and geo location of visitors.
  • Perk & shipping management system to enhance campaign to attract more investors.
  • Secure platform to upload personal information, documents and other profile information which will be visible to admin only.
  • Ability to announce campaign updates.
  • Ability to share campaign over social networking website easily to get maximum social attention.
  • Ability to copy and paste campaign code to embed on his/her website or blog.
  • Ability to upload, manage private and public documents in form of doc, xls, ppt, pdf and so on.
  • Ability to manage complete company profile with all required information and social media profiles.
  • Ability to display highlighted features of his/her campaign.
  • Ability to add cover photo or video for campaign.
  • Ability to highlight current investors of campaign.
  • Ability to highlight previous fundings of campaign.
  • Ability to draft full details of his/her campaign.
  • Ability to moderate, approve, deny comments manually before they go live on his/her campaign page.
  • Ability to choose best deal for his/her campaign i.e equity, debt, profit sharing and convertible equity.
  • Ability to manage media gallery with photos and videos with ability to keep them public or private.

Comparison between MongoDB and MySQL

#mongodb, #mysql

Difference Between UX & UI

image

#ui, #ux

Amazon RDS

#aws, #rds

Acquia Cloud Infrastructure

1. Runs on Drupal-optimized platform hosted in the AWS cloud environment.

2. The core of the platform consists of:

  • LAMP server stack
  • Linux (Ubuntu) operating system
  • Apache web server
  • MySQL (Percona) database
  • Drupal
  • EC2
  • EBS
  • EIP

3. How it works:

Picture2

4. Main components to an Acquia Cloud site:

  • Reverse proxy caching and load balancing servers (Varnish/nginx)
  • Web servers (Apache with PHP and Drupal code)
  • Database servers (MySQL (Percona))
  • Network file system (GlusterFS)

5. Acquia cloud technology platform and supported software:

Component Details
Web Server OS Ubuntu 12.04 LTS
Web Server Apache 2.2.22
Database Percona Server 5.5 (MySQL 5)
PHP PHP 5.5.18 / PHP 5.3.10 / PHP 5.3.29 (default)
Caching Proxy Varnish 3
Memory Cache Memcached 1.4.13

6. Other supporting softwares and features:

  • Drush 4 and later
  • Integrated version management (Git or SVN)
  • SSL certificates
  • Automated disaster recovery backup

#acquia, #aws, #cloud-server, #cms, #drupal, #saas

Developing An Online Reputation Management (ORM) System

What Is Reputation Management

Reputation Management (sometimes referred to as Rep Management or RM, Online Reputation Management or ORM)  is the practice of attempting to shape public perception of a person or organization by influencing online information about that entity. It aims on monitoring the reputation of an individual or a brand on the internet, addressing content which is potentially damaging to it, and using customer feedback solutions to get feedback or early warning signals to reputation problems.

System Overview

The Online Reputation Management (ORM) system provides information about the client’s online reputation fast, reliably and accurately in easy to read format. The system tries to find all the mentions (articles, discussions and reviews) in the internet and save them into a database. Afterwards, they are analyzed to provide aggregated data of the client’s online reputation and finally the aggregated data and found mentions are shown to the users of the system as charts, lists, images and tables.

System Architecture & Design

1. As a first step, the system will find the relevant mentions from the Internet. Following is the flowchart illustrating the order of data processing by the system:

1

For this, third party services like Social Mention API can be used which provides the sentiments, top keywords, top users and other metrics of the mentions and other tools provided by search engines like Google Custom Search API and Google Alerts for finding relevant mentions. Combination of these tools and services will provide a source that covers most of the websites in the Internet. After finding the mentions, the system will automatically verify their quality and relevancy. If found sufficient, system will search for meta data of the mentions and stores it in database. Following is the flowchart illustrating the findings of the mentions:

2

2. The next major step which the system will perform is to automatically analyze the mentions for providing the users an overview of the online reputation without reading the mentions. The system will analyze the quantitative metrics like number of mentions, visibility index and qualitative metrics like language, topic and sentiments. Additionally, the system will also group the websites into various categories to provide an overview of the type of websites generating the web presence. All these metrics together will be displayed by the system as graphs and tables to users. Following is the flowchart illustrating the mention analysis:

3

3. The system will calculate the number of mentions for a selected time period.

4. Categorization options will be there in the system, both manually and automatically at global and user level. For automatic categorization, third party online services like SimilarWeb Website Categorization API can be used.

5. The visibility index can be calculated by the system using Alexa Web Information Service API which is a part of commercial Amazon Web Services.

6. The system will do automatic sentimental analysis. For this, a third party service called Alchemy Sentiment Analysis API can be used which analyzes sentiment of a mention from plain text, HTML or just by receiving the URL of the mention. It can also combine the sentiment analysis with its keyword or entity analysis service. Manual sentiment analysis feature will be also there in the system for both un-analyzed and previously analyzed articles.

7. The system will do automatic language identification and analysis. For this, Alchemy Language Detection API can be used. No manual language detection option will be there in the system.

8. The system will do automatic topic analysis. For this, Alchemy Concept Tagging API can be used which finds out the topics of the mention.

9. For social media monitoring and calculating the metrics, various APIs provided by the social networking platforms like Facebook, Twitter, Google+ etc can be used. The metrics which can be derived from these social media networks are conversion rate, amplification rate, applause rate and economic value. Using the Google Analytics API, return on investment (ROI) and economic value per visitor from each social media network can be calculated and also traffic reports can be generated.

10. Users can avail various features as per the membership package selected during registration. These membership packages will be defined and controlled by administrator of the system. After successful registration, users will get a free micro-site automatically created by the system where they can display their reviews, feedback, about us etc. This micro-site will also have an option to request for appointments.

11. The user interface of the system will have Reports and Dashboard sections displaying various type of charts provided by Highcharts and Google Charts.

Following are few suggested modules/features and overall website structure:

General Area

  • Home – Homepage with various information.
  • Sign Up – Users can register to the website by selecting suitable membership packages.
  • Content Pages – Content pages like about us, privacy etc.

Business Area

  • Sign In – Login for business owners.
  • Forgot Password – Retrieve password.
  • My Information – Update first name, last name, email, mobile number, email alerts (enable / disable), SMS alerts (enable / disable), monthly reports (enable / disable).
  • My Preferences – Enable/disable email alerts, SMS alerts, monthly reports for business alias.
  • Change Password – Update current password.
  • Dashboard –
    • Reputation Summary (all time) – Benchmark (bar chart), total reviews (pie chart), average rating (donut chart), sentiment (pie chart), visitors (pie chart)
    • Reputation Summary (day wise) – Benchmark (bar chart), total reviews (pie chart), average rating (donut chart), sentiment (pie chart), visitors (pie chart)
    • Review Conversion (day wise) – Email conversion (funnel chart), SMS conversion (funnel chart), new reviews (pie chart)
    • Online Presence – List of sites and logos with link
    • Print as PDF
    • Switch Account
    • Search by state, city, location, review source, time period and display customer distribution and reputation summary on a clickable map.
  • Reviews –
    • Review Report – Search by state, city, location, review source, time period and display reviews over time (bar chart), reviews by location (bar chart), average rating over time (bar chart), average rating by location (bar chart).
    • Sentiment Report – Search by state, city, location, review source, time period and display sentiment over time report (bar chart), sentiment by location (bar chart).
    • Traffic Report – Search by state, city, location, review source, time period and display reviews by source (pie chart), visitors who read reviews (pie chart)
    • ROI Report – Search by state, city, location, review source, time period and display ROI settings, ROI report (reviews certified, reviews top sites, reviews other sites, visitors, check-ins, total)
    • Print as PDF and XLS
  • Campaigns –
    • Run Campaign – Run a new campaign, send request review email, send share review email, send run promotional email, delete customers, download customers
    • Add Customers – Download template (CSV), upload CSV, add a single contact
    • Add Incentives – Add, edit, delete, list incentives
  • Insights –
    • Keywords – Search by state, city, location, review source, time period and display frequent keywords, positive mentions, negative mentions and sentiment trends.
    • Categories – Search by state, city, location, review source, time period and display performance by category, positive mentions and negative mentions.
  • Setup –
    • Setup Profile – Update business information.
    • Setup Aggregation – Collect reviews from top sites defined by admin. Add, delete, list aggregation or review sites.
    • Auto-post Best Reviews – On website (customize and use batches), Facebook (app), Twitter (app), Google+ (app), 50+ local sites, search engines
    • Setup Communication – Email (using pre-defined templates), SMS (request customer reviews after check-in), email and SMS settings
    • Get New Reviews – Use existing emails, run an email campaign, check in customers, get reviews on-site, integrate calendar (outlook)
    • Setup Location – Add,edit, delete, list, search locations.
    • Location Setup – Location setup status.
    • Setup Branding – Customize branding (Background and Text color)
    • Setup Insights – Add,edit, delete, list, search categories.
    • Setup Competitors – Add,edit, delete, list, search competitors.
    • Account – Add, edit, delete, list, search users. Two type of users can be added: Owner & Account Administrator.
  • Sign Out – Logout from the system.

Admin Area

  • Sign In – Login for administrator.
  • Forgot Password – Retrieve password.
  • Manage Profile – Update profile information.
  • Change Password – Update current password.
  • Settings – Manage global settings related to Payment Gateways, SMS Gateways, API keys etc.
  • Membership Packages – Add,edit, delete, list, search membership packages.
  • Users – Add,edit, delete, list, search membership packages.
  • Misc. – Other misc. modules and sections.
  • Sign Out – Logout from the system.

Suggested Technologies

  1. PHP Framework like Yii or Laravel
  2. MySQL
  3. WordPress

 

#mysql, #orm, #php, #wordpress