What are the Differences

Eight is a framework designed for enterprise privatization environments. It is engineered to build increasingly complex and large-scale internal systems within enterprises, capable of handling growing processing power and data volumes. Eight offers significant advantages over existing technological solutions.

Simple Deployment and Operating Environment

Eight is used to construct large-scale systems. Typically, such systems require enterprises to provide a relatively complex platform. For example, using technologies like Kubernetes (k8s), Istio, or Mesos necessitates substantial infrastructure investment in private clouds. Even opting for non-cloud solutions like Spring Cloud also requires considerable investment in service setup, operation, and maintenance. These are additional costs beyond the enterprise’s core business, leading to long-term consumption of human and material resources.

Whether running a single node or expanding to a cluster of thousands of nodes, the implementation and maintenance of Eight is extremely simple and clean.

Running an Eight node only requires a device with a JVM installed (currently supporting Java 1.6 and above, with some optional modules requiring higher versions). Starting a node requires executing just one command, with no additional requirements.

Starting eight

Similarly, hundreds or thousands of computing nodes can be run without any dependencies other than the JVM, and without complex configurations for each node. Once these nodes are started, they act as standby seats where various modules and systems can be published, updated, adjusted, and unloaded at any time. The cluster can be configured in various ways, commonly by setting a startup parameters with network-accessible shared storage location in the cluster. Modules and configurations published to the storage will be loaded and configured by the cluster, and any modifications or deletions in the storage will be reflected in real-time updates or unloading system modules within the cluster.

Here is an example of updating a directory that simultaneously affects multiple running seats. Cluster Update

Common shared storage solutions such as Memcache or Redis, or network file systems like GFS, can be used as configure center. This means that to run an Eight cluster, an enterprise typically only needs to configure a Redis server (cluster mode is recommended) and then start seats on the cluster. System configuration, deployment, iteration, and unloading are all centralized in the storage system. Enterprises usually do not need to configure and maintain services on each node, as the cluster has self-discovery and management capabilities, allowing each node to continue running and dynamically self-update. Cluster Deployment

This is undoubtedly very friendly for many enterprises with insufficient infrastructure.

Lightweight Loading and Updating

Technologies such as Docker use containers to divide large systems by micro-service units, with reloading and updating involving process restarts and scheduling, typically causing service interruptions of several seconds to minutes. Hardware virtualization technologies like OpenStack may result in even longer updates. While greyscale updates or temporary cluster scaling can be used to mitigate this, it usually means a temporary reduction or increase in computing resources.

Eight updates at the code module level, with processes never restarting. Loading and updating involve merely loading a segment of code. Updates are confined to fine-grained local areas, typically completed within milliseconds, making them almost imperceptible to the running system.

In the example below, the first response outputs data in JSON format (bottom left corner), and after replacing the data formatting module, the second response immediately outputs a different result (XML format). Format Change

For enterprises engaged in real-time data computation, ensuring the system can smoothly update in line with business changes without causing system fluctuations or resource impacts is of great significance.

System Monitoring and Management

Unlike monitoring technologies in Kubernetes, which focus on service status, resource consumption, and network traffic, Eight delves into the code and business logic, providing not only coarse-grained information but also detailed execution, invocation methods, and statistical data for specific modules, interfaces, or code segments.

In the example below, the call counts for different modules are shown. System Monitoring

Eight’s monitoring module also offers robust control and management capabilities, allowing parameter settings and adjustments for specific modules running on particular nodes to adjust system status in realtime. It also supports online debugging and analysis to track and resolve errors in the production environment, as well as module updates, reloads, business scheduling, and other capabilities.

In the example below, business logic is dynamically adjusted by modifying parameters of the formatter module, affecting the system’s output format. Parameter Adjustment

For businesses needing continuous data tracking, system performance analysis, and parameter optimization, this is undoubtedly a boon.

Remote Deployment, Updating, Monitoring, and Management

All the above capabilities of Eight can be operated and managed remotely through secure channels. This means that a computing cluster deployed in one location can be maintained and managed from remote sites. For enterprises, centralizing the production, deployment, debugging, monitoring, and maintenance of systems distributed across various locations can significantly enhance system quality while reducing human and material costs.

On the other hand, this also means that enterprises lacking sufficient technical reserves or resource budgets can outsource the development, deployment, and maintenance of privatized systems to professional technology companies. The systems and data run internally, while development, updates, and maintenance are handled remotely by external partners. This approach balances business security and service quality at a lower cost. Remote Management

More Features

Moreover, as you continue the tutorials, you will discover that Eight offers even more:

  • Improved software development organization, significantly enhancing development efficiency and quality.
  • More robust and high-quality modules with greatly increased reusability, making it easier for users to accumulate technical assets.
  • Lower costs for system modifications and adjustments, whether in development, deployment, or maintenance.
  • Fewer services, less network bandwidth, reduced CPU and memory usage, and more stable systems.
  • More flexible system allocation and implementation methods, maximizing the use of existing resources.

Isn’t it cool?