Achieving High Availability with NES
At HeroDevs, we are dedicated to empowering our customers with full operational autonomy in their software projects. To support this goal, this document outlines strategies and practices to mitigate downtime risks effectively.
For most of our customers, adopting Never-Ending Support (NES) incurs zero downtime risk based on the following principles:
-
No Uptime Dependencies: Our products do not introduce "uptime dependencies" or “runtime alterations” that couple your products to HeroDevs or any third-party resources. This ensures that once your product is built with an NES component, it will function consistently across all environments, regardless of external factors.
-
Familiar Distribution Channels: Our distribution channels mirror those you have relied on for years with original OSS components, whether through package managers like NPM, Maven, Composer, etc., or direct asset downloads. NES components are easy to adopt into your projects and existing quality and compliance workflows, such as code auditing, security scanning, and license enforcement.
-
High Availability: With a 99.5% uptime guarantee*, our NES Registry ensures reliable package delivery with minimal risk to your Software Development Life Cycle (SDLC).
* Most customers effectively experience 100% uptime by using Repository Managers (JFrog Artifactory, Sonatype Nexus, etc.) to manage third-party dependencies, whether from private registries like our NES Registry or public registries like npmjs.com or Maven Central.
NES Registry Availability and Maintenance Windows
HeroDevs takes a proactive approach to ensure the highest levels of service reliability and performance in managing the NES Registry. The following sections outline our practices for both planned and unplanned downtime, as well as scheduled maintenance windows. Understanding these practices helps our customers anticipate potential service interruptions and plan accordingly, ensuring seamless integration and operation of NES components within their development workflows.
1. Planned Downtime
Planned downtime refers to scheduled service interruptions for routine maintenance or system upgrades. These periods are essential for maintaining the health and performance of our services and are generally quick, infrequent, and easily managed as discussed earlier.
Key Characteristics of Planned Downtime:
- Scheduled in advance: Users are notified ahead of time.
- Occurs during off-peak hours: Typically arranged when fewer users are active.
- Minimizes operational impact: Carefully timed to ensure minimal disruption.
2. Unplanned Downtime
Unplanned downtime occurs without prior notice due to unforeseen issues such as hardware failures, software bugs, or external disruptions like power outages or third-party service failures. These events can affect the availability and performance of our services. Our team prioritizes resolving these issues promptly to restore functionality and minimize inconvenience.
Key Characteristics of Unplanned Downtime:
- Unexpected: Occurs without warning.
- Requires immediate response: Our teams work diligently to address and resolve the issue as quickly as possible.
- Impactful: Can disrupt normal service operations.
3. Maintenance Windows
A maintenance window is a predefined period during which planned maintenance activities are carried out. These windows allow us to perform necessary system updates, patches, and preventive measures with minimal disruption to users. Maintenance windows are communicated in advance through our official channels, allowing users to plan around these times.
Key Characteristics of Maintenance Windows:
- Pre-defined schedule: Regularly occurring intervals, known in advance.
- Designed to minimize disruption: Timed to have the least impact on service availability and user experience.
- Critical for system health: Essential for maintaining and enhancing system performance and security.
Current NES Maintenance Windows:
- The first and third Saturday of each month, with a maximum expected service impact of 5 minutes, starting at 12:00 UTC / 5:00 PDT / 8:00 AM EDT.
Understanding and planning for these downtime and maintenance periods help manage expectations and ensure the smooth operation of services. If you have any questions or need further assistance, please contact our support team.