Infrastructure & operations
The MyTower systems can run on the infrastructure of any major hosting provider, offering Kubernetes managed services. For Customers in Europe, we recommend the French Hosting Provider ScaleWay, where the majority of our customer installation are hosted. The MyTower system is also compatible with the hosting offerings of Google, Amazon AWS or Microsoft.
Cloud Resources
MyTower uses the following cloud resources:
-
Instances: This is a powerful range of virtual machines (VM) on which the platform is installed.
-
Processor: AMD EPYC, 7000 series (4 to 48 vCPU per VM)
-
Memory: DDR4 ECC (16 to 256 GB of memory per VM)
-
SLA 99.99%
-
-
Block Storage: Powerful range of data storage.
-
100% SSD
-
5000 IOPS guaranteed, soon 10,000 IOPS
-
SLA 99.99%
-
Storage replicated 3 times.
-
-
Private Networks: Isolation of internet VM instances.
-
Layer Ethernet Network 2 between VM
-
4Gbps between VM
-
-
Placement Groups: Concepts to specify the location of a set of virtual machines in the same data center, or even the same bay. This concept allows us to manage high availability.
-
Security Groups: Shared security rules. A set of VM can share the same security rule.
Deployment: Kubernetes
The MyTower component set is deployed using Kubernetes technology. We organize the Kubernetes clusters as follows:
-
A Dev/UAT (Staging) cluster: This is a cluster that brings together all the DEV/UAT environments managed by MyTower. An environment (DEV or UAT) corresponds to a namespace in Kubernetes. Development teams have the right to deploy their deliverables on this cluster. Even if this cluster seems to be shared, the data (Block Storage) that is hosted there is not. Indeed, each database (or file folder) has its own un-shared disk.
-
One Cluster by Production Environment: In an effort to isolate production environments, MyTower creates a cluster by production environment. These production clusters are also redundant on several data centers. In terms of access, only authorized DevOps teams have the right to access and deploy to these clusters.
-
A Cluster by Pre-Production Environment (Optional): In the event that the customer requests the existence of an iso production pre-production environment, we create a cluster of pre-production 100% iso to that of production.
A cluster contains two types of machines:
-
Masters: The Masters guarantee the operation of Kubernetes itself without them having a direct relationship with MyTower.
-
Workers: Workers (or nodes) make MyTower work while being orchestrated by the Masters.
The Masters and Workers are in the same private network (VPC) and are not accessible from the internet.
The master-master, master-worker and worker-worker communication is done in the private network.
The masters expose a highly secure API to the outside world. It is this API that allows us to interact with the cluster, especially to deploy a new version of MyTower.
Workers communicate with the outside world via a single entrance: the Ingress. This is a single public IP per cluster associated with a firewall managing the access rules.
High availability
High availability is managed through scaling kubernetes and placement groups provided by Scaleway, as follows:
-
The Master Kubernetes: replicated 3 times in 3 different placement group regardless of the environment (DEV/UAT/PRE-PRODUCTION/PRODUCTION).
-
The workers:
-
IN DEV/UAT: High availability is not guaranteed in DEV/UAT. Some MyTower services are redundant in DEV/UAT but not all.
-
PRE-PRODUCTION/PRODUCTION: In production, all workers are redundant in different placement groups and operate in active/active. In the Kubernetes sense, it is a native scaling on nodes placed in different places so as to ensure high availability.
-

Backing up data
We use Kubernetes to back up our data:
-
VolumeSnapshot: are used to backup databases and file folders
-
CronJobs: are used to define the following backup policy:
-
Daily backup: kept for 7 days
-
Weekly backup: kept for 4 weeks
-
Monthly backup: kept for 6 months
-
Annual backup: kept for 5 years.
-
Data restoration is done on request. The data restore process is managed by Kubernetes and involves changing a Volume's data source and pointing it to the VolumeSnapshot to be restored. This restore procedure is tested every time you deploy to the DEV/UAT cluster.
Environments
For a given customer, MyTower is deployed in multiple environments. By default, MyTower is deployed in four environments:
-
DEV: A first Sandbox environment made available to the customer for:
-
Testing SSO connectivity
-
Deploy new EDVs if there are any.
-
-
UAT (Staging): The test environment between the client's functional teams and the MyTower functional ones.
-
Environment connected with SSO if there are any
-
Validating functional topics
-
Significant data volume.
-
-
PRE-PRODUCTION: Optional environment because some customers can settle for the UAT environment.
-
Iso-production environment in terms of infrastructure
-
Iso-production environment in terms of data.
-
-
PRODUCTION: Final production environment. Redundant environment on two data centers.
Reversibility
At the end of a MyTower subscription, we are committed to helping the customer transfer their data from MyTower platforms to their environment before deleting it.
The workload and cost of this reversibility service depend on the nature of the transfer:
-
Transfer of MyTower platforms to MyTower at the customer's premises
-
Transfer of MyTower platforms to a third-party solution on third-party premises
-
Any intermediate configuration
The content and conditions of such a data migration project are defined in a separate statement of work.