Architect SaaS Applications - Unique Challenges & Solutions
Github Repositories
The Architect SaaS Applications - Unique Challenges & Solutions Udemy course is an intro to SaaS, scalability, multi-tenancy, provisioning, security, APIs, management, maintenance.
Table of contents
- What I've learned
- Section 1 Introduction 23min
- Section 2 Course Use Cases - An Introduction 16min
- Section 3 Multi-tenancy Architecture 41min
- 12. Intro to Multi-tenancy 4min
- 13. Tenant Resource Allocation 4min
- 14. Architecting Resource Allocation 11min
- 15. Tenant Context Awareness 6min
- 16. Intro to Tenant State 5min
- 17. Architecting Stateless Services 4min
- 18. Architecting Stateful Services 8min
- Quiz 2: @Review - Multi-tenancy architecture
- Assignment 1:
- ITS Use Case - Multi-tenancy - Assignment 2:
- LCS Use Case - Multi-tenancy - Section 4 Data Services Architecture 39min
- Section 5 Provisioning Architecture 30min
- Section 6 Monitoring and Upgrades - Architecture 29min
- Section 7 Security and Integrations - Architecture 23min
- Section 8 Conclusion 1min
What I've learned
- Architect Scalable SaaS applications
- Implement multi-tenancy models
- Design SaaS management and monitoring frameworks
Section 1 Introduction 23min
1. Course Overview & Expectations 6min
CourseOverviewExpectations8
2. Introduction to SaaS 6min
3. SaaS Elements 3min
4. SaaS vs IaaS vs PaaS 3min
5. Architecting SaaS - Challenges 5min
Quiz 1: @Review - SaaS Basics
Section 2 Course Use Cases - An Introduction 16min
6. Introduction to the Use Cases 3min
7. ITS - Functionality 2min
8. ITS - Functional Architecture 3min
9. LCS - Functionality 3min
10. LCS - Functional Architecture 5min
11. Use Case Process for the Course 1min
Section 3 Multi-tenancy Architecture 41min
12. Intro to Multi-tenancy 4min
13. Tenant Resource Allocation 4min
14. Architecting Resource Allocation 11min
15. Tenant Context Awareness 6min
16. Intro to Tenant State 5min
17. Architecting Stateless Services 4min
18. Architecting Stateful Services 8min
Quiz 2: @Review - Multi-tenancy architecture
- ITS Use Case - Multi-tenancy
Assignment 1: Questions for this assignment
For each of the following components listed, answer the questions below.
Components:
a. ITS UI - Yes. b. Business Server - No. c. Control Server - Yes.
Things to architect:
a. Type of network : Farmed, Shared or Exclusive - The three of them. b. Will the component be tenant aware? - Yes. c. Will the component be stateful? No. d. Why type of scaling will you use? N + 1 or Primary-Backup? N+ 1
- LCS Use Case - Multi-tenancy
Assignment 2: Questions for this assignment For each of the following components listed, architect the following elements.
Components:
a. Agent UI b. Agent Manager c. Popup Gateway d. Messaging Manager
Things to architect:
a. Type of network : Farmed, Shared or Exclusive b. Will the component be tenant aware? c. Will the component be stateful? d. Why type of scaling will you use? N + 1 or Primary-Backup?
Response:
a. Agent UI
- Type of network : Shared
- Will the component be tenant aware? Yes
- Will the component be stateful? Stateless
- Why type of scaling will you use? N + 1
b. Agent Manager
- Type of network : Farmed
- Will the component be tenant aware? Yes
- Will the component be stateful? Stateless
- Why type of scaling will you use? N + 1
c. Popup Gateway
- Type of network : Farmed
- Will the component be tenant aware? Yes
- Will the component be stateful? Stateful
- Why type of scaling will you use? N + 1
d. Messaging Manager
- Type of network : Exclusive
- Will the component be tenant aware? No
- Will the component be stateful? Stateful
- Why type of scaling will you use? Primary-Backup?
Section 4 Data Services Architecture 39min
19. Intro to SaaS Data 5min
20. Database Partitioning 9min
21. Real time Cache 5min
22. Machine Logs 7min
23. Inter-component messaging 7min
24. Multi-component Messaging 6min
- ITS Use Case - Data Services
Assignment 3: Questions for this assignment For the ITS application, architect data services. Please answer the following questions
- What kind of tenant partitioning scheme will data services use?
- What type of cache will be used?
- How will machine logs be captured and propagated?
- What is the messaging scheme for inter-component messaging?
- Will you use a Data Bus? If so, which technology?
Response:
- What kind of tenant partitioning scheme will data services use?
- One table with mutiple tenants
- 1 Db Cluster assigned to a tenant group.
- What type of cache will be used?
- One structure for one tenant group
- How will machine logs be captured and propagated?
- Use starndarized format.
- Use best-of-breed products.
- What is the messaging scheme for inter-component messaging?
- REST/JSON
- Graphql/JSON
- Will you use a Data Bus? If so, which technology?
- Yes, RabbitMQ or something similar.
- LCS Use Case - Data Services
Assignment 4: Questions for this assignment For the LCS application, architect data services. Please answer the following questions
- What kind of tenant partitioning scheme will data services use?
- What type of cache will be used?
- How will machine logs be captured and propagated?
- What is the messaging scheme for inter-component messaging?
- Will you use a Data Bus? If so, which technology?
Response:
- What kind of tenant partitioning scheme will data services use?
- One table with mutiple tenants
- 1 Db Cluster assigned to a tenant group.
- What type of cache will be used?
- One structure for one tenant group
- How will machine logs be captured and propagated?
- Use starndarized format.
- Use best-of-breed products.
- What is the messaging scheme for inter-component messaging?
- REST/JSON
- Graphql/JSON
- Will you use a Data Bus? If so, which technology?
- Yes, RabbitMQ or something similar.
Section 5 Provisioning Architecture 30min
25. Intro to SaaS Provisioning 5min
26. Templates and Automation 5min
27. Custom & API based Provisioning 6min
28. Change Propagation 10min
29. Local Cache 4min
- ITS Use Case - Provisioning
Assignment 5: Questions for this assignment Please answer the following questions for ITS provisioning.
- Will there be a provisioning service in ITS?
- Will you use templates?
- Will there be automation?
- How will changes be propagated for provisioning to the individual components?
- Will there be a local cache?
Answer:
- Will there be a provisioning service in ITS
- Yes.
- Will you use templates?
- Yes.
- Will there be automation?
- Yes.
- How will changes be propagated for provisioning to the individual components?
- It depends on the model the tenant purchases.
- Will there be a local cache?
- If the service is offered globally probably yes.
- LCS Use Case - Provisioning
Assignment 6: Questions for this assignment Please answer the following questions for LCS provisioning.
- Will there be a provisioning service in LCS ?
- Will you use templates?
- Will there be automation?
- How will changes be propagated for provisioning to the individual components?
- Will there be a local cache?
Answer:
- Will there be a provisioning service in ITS
- Yes.
- Will you use templates?
- Yes.
- Will there be automation?
- Yes.
- How will changes be propagated for provisioning to the individual components?
- It depends on the model the tenant purchases.
- Will there be a local cache?
- If the service is offered globally probably yes.
Section 6 Monitoring and Upgrades - Architecture 29min
30. Service Levels 4min
31. Types of failures 6min
32. Architecting SaaS monitoring 8min
33. Upgrades in SaaS 6min
34. Architect for Upgrades 5min
- ITS Use Case - Monitoring and Upgrades
Assignment 7: Questions for this assignment Please answer the following questions for ITS monitoring and upgrades. Which of the following elements will be needed in the ITS architecture?
a. In-Process monitoring agent b. External monitoring agent c. a central monitoring system d. Rolling upgrades
Response: a. In-Process monitoring agent - Yes b. External monitoring agent - Yes c. a central monitoring system - Yes d. Rolling upgrades - Yes
- LCS Use Case - Monitoring and Upgrades
Assignment 8: Questions for this assignment Please answer the following questions for LCS monitoring and upgrades. Which of the following elements will be needed in the LCS architecture?
a. In-Process monitoring agent b. External monitoring agent c. a central monitoring system d. Rolling upgrades
Response: a. In-Process monitoring agent - Yes b. External monitoring agent - Yes c. a central monitoring system - Yes d. Rolling upgrades - Yes
Section 7 Security and Integrations - Architecture 23min
35. Security in SaaS 4min
36. Architect for Security 8min
37. Intro to SaaS Integrations 6min
38. Architecting Integrations 4min
Security Assertion Markup Language 2.0 (SAML 2.0) is a version of the SAML standard for exchanging authentication and authorization data between security domains. SAML 2.0 is an XML-based protocol that uses security tokens containing assertions to pass information about a principal (usually an end user) between a SAML authority, named an Identity Provider, and a SAML consumer, named a Service Provider. SAML 2.0 enables web-based, cross-domain single sign-on (SSO), which helps reduce the administrative overhead of distributing multiple authentication tokens to the user.
SAML 2.0 was ratified as an OASIS Standard in March 2005, replacing SAML 1.1. The critical aspects of SAML 2.0 are covered in detail in the official documents SAMLCore, SAMLBind, SAMLProf, and SAMLMeta.
Some 30 individuals from more than 24 companies and organizations were involved in the creation of SAML 2.0. In particular, and of special note, Liberty Alliance donated its Identity Federation Framework (ID-FF) specification to OASIS, which became the basis of the SAML 2.0 specification. Thus SAML 2.0 represents the convergence of SAML 1.1, Liberty ID-FF 1.2, and Shibboleth 1.3
Integrating ITS and LCS Use Cases
Assignment 9: Questions for this assignment Let us say there is a tenant who wants to use both LCS and ITS for customer service. The tenant desires integration between both these SaaS applications. The tenant's customer service agents use ITS for Issue tracking & LCS for chatting with customers. Hence the following features need to be supported.
•Agent should use ITS UI. Agent LCS chat window plugs into ITS UI. An agent receives the chat request from a user through his chat window. As he chats with the user, he also creates /updates issues in ITS.
•The integration should provide Single-sign on for agents. When an agent logs in, the agent should be logged into both systems.
•Agent Chat transcript should be posted to ITS comments so that the transcript is available in both applications.
Please answer the following questions.
- Who will perform single-signon?
- Will this be a server-side integration / client-side integration or both?
- What happens when a tenant or an agent gets created on one application? Will it automatically create them on the other application also?
- How will chat transcript be posted from the chat window to ITS application?
Responses:
- Who will perform single-signon? ITS
- Will this be a server-side integration / client-side integration or both? Both.
- What happens when a tenant or an agent gets created on one application? Will it automatically create them on the other application also? Yes.
- How will chat transcript be posted from the chat window to ITS application? Browser integration using SAML 2.0.
Section 8 Conclusion 1min
39. Closing Remarks 1min
40. BONUS LECTURE - Other Courses and Coupons 1min
BONUS LECTURE - Other Courses and Coupons V2 Maestros is constantly putting out outstanding courses in Data Science and Analytics. Checkout exclusive discounts at V2 Maestros coupons.