Develop a Secure Distributed System in the Azure Cloud

Sample System Architecture for the Assignment

📁 The System

☁️ Cloud Architecture

Proposed Intern Management System for SETU — UoK
  • Azure CDN — ✅ Static Web App
  • Active Directory Roles — ❌ No alternative found

🚧 Development Guide

Basic Setup

Resource Group of setu — Overview

User Management & Security

Azure AD B2C — Overview
AD B2C Application — Configurations

Databases and Storage

Azure Database for MySQL server — Overview
Azure Cache for Redis — Overview
Storage Account — Overview

App Service for Backend

Example of CI/CD with GitHub Actions + Azure

Database Access Service

  • MYSQL_HOST / MYSQL_USER / MYSQL_PASSWORD — Details from the above mentioned Azure Database for MySQL server instance.
Service 02 Configurations

API Service with Caches

API Service with Caches — Overview
  • REDIS_HOST / REDIS_PORT / REDIS_PASSWORD — Details from the Azure Cache for Redis instance
  • DB_ACCESS_API — URL of the service 03 API
  • FUNCTION_URL — URL of the function app HTTP trigger
Service 01 Configurations

Azure Function for Backend

Azure Function — Overview
Azure Function — Integrate with Blob Storage

Static Web App for Frontend

Static Web App — Overview
Add DNS records in the NameCheap.com dashboard
Hosted Frontend

Front Door and WAF for Security

Azure Front Door — Overview
Front Door Designer
Web Application Firewall (WAF) — Overview

Monitoring and Insights

Application Insights — Overview
Application Insights : Live Metrics
Dashboard created with Application Insights data

🔮 Future Development

  • As initially planned the role-based access control need to implement to show different views to students and lecturers.
  • Extend the database to added periodic reports based on the start date of internships.
  • Develop frontend to show more statistics about the reports and submissions.

☝️ Conclusion

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store