Deployment Architecture
Introduction
Section titled “Introduction”This document serves as a comprehensive guide to the deployment and maintenance of our infrastructure services. It is intended for use by any relevant stakeholders.
Scope of Services
Section titled “Scope of Services”The services covered by this document include our web servers, databases, network infrastructure, and security systems. This encompasses both hardware and software components, as well as any third-party services we utilize.
Deployment Strategy
Section titled “Deployment Strategy”Deployment Objectives
Section titled “Deployment Objectives”Aim to minimize downtime, enhance reliability, scalability, security, efficiency, enable rollbacks, ensure compliance, improve monitoring, and support continuous delivery while facilitating collaboration.
Phased Deployment Plan
Section titled “Phased Deployment Plan”Outline the phased approach to deploying services, including timelines and milestones. #Rollback and Recovery Strategy: Describe the strategy for rolling back deployments and recovering from failures.
Windows-Based Services Deployment
Section titled “Windows-Based Services Deployment”Microsoft SQL Server (MSSQL)
Section titled “Microsoft SQL Server (MSSQL)”-
Service Overview: Microsoft SQL is a database service to store data in the form of tables.
-
Pre-deployment Requirements: Windows operating system, Microsoft SQL server.
-
Installation and Configuration Steps:
- Backup and Disaster Recovery:
- Full Backup. Maintenance Plan is scheduled to take full backups every 8 hours. Full backups Older than 2 Weeks are automatically deleted from Main Server.
- Transactional Log Backup. Monitor transaction log growth and disk space utilization to avoid potential issues. Transactional log Backups for Production databases on Main Server. Customer is responsible for transition of Transactional log backups
- Backup and Disaster Recovery:
Linux-Based Services Deployment
Section titled “Linux-Based Services Deployment”Frontend Application
Section titled “Frontend Application”-
Service Overview: Frontend application and the main interface of our application for end user
-
Technology Stack Description: React is stack for the application for user interface and user experience
-
Deployment Process: Frontend application is deployed on Linux centralized server using isolated docker container with available port binding.
-
Environment Configuration: For frontend deployment a customized docker file available with frontend code repository.
-
Continuous Integration and Deployment: Describe the CI/CD process for the frontend application.
Backend Services
Section titled “Backend Services”-
Service Overview: backend service and running as a backbone of the application.
-
Technology Stack Description: For backend service we are using node as a stack.
-
Deployment Process: Backend of application is deployed on Linux centralized server using isolated docker container with available port binding.
-
API Management with ApiSix: For connection with frontend and backend we are using ApiSix as a gateway.
ApiSix
Section titled “ApiSix”-
Service Overview: ApiSix is an API gateway for integration and authentication of users.
-
Installation and Configuration Steps: ApiSix is installed on centralized Linux server using docker container and port binding for connection.
-
Routing and Load Balancing: Base of prefix, ApiSix handle request between frontend and backend.
-
Plugins and Extensions: KeyCloak is used for user authentication.
Jupyter/PySpark
Section titled “Jupyter/PySpark”-
Service Overview: Jupyter/PySpark is a used to Big data processing in an optimized strategy.
-
Installation and Configuration Steps: PySpark is deployed with isolated docker container on a centralized server.
-
Integration with Data Sources: Microsoft SQL is the data source for PySpark to handle huge amount of industry data.
-
Resource Allocation and Scaling: Volumes are mounted with centralized docker container for source and target connection drivers.
MQTT Broker
Section titled “MQTT Broker”-
Service Overview: An MQTT broker is a server that facilitates communication between MQTT clients by receiving messages from clients and distributing them to the appropriate destinations.
-
Installation and Configuration Steps: MQTT is deployed with isolated docker container on a centralized server.
-
Publisher/Subscriber Model Explanation:
- logging errors of scanning in real time.
- RGB light 🚦 control through SQMS application.
KeyCloak
Section titled “KeyCloak”-
Service Overview: KeyCloak service is working as a user manager service.
-
Installation and Configuration Steps: KeyCloak is deployed with isolated docker container on a centralized server with port binding on host machine.
-
User and Role Management: There are 3 types of user management available in Keycloak
- Role Based
- Group Based
- User Based
-
Security and Authentication Mechanisms: Securing Frontend and Backend routes with ApiSix using KeyCloak user management.
-
Integration with Other Services: KeyCloak is integrated with ApiSix and Microsoft SQL database for back and forth user management.
Ansible for Configuration Management
Section titled “Ansible for Configuration Management”-
Service Description and Automation Role: Ansible plays a major role in seamless deployment for our end working nodes.
-
Ansible Architecture and Components: Ansible is running on centralized windows server and working nodes are connected with that centralized server to manage and deploy all offline services.
-
Playbook Creation and Execution: Playbooks are created with docker integrated files. These integrated docker files will execute with using ansible playbook.
-
Worker Node Management and Deployment Automation: For any type of update on worker node or if is any new worker node will add, we only need to run playbook using inventory file.
Security and Compliance
Section titled “Security and Compliance”-
General Security Framework: Implementing a layered defense strategy that includes measures such as firewalls, intrusion detection systems, and regular vulnerability assessments..
-
Compliance with Industry Standards: Adherence to standards such as ISO 27001, GDPR, and HIPAA ensures that sensitive data is handled appropriately.
-
Service-Specific Security Considerations: Depending on the service, additional security measures may be necessary. For example, a web service might require SSL/TLS encryption for data in transit.
Maintenance and Monitoring
Section titled “Maintenance and Monitoring”Routine Maintenance Tasks
Section titled “Routine Maintenance Tasks”Regular system updates, patch management, and backups are crucial for maintaining system integrity and availability.
Monitoring Tools and Strategies
Section titled “Monitoring Tools and Strategies”Tools like Nagios or Zabbix can be used for system monitoring, while strategies might include setting up alerts for unusual activity and regularly reviewing system logs.
Performance Metrics and Alerts
Section titled “Performance Metrics and Alerts”Key performance indicators (KPIs) might include system uptime, response time, and error rates. Alerts should be set up to notify the appropriate personnel if these metrics fall outside of acceptable ranges..
Data Collection and Management
Section titled “Data Collection and Management”TiZnp Service Integration
Section titled “TiZnp Service Integration”-
Connects with Various Data Sources: Description of how TiZnp Service Integration connects with various data sources.
-
Processes and Normalizes Data for Uniformity: Description of how TiZnp Service Integration processes and normalizes data.
Sooperwizer API
Section titled “Sooperwizer API”-
Provides Real-Time Data Monitoring: It is responsible for RFID scan from RFID box.
-
Enables Data Quality Supervision: It is responsible for RFID scan from RFID box.
Local MSSQL Docker Container
Section titled “Local MSSQL Docker Container”-
Hosts the MSSQL Database Locally: Hosting MSSQL on Worker node PCs allow to collect data and stored if there is any dis connectivity between centralized database and worker node PCs .
-
Ensures Data Persistence and Security: Host machine volume is mounted with MSSQL container for data persistence and security for every node PC .
Conclusion
Section titled “Conclusion”Deployment Summary
Section titled “Deployment Summary”A review of the deployment process, including any challenges encountered and how they were addressed..
Future Roadmap and Enhancements:
Section titled “Future Roadmap and Enhancements:”Plans for future updates or enhancements, such as new features or performance improvements.
Support and Contact Information:
Section titled “Support and Contact Information:”Information on how to obtain support, such as a help desk email address or phone number.