Multi-tenant on Windows doesn't have to be a separate VM, just like IBM i doesn't necessarily have to do multi-tenant in separate partitions.
i uses library to denote data separation.
SQL server calls them databases.
In regards to multi-tenant I see several options:
-Separate VM/LPAR.
-Same Library/SQL database with tenant ID as you noted.
-Separate Library/SQL database
-Same Library/SQL database with table prefixes.
It's all there in ASP.Net SQL Server as well as i. It comes down to you the right app architecture.
Many of us didn't start out designing for multi-tenant, but it's a reality if you want to run multiple clients on one system.
Now it comes down to where do you develop your apps.
Depends on your background and skillsets :-)
Regards,
Richard Schoen
RJS Software Systems Inc.
Where Information Meets Innovation
Document Management, Workflow, Report Delivery, Forms and Business Intelligence
Email: richard@xxxxxxxxxxxxxxx
Web Site:
http://www.rjssoftware.com
Tel: (952) 736-5800
Fax: (952) 736-5801
Toll Free: (888) RJSSOFT
-----Original Message-----
From: midrange-l-bounces
------------------------------
message: 6
date: Thu, 16 May 2013 11:16:32 -0700 (PDT)
from: Nathan Andelin <nandelin@xxxxxxxxx>
subject: Re: cloud services with new development on IBM i on Power
Matt,
I debated with myself about even responding to this. Most of it is a distraction from the subject at hand. The references to Windows and Linux subsystems is not even closely related. Your reference to MS SQL database subsystems is confusing because your terminology is inconsistent with Microsoft's. The Microsoft case studies are typical marketing spin, and hardly related to the subject of multi-tenant cloud services.
If you intended to confuse, then you accomplished your goal.
I did however pursue some of my own research on how one might implement multi-tenant cloud services, using Microsoft's stack. I came across a number of Azure references which offered a number of alternative application design tips that one might choose in order to support multiple tenants. Embed a Tenant ID in Table Names. Use SQL Server Table partitions, embedding a Tenant ID in the Partition Key. Embed Tenant ID in Azure "Storage Containers". Make Tenant ID a column in all your tables. Assign each tenant to a separate SQL schema. Implement multiple instances of MS SQL Server.
The easiest option was be to deploy applications under separate virtual machine instances. All other options employ significant design decisions at the application level.
If you were to make one of your applications multi-tenant capable, what alternative would you choose? Most choose to set up a separate virtual machine.
We never designed our applications to be multi-tenant capable, other than avoiding hard coding library names in CL programs, and never hard coding SQL schema references in SQL statements.
When we wanted to move into multi-tenant cloud hosting, we found that nearly everything we needed was already there in the native IBM i environment. No changes to our applications.
-Nathan
----- Original Message -----
From: Matt Olson <Matt.Olson@xxxxxxxx>
To: Midrange Systems Technical Discussion <midrange-l@xxxxxxxxxxxx>
Cc:
Sent: Wednesday, May 15, 2013 12:01 PM
Subject: RE: cloud services with new development on IBM i on Power
Here's your different subsystems you can't seem to find:
Windows Subsystem overview:
http://en.wikipedia.org/wiki/Architecture_of_Windows_NT
Linux subsystem overview:
http://kernelnewbies.org/Documentation/Subsystems
In an example our MS SQL Server has several sub systems, the integration services sub system, the SQL Agent sub system, the database subsystem.? Where-in you can set various resource governor settings on the database subsystem or create entire new instances of them and set processor affinity's to the various instances in addition to resource governance.? A good introduction on this is here:
http://www.mssqltips.com/sqlservertip/1720/handling-workloads-on-sql-server-2008-with-resource-governor/.
A library list is just a list of databases.? A library contains 1 or more files/tables,views, etc.? The concept applied to other systems is called a "database".? All database platforms I've ever dealt with have the same concept, just different terminology.
Wonder why the NASDAQ choose to run their platform on windows instead of the IBM i?? Read this:
http://www.microsoft.com/casestudies/Case_Study_Detail.aspx?CaseStudyID=49271 (this example is switch from Tandem mainframes not AS400).? Here is one for AS400 if you're interested:
http://www.microsoft.com/casestudies/Case_Study_Detail.aspx?casestudyid=4000011186
------------------------------
As an Amazon Associate we earn from qualifying purchases.