-
Notifications
You must be signed in to change notification settings - Fork 83
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Official] Contentify Cloud #547
Comments
@chriskonnertz AWS/GCP? docker? scaling on the backend? :) |
|
You can try Scaleway Kapsule. It's managed Kubernetes cluster, the control plane it's free, you only pay for worker nodes used. You can start with only one worker node and activating (for free) the autoscaler to auto add new workers (you can set a limit) when all ressources are consumed. The cheapest worker is 7,99€/month for 3 vCPU and 4 GB RAM. According to use a Kubernetes cluster, a load balancer is required to redirect request only to working node and auto-update a list of node (when node are replaced, deleted or added). The cheapest load balancer is 8.99€/month, but it managed too. Now, we need to think about the database, how you want store data ? Shared database cluster out of Kubernetes ? Shared database cluster in Kubernetes ? One dedicated database instance per Contentify instance in Kubernetes ? I think, the important thing in this project is the service availability, free or premium users must have a good availability of their website. Several days i create an infrastructure example on Bitbucket, i don't know if you have seen my message. I will copy paste the content here. Let me feedback about it and your opinion about the service you want. Keep in your mind, i can help you about this subject if you want. My message on Bitbucket:My first idea, is to using Kubernetes to have some flexibility and resilience. Kubernetes have some auto-healing and auto-scaling feature, autoscaling can help you to control the limit of the platform and the price too.
Domain can be not managed in Scaleway (it’s an early access) but we can go to another cloud provider with API. Infrastructure schemaHow it works ?
How works a request ?
How deploy this infrastructure and his changes ?
How to test code without using a paid cluster ?
How to monitor the infrastructure ?
How to deploy and configure an Contentify instance ?
Beautiful way but not required.To keep a basic API and manage instance easily, is to create a Contentify Operator, i don’t use it at the moment, but i’m reading the book (http://shop.oreilly.com/product/0636920234357.do). The Operator it’s an extends function of Kubernetes, it can help you to maintain your ressources. It manage it with Code, you can listen on Kubernetes events related of your ressources to do anything (eg: You want to upgrade a Contentify instance, you can tell to make a backup before any upgrade, …) |
Hey, sorry for the delay... I have a couple of questions, because I am not realy used to work with Kubernetes.
Sorry for asking a lot of questions but I am not a Kubernetes specialist. :P |
Hey, No problem for the delay :), don't afraid to ask about infra, it can be challenge my proposal and help you to understand how it works.
Scaleway provide a Kubernetes cluster as Kapsule name (kapsule is just the commercial name). Kubernetes needs to have an etcd database and some master node to work, theses resources are managed by Scaleway. Scaleway provide a little interface on his console to manage cluster (see scaleway resources used, create, delete or update). Kubernetes provide with a dashboard you can enabled when you will create your Kubernetes cluster (cf: https://www.scaleway.com/en/docs/get-started-with-scaleway-kubernetes-kapsule/#-Creating-a-Cluster). The Kubernetes dashboard is in english and the Scaleway console is in french and english.
Yes an only one worker can host some Contentify website. There are some limitations on Scaleway Kapsule:
Yes, It's just a bandwidth limit on the incoming traffic. 200 Mbit/s for some small website it's ok.
The load balancer directes the traffic between the workers nodes to arrive in Traefik and Traefik redirect the traffic to the correct website.
A worker node are exposed to the virtual machine lifecycle (hypervisor crashed and vm are unexpectedly shutdown, the cloud provider can make a maintenance, ...) When a worker node are shutdown unexpectedly, container (Contentify website) are balanced to an another worker node to limit the disruption time.
Load Balancer is not required, but recommended. Why a load balancer is recommended ? The load balancer have a list of worker node are available in the Kubernetes cluster, when any worker are destroyed or shutdown unexpectedly the load balancer we stop to forward any request to theses worker. If you start the project without any load balancer, customer may have some error requests when worker shutdown or destroyed unexpectedly, because the dns cache will keep the IP of the destroyed worker node. The Load Balancer provide a Virtual IP Address to ensure they are already available and you just need to put them in your domain, and the list of worker node are every time update.
Block storage is only needed for stateful application. Kubernetes it's just an orchestrator of container, a container can move between worker node during an update or an disruption of one or multiple worker node. A container (eg: database) must always have its files regardless of whether it is moved from one worker to another. If you store it's data on the worker node and the container is moved to another worker you will loose data. If the worker node are destroyed, you will loose data too. Maybe, you can choose to host database outside of Kubernetes and you don't need any block storage.
Yes, a worker node it's a VM (eg with DigitalOcean: droplet).
It's like you want. In Contentify, the must important thing it's the Database and file uploaded in the website. Some open source project can running on Kubernetes to manage backup with different stockage backend. |
This issue has been automatically marked as stale, because it has not had recent activity. It will be closed in 30 days if no further activity occurs. Thank you for your contributions. |
Contentify Cloud
Contentify Cloud is nothing less than a true paradigm shift in the development, support and operation of Contentify. For a looong time (years!) one of the biggest issue with Contentify was the most important thing: How to get it run?! Over the years we have implemented plenty of improvements to help people with this step. But, at the end of the day, it was not enough. Too many had serious trouble.
Contentify Cloud is the definitive solution: Instead of letting you alone with the challenge to configure the hosting environment and installing Contentify, we will take care. We will offer you managed hosting for your Contentify website and it will be 100% free. This is no joke and no trick. We will combine the advantages of an open source CMS with the advantages of software as a service (SaaS) to create a new experience for gamers all around the world.
Free Plan
There will be different plans, presumably "Free" and "Premium". We will start with the "Free" plan. It will have a lot of restrictions in order to minimize costs, since you get it for free while we have to pay for the server infrastructure. These are the restrcitions:
These restrictions might seem harsh at the first glance, but keep in mind that this offering is completetly free and not supported by putting advertisement on your website. We have to keep costs at a minimal level. So we have to cut off whatever we can by ensuring the free plan makes the majority of you happy. And we believe this is the case. Even though there are a lot of restrictions we believe that most of you will be satisfied by the free plan.
Features
All plans include at least these features:
ToDo List -> Contentify 3.1
More about v3.0: #451
The text was updated successfully, but these errors were encountered: