Skip to content

Commit db2e972

Browse files
committed
feat: implemented Public Network and VPC descriptions
1 parent d503820 commit db2e972

12 files changed

Lines changed: 262 additions & 8 deletions

File tree

.devcontainer/devcontainer.json

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
2+
// README at: https://github.com/devcontainers/templates/tree/main/src/python
3+
{
4+
"name": "Python 3",
5+
// Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
6+
"image": "mcr.microsoft.com/devcontainers/python:1-3.12-bullseye",
7+
"features": {
8+
"ghcr.io/devcontainers-extra/features/mkdocs:2": {
9+
"version": "latest",
10+
"plugins": "mkdocs-gen-files mkdocs-material mkdocs-monorepo-plugin"
11+
},
12+
"ghcr.io/devcontainers-extra/features/pipx-package:1": {
13+
"package": "black",
14+
"version": "latest",
15+
"injections": "pylint pytest",
16+
"interpreter": "python3"
17+
}
18+
}
19+
20+
// Features to add to the dev container. More info: https://containers.dev/features.
21+
// "features": {},
22+
23+
// Use 'forwardPorts' to make a list of ports inside the container available locally.
24+
// "forwardPorts": [],
25+
26+
// Use 'postCreateCommand' to run commands after the container is created.
27+
// "postCreateCommand": "pip3 install --user -r requirements.txt",
28+
29+
// Configure tool-specific properties.
30+
// "customizations": {},
31+
32+
// Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
33+
// "remoteUser": "root"
34+
}

docs/index.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,11 @@
1-
# CBWS
1+
# CBWS Docs
2+
3+
Welcome to the documentation for CBWS, your trusted sovereign European cloud provider headquartered in Eindhoven, The Netherlands. We're delighted you're here to explore the power and flexibility of our cloud-native services.
4+
5+
At CBWS, we are committed to providing a secure, reliable, and high-performance platform built on European values and infrastructure. Our initial suite of services – including scalable Instances, our intuitive Kubernetes Engine, versatile Object Storage, and persistent Block Storage – is designed to empower your innovation and growth.
6+
7+
**Please be aware that our documentation is actively under development and represents a work in progress. While we strive to provide accurate information, you may encounter areas where details are still being finalized or expanded. We appreciate your understanding as we continue to build out these resources.**
8+
9+
This documentation serves as your central resource for understanding and utilizing the CBWS platform. Whether you're looking for technical specifications, step-by-step guides, or best practices for deployment and management, you'll find valuable information here.
10+
11+
**Thank you for choosing CBWS.** We're confident that even in its current state, our documentation will provide you with the knowledge and tools necessary to begin building and scaling your applications successfully on our European cloud. We are continuously working to enhance these resources and appreciate your patience. Let's get started!

mkdocs.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
site_name: Default
1+
site_name: CBWS
22
theme:
33
name: material
44
features:
@@ -9,7 +9,8 @@ nav:
99
- Services:
1010
- Identity & Access Management: '!include ./iam/mkdocs.yml'
1111
- Projects: '!include ./projects/mkdocs.yml'
12-
- Virtual Private Networks: '!include ./vpn/mkdocs.yml'
12+
- Virtual Private Clouds: '!include ./vpc/mkdocs.yml'
13+
- Public Network: '!include ./network/mkdocs.yml'
1314

1415
markdown_extensions:
1516
- admonition

