Architecture Business Case
Enterprise CMS Application
The proposed Enterprise CMS application provides scalable, high performance, cost-effective cloud native solution with AWS services to meet current challenges of CATALIS clients and covers small, medium and large courts in the country with its new case management system. It is a next generation solution for the courts.
It is an AWS cloud based SaaS solution comes with modern .Net Core (C#) based back-end with microservices, Modernized UI using a front-end framework that can be run on Linux or Windows, Multi-tenant architecture allowing for each customer to have their own database. The modernized application and databases will improve the delivery of case management of courts across the country. It helps digitization of internal workflows and processes of courts with a state-of-the-art integrated features utilizing cloud native and open source technologies.
The proposed CMS application develops from existing CMS360 application and adds best functionalities of Benchmark application and is developed with microservices architecture and Amazon Aurora PostgreSQL and NoSQL databases. By using Open source technologies and AWS services, it is going to save on license cost and achieve scalability, reliability, Resiliency, Fault tolerance, Efficiency and Application and Data security.
In order to achieve the business objectives, We have identified the challenges and a thorough discovery and assessment of current CMS360 and Benchmark application architecture is being done. The proposed new architecture for Enterprise CMS application comes with the technology stack as described below.
Technology Selection for Target Enterprise CMS Application
Sl. No | Application /Component | Source environment (Product/Tool/Framework | Enterprise CMS Application (Product/Tool/Framework) |
1 | UI/UX | CMS360: .NET framework-based application with a UI built on webforms technology. Benchmark: IDE: Visual Studio Programming Languages: http://VB.NET , C#, JavaScript UI Frameworks
| IDE: Visual Studio 2022 Programming Languages: C# UI Frameworks: Angular, http://ASP.NET COREMVC, Telerik controls
|
2 | Data access | http://ADO.NET , CODESMITH | Latest ENTITY FRAMEWORK CORE 8.0, Coldsmith |
3 | Database platform | SQL Server 2014 on Windows Server 2016 | Amazon RDS for PostgreSQL Amazon Aurora PostgreSQL, Linux operating system, NoSQL databases. |
4 | Version control and Collaboration | Azure DevOps and JIRA | Azure DevOps, Github |
5 | Development methodology | Agile Methodology | Agile methodology |
6 | Infrastructure components /Tools |
| AWS cloud, Linux operating system, VPC, ROUTE53, AWS Lambda, AWS API Gateways, Cloudfront, Cognito, Cloudwatch |
8 | Deployment tools |
| Docker, Amazon AKS |
9 | Monitoring and logging | CMS360: AWS services Benchmark: SSMS and File based logging. Microsoft Tools for monitoring. | AWS Cloudwatch, AWS X-Ray, ELK stack, Grafana, VPC Flow logs |
10 | CI/CD Pipeline | N/A | Azure DevOps, Jenkins |
11 | Messaging and event-driven architecture | N/A | Amazon SQS or SNS |
12 | Authentication and authorization | CMS360: IAM, AWS Cloud based
Benchmark: Form based authentication | Amazon Cognito for User Authentication, IAM OAuth2: For token-based authentication. JWT (JSON Web Tokens): For secure data exchange.
|
13 | Containerization and Orchestration | Not used. | Docker to containerize microservices, Amazon ECS or EKS for orchestration. |
14 | CI/CD implementation | QA manual processes | AWS services like Code Pipeline and CodeBuild. |
15 | Security and Networking |
| VPC, Internet Gateway, NAT Gateway, Route Tables, Network ACL, VPC peering, |
16 | Security and Compliance | GDPR, HIPAA | IAM roles, security groups, encryption Compliance regulations: GDPR, HIPAA etc. |
17. | Testing of microservices | Not applicable | Testing Frameworks: JUnit, NUnit, pytest, Mocha, etc. API Testing: Postman, SoapUI, or REST Assured. Load Testing: JMeter, Gatling. Monitoring: AWS CloudWatch, AWS X-Ray. Security Testing: OWASP ZAP, AWS Inspector. |
18 | Low-code/No-code Tools | Not applicable | Appian, Mendix, OutSystems : To be determined |
19. | Migration tools | N/A | AWS DMS, AWS SCT, AWS Microservice .NET Extractor, AWS Toolkit for .NET Refactoring. |
20 | Discovery and Assessment | N/A | AWS Discovery agent, Migration Evaluator, |
21 | Serverless Tools |
| AWS Fargate - container management service, Serverless functionality for large applications Lambda: serverless functionality for small applications. |
22 | Feature flag functionality tools |
| AWS feature flag
|
23 | Other tools/services |
| As applicable , TBD |
Key Benefits of Modernizing with Aurora PostgreSQL and AWS:
Managed Services: Aurora PostgreSQL is fully managed, so tasks like backups, patching, and scaling are automated.
High Availability: Aurora automatically replicates data across multiple availability zones, providing high availability and fault tolerance.
Scalability: Aurora can scale automatically with serverless and can handle millions of transactions with minimal latency.
Isolation: By breaking monolithic components into microservices, Each microservice can have its own database schema or table space within Aurora to support scalability and isolation.
Flexibility and Cross-platform: http://ASP.NET Core is compatible with Windows, macOS and Linux. It also can be run on other OS. .NET 8 is truly cross-platform and integrates seamlessly with cloud platforms.
Performance: Aurora PostgreSQL provides up to 5x the throughput of standard PostgreSQL, making it ideal for SaaS solutions.
Cost Efficiency: You only pay for what you use, and the ability to automatically scale Aurora helps optimize costs.
By adopting a cloud-native, SaaS-based approach using Amazon Aurora PostgreSQL, We can achieve higher agility, performance, and cost-efficiency for our modernized CMS Application.