Fabrikam is a traditional ISVFabrikam’s flagship product, FabrikamShipping, is a web portal for sending packagesFabrikam wants to move FabrikamShipping to a subscription based modelFabrikam wants a solution which accommodates from Big Enterprise to Individual User customer typesFabrikam needs to tackle new, unfamiliar challenges:How to keep existing IP?Customer on-boardingDynamic provisioningInstances customizationAccess ControlMultitenancy, isolationMonitoringPaymentSLAScale and availability
Pattern that works for SaaS applications with a subscription modelArchitecture in the cloud is different than architecting apps in the past for on-premise, it requires a level of abstractionYou are architecting a kind of application factoryPaaS layer offers you the services to provide functionality that you can take advantage of rather than develop yourselfIn this pattern, you still have to maintain the data that you did before, however, the subscription is the primitive around which everything revolvesDetermines billing relationship with your customersThe customizations provided to the customerEverything you already have can be the basis for the application and together with the subscription, originates the new application in the cloud Provisioning engineTakes information from the subscription, combines it with the starting material and “makes things happen” based on yoru application instanceThere will always be services outside the application that are outside the specific platform functionality such as:PaymentsObtain certificatesEtc.
Fabrikam usesWindows Azure Platform as PaaSWindows AzureSQL AzureAppFabricAuthentication Control Service (ACS) for outsourcing authenticationWe having pricing on the Fabrikam example … these are random numbers so do not get hung up on the pricing as this is not guidanceAlso, it is an example, do not view this as guidance, just view it as inspirationSubscription UIManagement UI for fabrikam employees to manage1 admin UI for subscrioption managementPartnered with PayPal for Adaptive Payment API to automate payments in a lot of ways
Enterprise has employees and an administratorAdmin selects enterprise edition while configuring the account when he subscribes and drives relationshipGoverns authentication mechanism, how to map roles in application, etcConnect subscriptions to PayPal for payments.PayPal offers a sandbox area where no money is exchanged, so don’t worryYou have a choice of 1 time payment, or recurring paymentsAdministrator at Fabrikam will then manage the subscriptionCustomer subscription is then automatically added through ACSFabrikam admin will then create a new hosted service/storage acct and the provisioning engine will take over to provision enterprise and notify subscriber that the system is ready for consumptionUsers will then be able to access the fab site directly, directed to their authentication mechanism, then into the fab siteThis is not a multitenant application The applications are completely isolatedEach instance never gets a user from a different company other than the one for which it was createdAdvantage being, your application does not have be be multitenant from the start and perfect isolation of data/billing/etc and you can add services and resources to the specific instance and charge for themDisadvantages includePer user resource cost is high (an instance with just 5 users would be expensive to operate)
Use same pattern for creating Small Business subscription modelAn instance running in the WAP alreadyProvide standard authentication mechanism rather than enterprise methodIn this case Live ID and Google (could be FaceBook, Yahoo!)You can easily add whatever you wantOperate in multitenant fashion – you would not create a new instance for each small business (or individual)Had to change code to support multitenant In this example, there is no base authentication mechanism provided by the customer. Each user may not even have the same email domainThe user subscribes through the wizard, Then to PayPal to payThen the wizard will add a new entry in the database of the instanceThis will contain all of the customizations that are necessary for this particular tenantExample = the logo that will be shownThis example demo does not include a multitenant database, there is one database for every tenant so even with a small business, they share the same databaseIt does, however, have an additional table that manages the list of users (and roles) that are allowed to access the tenantSystem sends an email notification to admin as well as invitation to the users with a link to their specific tenancyWhen the user first authenticates, he can authenticate through either Google or Live ID… from then on, that will he his authentication mechanismOne tenant can support multiple mechanismsAdding a new tenant means adding another entry in the database
Разработка SaaS решений на платформе Windows Azure, Azure University
Windows Azure Platform Разработка SaaS решений на платформе Windows Azure<br />Denis Pasechnik<br />MS ISV DE<br />Microsoft Ukraine<br />Aemail@example.com<br />