network/docs/description.md

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
# Public Networking Service Description
2+
3+
The Public Networking service provides your servers with robust and reliable public internet connectivity. CBWS manages the underlying network infrastructure, including transit provider relationships, Internet Exchange (IX) peering, and core routing, to ensure optimal performance and availability.
4+
5+
This service can be used independently or in conjunction with our [Virtual Private Cloud (VPC) service](/vpc/description) to provide comprehensive connectivity solutions for your hosted infrastructure.
6+
7+
## Service Overview
8+
9+
This service equips your servers with access to the public internet, enabling them to send and receive traffic globally. We focus on providing high-quality bandwidth with diverse routing paths.
10+
11+
## Key Features
12+
13+
* **Managed Public Connectivity:** CBWS handles all aspects of upstream internet connectivity, including BGP routing, peering agreements, and capacity management.
14+
* **Resilient Infrastructure:** Our network is designed for high availability with redundant core components and multiple upstream providers.
15+
* **Scalable Bandwidth Options:** Choose from various billing models and uplink capacities to match your specific needs.
16+
* **Full Capacity Utilization:** CBWS ensures you can utilize the full provisioned capacity of your public network uplink.
17+
18+
## Service Level Agreement (SLA)
19+
20+
* **Per-AZ Availability:** We include a **99.9% uptime Service Level Agreement (SLA)** by default for network connectivity per Availability Zone.
21+
* **Region (Cross-AZ) SLA:** Currently we do not offer a general SLA that covers services across multiple Availability Zones. SLAs are specific to the Availability Zone where the service is delivered.
22+
23+
## Billing Models for Public Bandwidth
24+
25+
We offer the following billing models for your public internet traffic:
26+
27+
* **Mbit/s (95th Percentile):** This model is based on your sustained bandwidth usage. We measure your inbound and outbound traffic separately. At the end of the billing period, the top 5% of these measurements are discarded, and you are billed based on the next highest value (the 95th percentile). This model is ideal for bursty traffic patterns.
28+
* **Flat Rate:** A fixed monthly fee for a committed bandwidth capacity. This provides predictable costs for consistent high-bandwidth usage.
29+
* **TB Bandwidth Usage (Traffic Packs):** Pay based on the total amount of data transferred (in Terabytes) over the public network. Bandwidth packs are purchased beforehand, and overusage is calculated if the allowance is exceeded. This model is suitable for applications with predictable data transfer volumes.
30+
31+
## Uplink capacity
32+
33+
The uplink capacity differs depending on whether the service is for virtual or physical servers.
34+
35+
### Virtual servers
36+
37+
The maximum uplink capacity for a virtual server is as advertised with the selected virtual server flavor. This capacity **is not** shared between public internet traffic and any [Virtual Private Cloud (VPC) service](/vpc/description) traffic.
38+
39+
### Physical servers
40+
41+
_Relevant for bare metal & colocation._
42+
43+
The following dedicated physical uplink capacities are available for connecting your physical servers to our network infrastructure:
44+
45+
* **1 Gbit/s:** Available at nl-ein-1
46+
* **10 Gbit/s:** Available at nl-ein-1
47+
* **25 Gbit/s:** Available at nl-ein-2
48+
49+
The choice of uplink type will typically depend on the server or colocation package selected. For physical servers, Link Aggregation Control Protocol (LACP) is always deployed, bundling them into a single logical channel for increased throughput and redundancy. This total aggregated capacity **is** shared between public internet traffic and any [Virtual Private Cloud (VPC) service](/vpc/description) traffic.
50+
51+
## Combining with Virtual Private Cloud (VPC)
52+
53+
While this service provides public internet access, our [Virtual Private Cloud (VPC) service](/vpc/description) can be used simultaneously to create an isolated, high-speed network for communication *between* your servers. This allows public-facing services to run alongside secure, high-performance backend communication, with internal VPC traffic not incurring public bandwidth charges.

network/docs/getting-started.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Something about Public Network

