-
-
Notifications
You must be signed in to change notification settings - Fork 32
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
Suggestion to stop hosting server-api on k8s #317
Comments
I'm up for migrating into Digital Ocean App instead, which should reduce the cost considerably. |
@smoya thanks other codeowners? @BOLT04 @magicmatatjahu ? @smoya we would be archiving |
No, we still can automate the creation of the infrastructure in Digital Ocean trough Terraform |
@smoya but we simplify things here. With DO and droplets the infra becomes much simpler, no terraform is needed. We basically have individual apps in place, easily to manage by DO GitHub Actions |
Terraform automates the creation of those applications in Digital Ocean so no manual process should take in place. You just define your resources, run Terraform and that's it. We don't need you or anyone else to manually create anything, which is basically error-prone and not reproducible at all in case you want to destroy and recreate, etc. We already use that for creating the K8s cluster in DO, so nothing new is added here. See the Digital Ocean Terraform provider https://registry.terraform.io/providers/digitalocean/digitalocean/latest/docs |
but even if we go forward and still use terraform, I don't think we need separate repo for it right? |
Yeah, we could move it (in fact, create the Terraform files) here that's a good point! |
Whatever you decide I am with you :) Just makes me wonder why we can't use Github action with image bump (on each merge to master) on k8s? But from previous comments it seems too expensive. |
yeah, k8s is basically not needed, we do not take any benefit from it, so no point of using and wasting money |
We should really move into this asap, remove the K8s cluster and move the app to another place. As a side note, we are never deploying to the K8s cluster whenever a new version of server-api is out because the process is manual and, afaik, no one is doing it 😅 Unfortunately I don't have the bandwidth atm, but will suggest this issue to be picked up in a near ShapeUp cycle |
Bounty Issue's service commentText labels: |
To complete this issue you will need to :
In the past when I checked there were already official GitHub Actions for DO that worked well, so best would be to use them imho. From discussion in issue you also see suggestion and link to docs how this could be done with terraform |
@derberg I can take this issue, I have worked on the GitHub workflows. I can learn more during working on this issue. |
@derberg I would like to work on this issue. |
@asyncapi/bounty_team |
@Shurtu-gal is most experienced with GH Actions here and already knows how our setup works so let me allow Ashish work on it |
Just a question, is this deployed somewhere currently so I see look at what I am supposed to be replicating. Update: https://api.asyncapi.com/v1/help/validate Got it |
Do you need something from me @Shurtu-gal ? Happy to help |
Currently, I am trying to replicate the current deployment on droplets and checking various. Will absolutely let you know as soon as I face any problems 🍻 |
Bounty Issue's Timeline
Please note that the dates given represent deadlines, not specific dates, so if the goal is reached sooner, it's better. |
I noticed we are following an approach of using Digital Ocean droplets directly. I know we are migrating to anything else rather than K8s on Digital Ocean because of pricing. I completely agree that, atm, using K8s is completely far from our needs being an overengineered solution. The pricing (in our case) should not be way more expensive than just running droplets isolated and, definitely, way more cheaper than K8s solution. The benefits are really worth. Regarding the deployment, you just deploy to Digital Ocean telling "hey, just deploy latest version" and the system will pick up latest container image tag and deploy it, taking care of the lifecycle from that moment on. Btw, we are already publish the image to Docker Registry as asyncapi/server-api (See the GH Action). There is an existing Digital Ocean App Platform GH action that lets you trigger the deploy easily. cc @derberg |
we were on k8s that was giving us full freedom and all this features. With k8s enabled a solution for future, which costed us a lot of credits from DO, and we did not used that opportunity. I want to decrease initiative costs to bare minimum. If in few months more people will use Now we use bounty budget to quickly fix stuff that nobody did since July last year. So if |
btw, I hope it doesn't sound like I'm blaming anyone - I do remember I was main advocate for k8s, like pushing a lot...and I regret |
K8s costed us Current DO budget we have is Let's assume need for memory 1GB
Both for me are good. Problem is that scope of the task was droplet and it is almost done, so up to @Shurtu-gal if he agrees to do modifications and @smoya to help out with his DO App Platform experience |
Yeah, I am happy to do them. @smoya I guess we can schedule a meeting and talk a little more regarding it. |
@derberg just need a clarification should it be after release or on push ? Because if its after release maybe we can combine both. |
I would say we are fine to make it after release. We can add it to https://github.com/asyncapi/server-api/blob/master/.github/workflows/release-docker.yml. |
@smoya @derberg Shifted from apps to droplets. Also there is no need of a |
@Shurtu-gal, please provide an update to the PR. |
I couldnt test yet the GH action for deploying, because there is a bug in the deploy command (unrelated with this work) I’m fixing now |
I confirm all is working like a charm. Deployment went successful 🎉 Also confirmed in Digital Ocean's control panel. @aeworxet work related to this bounty issue can be now considered done. |
Bounty Issue Completed 🎉@Shurtu-gal, please go to the AsyncAPI page on Open Collective and submit an invoice for |
Imho we should stop using K8s on Digital Ocean. The future is not how we envisioned it 2 years ago when we decided that the best will be to have all our services on K8s
more details: asyncapi-archived-repos/event-gateway#161
thoughts?
The text was updated successfully, but these errors were encountered: