Solution Architectural Design & Requirements
Overview
This High Level Design (HLD) is provided to detail the architectural design and requirements of the Enov8 Solution BBOT. The document also aims to provide necessary context to the reader so they can better understand the purpose of the solution.
Note: The network & firewall requirements specific to your deployment will vary slightly depending on the modules and the hosting method used, as well as your specific use cases.
Please refer to the next section "Reference Architecture" for more information
Architecture
BBOT seamlessly communicates with your test instances, fetching relevant data and establishing a connection with the User Interface. It performs health monitoring by continuously monitoring the status of the test instances and retrieving critical information. It then proceeds to update your Enov8 CMDB, integrating live status updates into the system. This ensures that your CMDB reflects the current state of the test instances, providing real-time information for effective tracking, monitoring, and proactive management of your test environment. The BBOT's versatile integration capabilities enable seamless communication, ensuring accurate and synchronized system information across Enov8's Ecosystem and associated tools. This updated data is then utilised to populate trend tables within the ecosystem, providing valuable insights and analysis of system trends and performance over time. The integration and trend analysis capabilities enhance decision-making and improve overall system effectiveness in the Enov8 Ecosystem.
The below diagram provides a visual representation of BBOT components and how they connect to other systems and ecosystem.
General Hosting Information & Requirements
Flexible Hosting Options
The BBOT solution supports flexible hosting options and can be deployed:-
-
On-Premise e.g. As a client hosted Virtual Machine.
-
On Client's Private Cloud e.g. AWS, Azure, Google Cloud, etc.
On Premise or Client Private Cloud deployment is generally the suggested approach as this can greatly streamline integration, networking and security requirements of a BBOT deployment as a VPN and associated DNS and Firewall changes between a BBOT hosted AWS instance and your own network(s) is not required.
Supported Operating Systems
Enov8 recommends hosting the solution on a Linux Server. Below are the supported operating systems.
-
Red Hat Enterprise Linux v8.x.
-
Ubuntu Server 20.04 or newer.
User Web Browser Requirements
All users that login to the application require an HTML5 web browser.
Recommended Web Browsers | Supported Versions |
---|---|
Google Chrome, Firefox, Microsoft Edge (Version 85 or newer) or Opera. | All latest versions are supported. |
Microsoft Edge Legacy and Internet Explorer are not HTML5 compliant and are not supported.
Access Requirements
Remote access via SSH to the hosting server will need to be provided.
A means of transferring the installation material from Enov8's secure file server to the client's server will also be required. Generally via SSH file transfer or a mounted network share. The Enov8 consultants onboarded with client remote access to support and deliver the implementation will require sudo ALL access to the server(s) hosting BBOT to perform the installation and implementation of the BBOT solution.
Hosting Requirements (On Premise / General)
This section details the requirements for hosting the BBOT solution on premise.
Server Requirements
The below recommended specification is based on a typical deployment / instance of BBOT.
Server Type | Physical or Virtual |
---|---|
Operating System | Red Hat Enterprise 8.x (Note 9.x is not supported currently) or Ubuntu Server 20.04 LTS or 22.04 LTS |
Processor | 4 Core x64 |
Memory | 16GB |
Storage | 10GB OS Volume mounted at /, 40GB App Volume mounted at /enov8* |
BBOT Sizing Table for a more detailed recommendations based on Engine size.
Backup Requirements
BBOT outputs it's data model backups to a file-based backup (/enov8/bbot/data) which can be used for backup and restore (Including migrating from BBOT test/staging instance to BBOT production instance).
A network file share or shared drive mounted to the BBOT server(s) is recommended for automatically backing up these files. In addition to the recommended approach of the automated data model backup files. The client can also optionally take snapshots of the application server.
Networking
General Port Requirements
The below provides an indication of the usual ports required by the BBOT solution. Your use cases may require additional ports/protocols.
Port/Service | Protocol | Port Required | Manually Opened | Inbound | Outbound | Comments |
---|---|---|---|---|---|---|
443 HTTPS | TCP | Yes | Yes | Yes | Yes | Inbound required for users to access BBOT solution and BBOT RestAPI. Outbound required for integration with other tools via API (Over HTTPS). |
80 HTTP | TCP | Yes | Yes | Yes | Yes | Inbound required for initial install before HTTPS setup. Outbound Required for integration with other tools via API (Over HTTP). |
53 DNS | UDP | Yes | Yes | Yes | Required for DNS resolution. | |
22 SSH | TCP | Yes | Yes | Yes | Yes | Required for SSH remote access. |
The following configurations are recommended configurations to start with.
POV | Pilot | Test | Prod | |
---|---|---|---|---|
BBOT | Physical or Virtual | Physical or Virtual | ||
Web/App | Server: Linux: Red hat 8.x/Ubuntu 20-22.04 | Server: Linux: Red hat 8.x/Ubuntu 20-22.04 CPU: Intel Dual-2-Core, Memory: 8GB MEM, Storage: 10GB OS Volume mounted at /, 40GB App Volume mounted at /enov8* | Server: Linux: Red hat 8.x/Ubuntu 20-22.04 CPU: Intel Quad-4-Core, Memory: 16GB MEM, Storage: 10GB OS Volume mounted at /, 40GB App Volume mounted at /enov8* | |
Remote Shared Data Store | N/A | 100GB Network File System mounted at /enov8/bbot/data for bbot data backup |