network/docs/sla.md

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# Public Networking SLA
2+
3+
This document outlines the Service Level Agreement (SLA) specific to the CBWS Public Networking service. This SLA is effective from the delivery date of the Public Networking service and remains in effect as long as the service is supplied by CBWS to the customer.
4+
5+
## Availability Target
6+
7+
* CBWS commits to providing the Public Networking service with **99.9% uptime** per Availability Zone (AZ).
8+
* This availability is measured by CBWS on a calendar month basis.
9+
10+
## Downtime Measurement
11+
12+
* CBWS measures service availability by continuously monitoring connectivity from multiple points within its own network to a diverse set of representative publicly available endpoints. This monitoring occurs every minute. The monitored endpoints include those hosted by major hyperscalers, as well as those on various smaller networks and key eyeball (consumer ISP) networks.
13+
* Downtime is registered if there is a loss of general internet connectivity via the Public Networking service, as verified by these monitoring systems, due to a failure solely within CBWS's network infrastructure. Downtime begins when CBWS confirms such a service interruption (or is reasonably made aware of one by a customer) and ends when general connectivity is restored.
14+
15+
## SLA Claim Process
16+
17+
* **Customer Responsibility:** Customers are responsible for monitoring their own services and identifying potential downtime that may qualify for an SLA claim. CBWS does not proactively issue SLA credits or report on general SLA adherence for individual customer services.
18+
* **Initiating a Claim:** To make an SLA claim related to service availability, the customer must open a support ticket with CBWS through the official support channels (e.g., by emailing support@cbws.nl).
19+
* **Claim Deadline:** The support ticket detailing the experienced downtime must be submitted **within 30 calendar days** following the end of the month in which the qualifying downtime occurred. Claims submitted after this period will not be eligible for remedies under this SLA.
20+
* **Verification:** All SLA claims will be verified against CBWS's monitoring data and service logs.
21+
22+
## Remedies for Non-Achievement
23+
24+
In the event the 99.9% availability target for the Public Networking service is not met in a given calendar month, customers may be entitled to the following remedies:
25+
26+
1. **Reason for Outage (RFO):** CBWS may provide the customer with a Reason for Outage (RFO) including a plan for improvement to address the cause of the service unavailability.
27+
2. **Service Credits (Compensation):**
28+
* **Eligibility:** If the Public Networking service in a specific Availability Zone is unavailable for at least four (4) continuous hours during a calendar month due to failures within CBWS's responsibility, the customer is eligible to request service credits.
29+
* **Credit Amount:** Eligible compensation is 10% of the monthly fees paid for the specifically affected Public Networking service in the impacted AZ for that month. The maximum compensation for any single event or series of related events in a calendar month is capped at €1,000.00.
30+
* **Application of Credits:** Approved service credits will be applied on the customer's next monthly invoice, deducting from the total amount payable for the services.
31+
* Service credits are the sole and exclusive monetary remedy for any failure by CBWS to meet the availability target.
32+
33+
## Exclusions
34+
35+
This SLA for the Public Networking service does not apply to any unavailability, suspension, or termination of service performance:
36+
37+
* That results from a suspension described in the CBWS Terms of Service.
38+
* Caused by factors outside of CBWS's reasonable control, including any force majeure event, or Internet access and related problems beyond the demarcation point of the CBWS network.
39+
* That results from any actions or inactions of the customer or any third party acting on the customer's behalf.
40+
* That results from the customer's equipment, software, or other technology, and/or third-party equipment, software, or other technology not within CBWS's direct control.
41+
* That results from any scheduled maintenance communicated in advance by CBWS.
42+
* That results from customer-initiated security measures, traffic filtering, or abuse mitigation actions.
43+
44+
### Customer Support
45+
Customer support can be requested via email at support@cbws.nl. Opening times are Monday to Friday, 09:00 - 17:00 (CET/CEST). Support requests are responded to within 24 hours of receipt during these times; this reaction time is an effort obligation.
46+
47+
## Concluding Terms
48+
49+
These terms define the Service Level Agreement specifically for the CBWS Public Networking service. The general CBWS Terms of Service also apply to the use of all CBWS services and govern aspects not explicitly covered in this SLA.

network/mkdocs.yml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
site_name: network
2+
theme:
3+
name: material
4+
5+
nav:
6+
- Service Description: "description.md"
7+
- Service Level Agreement: "sla.md"
8+
#- Guides:
9+
# - Getting started: "getting-started.md"
10+
# - Reference:
11+
# - Permissions/roles: "reference/permissions.md"
12+
# - Golang: "golang.md"
13+
# - PHP: "php.md"
14+
# - Protobuf: "reference/protobuf.md"

