Infrastructure
This document provides a concise guide to various implementation paths for deploying our solutions, tailored to specific organizational needs. It includes options like using our SaaS codebase as a development springboard, deploying our product as a PaaS in your Azure cloud, and reusing code components for custom integration, each offering distinct advantages in terms of development time, customization, and infrastructure control.
Implementation Paths
Depending on your needs, you may choose from several approaches to use our solutions locally.
1. SaaS - Codebase as bootstrap
Use our codebase as a starting point and get ahead of the game.
This path would save you several years of development in order to reach a fully working, comprehensive, and extendable SaaS.
2. PaaS (Product as a Service)
Deploy and run 1:1 our solution in your own Azure cloud.
This path would allow you to create your own working version in just a few weeks.
3. Code reuse (Base)
Codebase contains an enormous amount of well-structured and production-proven components.
You can integrate or reuse any of them within your solution
- Internal services
- .Net Nugets
- Entire Modules
- Application infrastructure components
- Advanced features Business logic as modules or suggestions
Modules
You may choose to implement our solutions in full or opt for one of the following modules
- Mapping module (Mapping.Works and Room.Works)
- Connectivity module (HSP)
- BI and insights module (Bi.Works). Requires both modules set above.
Delivery packages
With each of the modules, you receive :
- IaC (Infrastructure as a code)
- Terraform-based workflow for building, changing, and managing the infrastructure in the Azure cloud.
- In the future, this will be expanded to support other Cloud providers
- Codebase
- Azure DevOps repositories. Both Git and bvbnm
- CI/CD
- Fully operational and automated pipelines for each of the services
- Documentation
- HLDs
- Guides
- Workflows
More information about Product Delivery & Infrastructure breakdown - Click here
Technology Stack
List of major tech stack components:
- .Net Framework and .Net Core in C#
- WCF, Rest APIs
- Entity Framework and EFCore for work with Azure SQL DBs
- Redis cache
- Azure services (major)
- Blob storage
- Logic app
- Functions
- Data factory
- ASP.Net MVC and Angular 2/7 for Websites
Tech details
Cloud Hosting
Azure Cloud
Codebase repository
Azure DevOps only and under it, a mixture of TFVC or Git for different projects.
CI/CD pipelines
Azure DevOps Pipelines:
- Artifacts stored in Storage accounts for non-K8s deployments
- Azure Container Registry for K8s docker images. Using Helm charts
SSL
- TLS 1.2 in all our projects.
- SSL certificate expirations are either automatic or maintained in a dedicated file, tracked/handled/fixed by DevOps.
- Whitelabel certificates are applied manually via Portal, eg Back office (requires file+password)
- AKS certificates are auto-renewed using acme.cert-manager.io in the cluster
- HSP API certificate
- Azure Key vault certificate
- Thumbprint and Identifier for the above certificate are added to the deployment configuration
DNS record management
We use Google Cloud DNS but it’s in no way binding and can be managed at your choice.
Maintenance procedures
- Automated tasks in Azure via Logic apps
- Automated tasks in our “Robots” application
- Documentation for DevOps personnel to monitor and maintain anomalies and adjustments as per behavior change
- Tracking and adopting Azure recommendations
User access management
All of our public-facing websites and APIs we use either:
- Applicative Authentication and Authorization using:
- Identity
- Membership (for legacy)
- Microsoft accounts Authentication via a dedicated NPM package.
Internal communication
We have a significant number of vnets and NSGs for internal communication.
Internal communication is done in several different ways, be it:
- HTTP
- TCP
- Service bus
- rabbitMQ
Disaster recovery plan/procedures
- Microsoft service-specific SLAs
- Continuous backups for SQL servers
Migration efforts
For both infrastructure and database, everything is covered in IaC including schemas and Seed data.
Updated 10 months ago