4 ms·
You are correct that ops does not provide any sort of orchestration framework today, but it's also not necessarily needed in a lot of cases because the end arti
by eyberg 3y ago
You are correct that ops does not provide any sort of orchestration framework today, but it's also not necessarily needed in a lot of cases because the end artifacts are vms not containers.
There is a terraform provider that we ended up writing for one company but only because they were a (large) hashicorp shop and nothing went to prod unless it was in tf: https://docs.ops.city/ops/terraform https://docs.ops.city/ops/terraform This doesn't really do much though. It's only there to check a box and fit into an existing paradigm.
A lot of the orchestration bits that k8s provides is because when it was initially adopted there wasn't a great way to attach networks/storage/etc. to various containers like people had for on the clouds with vms. OPS just re-uses the same primitives you'l find on every single cloud out there. If you need more advanced functionality like auto-scaling that also can utilize the clouds ASGs.
- antihero 3y agoYeah I guess a lot of the orchestration can be effectively handled by terraform, I get what you mean regarding cloud primitives. This is my next step to seeing how this can work in a production environment. Instead of an ingress you can use ELB, for instance. I guess this means your environment is very "native" to a specific cloud however and not as easily transferrable. One thing I did like about k8s is that it's easy to self-host with microk8s but tbh, I think in production you'd be using a cloud provider's managed k8s (e.g. AKS) anyway. Looking at how to attach/configure a ElastiCache, RDS, or some EFS to a project also. What's the best way to runtime configure an image when you create it as an instance? I couldn't see any options on ops instance create for environment variables or anything like that but this also seems like, weird - IE you wouldn't give a VM environment variables, but with a normal EC2 instance there's an agent that handles this sort of thing. Would you have to bake the configuration into the image? Also how does one output the ELF for the image? Is it just the file of [image name] in ~/.ops/images ? Or is it the case that terraform should build a correctly pre-configured image as part of the apply process?w Always good to have other options, of course! I do appreciate the minimalism. This is exciting :) The terraform docs example uses GCP, perhaps if I figure out how to do it on AWS I could PR the docs with an example. At that stage where my questions lead to more questions.