Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
Leverage your application
architecture with Azure Services
Sammani Palansuriya
About Me
 10+ years of experience as a Developer
 Awarded with 4 MVP Awards
 First Female MVP in Sri Lanka
 Speaker, Blogger and a mentor
Senior Technical Lead at
App Service
Storage Storage
Cosmos
FunctionsSQL B2C
B2B
Overview
Case Study
Front End
&
API
• Discuss a scenario where
we need to design an
architecture
• Azure Services for hosting
• Scalability
• Security
• Monitoring
• Availability
Supporting
Services
• Handling requests
• Improve searching
• Automating workflows
Case Study
Functional Requirements:
1. System should contain the above modules
2. Companies should be able to create their subscription and add
the users in to it for managing the event
3. All the modules will be available for each subscription
4. Global search should be there for event organizers to search
content in the system
Non-Functional Requirements:
1. There will be around 20-25 subscriptions and around 250 users
2. This will be a used by users in multiple regions
3. High traffic should be handled when events are published
Pillars of software quality
Scalability
Availability
Resiliency
Management
Security
Software Quality
1 Front End App Hosting
Hosting Options
• Azure Offering – IaaS
you are responsible for
managing everything from the
Operating System on up to the
application you are running
• Azure Offering – PaaS
It comes with lot of added
services
Ex: Deployment Slots,
Monitoring, Scaling
Price (Per Month) : $20
• Azure Offering – PaaS
- It comes with lot of added
services
Ex: Scaling, Simple,
Price (Per Month) : $0.46
Scalability
Scalability – Use of Azure CDN
Resilience – Multiple Instances
2 API Hosting
Hosting Options
• Azure Offering – IaaS
you are responsible for
managing everything from the
Operating System on up to the
application you are running
• Azure Offering – PaaS
It comes with lot of added
services
Ex: Deployment Slots,
Monitoring, Scaling
• Azure Offering – Serverless
- Event Based trigger
- Highly Scalable
- Pay-Per-Use Pricing Model
Scaling
Scaling - Attendee Registrations
• Event Hub
you are responsible for
managing everything from the
Operating System on up to the
application you are running
• Queue
Queues care more about
making sure that every
message gets processed and
gets processed completely
Event Hub - Handling message order
Event Hub Partition Event Hub Partition Event Hub Partition
Event Hub
Processor Event Hub
Processor
Event Hub
Processor
Security – User Authentication
Azure B2B Azure B2C
• Intended for: Organizations that want
to be able to authenticate users from a
partner organization, regardless of
identity provider.
• Identities supported: Employees with
work or school accounts, partners with
work or school accounts, or any email
address. Soon to support direct
federation.
Intended for: Inviting customers of your
mobile and web apps, whether individuals,
institutional or organizational customers into
your Azure AD.
Identities supported: Consumer users with
local application accounts (any email
address or user name) or any supported
social identity with direct federation.
Security – Storing Keys
Security
Administrator
Store Secret
Key URI
Access Policy for API APP
Developer
Key URI
Secret
Management – Application Insights
• Request rates, response times, and
failure rates
• Dependency rates, response times,
and failure rates
• Exceptions
• Set Alerts
3 Supporting Services
Handling Notifications
Azure Cosmos DB Cosmos DB
triggered Function
Azure Signal R
Angular App
• All the clients would be connected to the
service only.
• Connection management is fully handled
Automating workflows
Customer List
Customer Id
Calculate the invoice
amount
Calculate the invoice
amount
Calculate the invoice
amount
Generate Full Invoice
Automating workflows – Durable Functions
Orchestrator
Calculate the invoice
amount
Customer List
• Customer List
• Invoice amounts[ ]
Customer Id
Invoice Amount
Calculate the invoice
amount
Generate Full Invoice
Durable Function Patterns
New Attendee
Registration
Save Data to DB Send Email to attendee
Function Chaining
4 Architecture Design
Leverage your application architecture with azure services
Leverage your application architecture with azure services
THANK YOU
Q & A

More Related Content

Leverage your application architecture with azure services

  • 1. Leverage your application architecture with Azure Services Sammani Palansuriya
  • 2. About Me  10+ years of experience as a Developer  Awarded with 4 MVP Awards  First Female MVP in Sri Lanka  Speaker, Blogger and a mentor Senior Technical Lead at
  • 4. Overview Case Study Front End & API • Discuss a scenario where we need to design an architecture • Azure Services for hosting • Scalability • Security • Monitoring • Availability Supporting Services • Handling requests • Improve searching • Automating workflows
  • 5. Case Study Functional Requirements: 1. System should contain the above modules 2. Companies should be able to create their subscription and add the users in to it for managing the event 3. All the modules will be available for each subscription 4. Global search should be there for event organizers to search content in the system Non-Functional Requirements: 1. There will be around 20-25 subscriptions and around 250 users 2. This will be a used by users in multiple regions 3. High traffic should be handled when events are published
  • 6. Pillars of software quality Scalability Availability Resiliency Management Security Software Quality
  • 7. 1 Front End App Hosting
  • 8. Hosting Options • Azure Offering – IaaS you are responsible for managing everything from the Operating System on up to the application you are running • Azure Offering – PaaS It comes with lot of added services Ex: Deployment Slots, Monitoring, Scaling Price (Per Month) : $20 • Azure Offering – PaaS - It comes with lot of added services Ex: Scaling, Simple, Price (Per Month) : $0.46
  • 10. Scalability – Use of Azure CDN
  • 13. Hosting Options • Azure Offering – IaaS you are responsible for managing everything from the Operating System on up to the application you are running • Azure Offering – PaaS It comes with lot of added services Ex: Deployment Slots, Monitoring, Scaling • Azure Offering – Serverless - Event Based trigger - Highly Scalable - Pay-Per-Use Pricing Model
  • 15. Scaling - Attendee Registrations • Event Hub you are responsible for managing everything from the Operating System on up to the application you are running • Queue Queues care more about making sure that every message gets processed and gets processed completely
  • 16. Event Hub - Handling message order Event Hub Partition Event Hub Partition Event Hub Partition Event Hub Processor Event Hub Processor Event Hub Processor
  • 17. Security – User Authentication Azure B2B Azure B2C • Intended for: Organizations that want to be able to authenticate users from a partner organization, regardless of identity provider. • Identities supported: Employees with work or school accounts, partners with work or school accounts, or any email address. Soon to support direct federation. Intended for: Inviting customers of your mobile and web apps, whether individuals, institutional or organizational customers into your Azure AD. Identities supported: Consumer users with local application accounts (any email address or user name) or any supported social identity with direct federation.
  • 18. Security – Storing Keys Security Administrator Store Secret Key URI Access Policy for API APP Developer Key URI Secret
  • 19. Management – Application Insights • Request rates, response times, and failure rates • Dependency rates, response times, and failure rates • Exceptions • Set Alerts
  • 21. Handling Notifications Azure Cosmos DB Cosmos DB triggered Function Azure Signal R Angular App • All the clients would be connected to the service only. • Connection management is fully handled
  • 22. Automating workflows Customer List Customer Id Calculate the invoice amount Calculate the invoice amount Calculate the invoice amount Generate Full Invoice
  • 23. Automating workflows – Durable Functions Orchestrator Calculate the invoice amount Customer List • Customer List • Invoice amounts[ ] Customer Id Invoice Amount Calculate the invoice amount Generate Full Invoice
  • 24. Durable Function Patterns New Attendee Registration Save Data to DB Send Email to attendee Function Chaining