projects/mkdocs.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,6 @@ nav:
88
- Managing projects: "managing-projects.md"
99
- Reference:
1010
- Permissions/roles: "reference/permissions.md"
11-
- Golang: "golang.md"
12-
- PHP: "php.md"
11+
#- Golang: "golang.md"
12+
#- PHP: "php.md"
1313
- Protobuf: "reference/protobuf.md"

vpc/docs/description.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# VPC Service Description
2+
The Virtual Private Cloud (VPC) service offers a secure, isolated network environment for dedicated inter-server communication within the CBWS Cloud infrastructure. This service complements our Public Networking services, which furnish public internet connectivity.
3+
4+
This service can be used independently or in conjunction with our [Public Network service](/network/description) to provide comprehensive connectivity solutions for your hosted infrastructure.
5+
6+
# Service overview
7+
While our Public Networking service facilitates your servers' connection to the public internet, the Virtual Private Cloud (VPC) service enables designated servers to communicate directly and securely over an isolated private network infrastructure. Each VPC can be configured to include one or more Private Networks. A Private Network is specific to a single Availability Zone. The VPC provides routing capabilities to enable communication between these distinct Private Networks across different Availability Zones within the same region, offering enhanced flexibility and resilience.
8+
9+
Traffic within your Private Networks, and traffic routed between them by the VPC, is segregated from public networks and other tenants. Furthermore, this private traffic is not subject to the bandwidth limitations or metered billing associated with the Public Networking service.
10+
11+
The service is supported on virtual servers, as well as bare metal, colocation and racks in the following Availability Zones:
12+
13+
- **Region nl-ein**
14+
- nl-ein-1
15+
- nl-ein-2
16+
17+
# Key technical features
18+
19+
1. **Isolated Network Segment**: Each Private Network within a VPC constitutes a distinct Layer 2 broadcast domain (VLAN) specific to an Availability Zone. This architecture ensures robust traffic segregation.
20+
2. **Low Latency**: Direct server-to-server connectivity within a Private Network minimizes network hops and processing overhead. Communication routed by the VPC between Private Networks in different Availability Zones also benefits from optimized, low-latency paths.
21+
3. **Unmetered Internal Traffic**: Data transfer between servers within the same Private Network (i.e., within the same Availability Zone) is unmetered. Furthermore, data transfer routed by the VPC between different Private Networks (i.e., across Availability Zones within the same region) also does not contribute to public bandwidth quotas (as defined by the Public Networking service) and incurs no additional data transfer costs.
22+
4. **Regional Redundancy and Resilience**: By enabling the creation of Private Networks in multiple Availability Zones within the same region, and providing :routing between them, the VPC service facilitates the design and deployment of highly available and fault-tolerant application architectures. This allows services to withstand the failure of an individual Availability Zone.
23+
24+
# Implementation details
25+
26+
Upon provisioning, servers designated for a Virtual Private Cloud are configured with access to their specified Private Network(s) within the VPC.
27+
28+
- **Availability Zone connectivity**: Within a single Availability Zone, the VPC service provides Layer 2 connectivity for each Private Network. This allows for a flat network segment across your servers in that AZ as part of that Private Network.
29+
30+
- **Region connectivity**: CBWS provides an interconnected private high capacity backbone between its Availability Zones within the same region. This backbone, _in conjunction with the VPC's routing capabilities_, facilitates communication between Private Networks located in different Availability Zones, based on Layer 3 routing between these subnets (the Private Networks).
31+
32+
## Virtual servers
33+
34+
For virtual servers, a dedicated virtual network interface is provisioned and assigned to the server, granting access to the designated Private Network. The maximum bandwidth available to this interface corresponds to the advertised capacity of the selected flavor.
35+
36+
## Physical servers
37+
38+
_Relevant for bare metal & colocation._
39+
40+
By default, for physical servers, we deploy combined uplinks for the Public Networking service and the Virtual Private Cloud. This consolidated approach allows the total uplink capacity to be shared dynamically between public internet traffic and private VPC traffic, optimizing bandwidth utilization.
File renamed without changes.

0 commit comments

Comments
 (0)