- Más nuevo
- Más votos
- Más comentarios
Hi @Escape82,
I have some thoughts to contribute to your design.
First, for completeness, know that AWS Workspaces provides for managed cloud workstations (including Linux). Although I do find it valuable at large scale, I am not sure it is necessary for your target of ~10 users nor am I sure it will be less expensive than an EC2 based solution.
Yes, you could share EC2 instances among developers. I think this reduces flexibility due to interference between developers whereas they would have otherwise been unimpeded by coordination with others (burst load conflict, reboots, system level packages installed). But if you do not need to increase the size of the instances then running fewer of them will be less expensive. In all cases but especially here you will probably need non-local user accounts - for example user auth from Active Directory or similar.
You may also be able to reduce your cost even with per-developer EC2 instances by using the AWS Instance Scheduler, which automates stopping/starting of EC2 instances. This prevents "forgetting" to stop the instance overnight, and you can schedule it to pre-start shortly before it is needed (avoiding waiting for an instance to start). Maybe this small tweak is all you need to reduce your costs acceptably.
You can also reduce costs by using Savings Plans. This is an alternative to instance reservations that is much more flexible. Consider looking at the Savings Plans recommendations in your AWS Cost Explorer to see if they are a fit for your usage patterns.
Lastly, I have deployed Cendio ThinLinc with success. This is not an AWS offering - Cendio is a third-party. But I used this with a previous employer to create a group of Linux EC2 instances for them to remote into for work. It has multiple users per Linux instance, and load balances among them. The users do not have to pick a machine, they will get back into their same machine or another if their session ended, that machine recycled, or for load reasons. So users always connect to the same endpoint and it "just works" for them even though there are multiple shared Linux instances on the back-end. However note setting this all up is non-trivial, so it is an investment best for long-term use and at scale. I am not sure if it would be worthwhile for your case.
Hope this helps.
Regards,
Ryan
Thank you Ryan for your detailed answer. Actually, what would you recommend for solving the problem of the lack of ondemand resources? This is a problem when I need to start up 10 EC2 instance in the morning and in my region or AZ there not enough AWS resources for spinning up a the EC2 instance I need. Saving plan, based on my understanding, would not solve this case, unless I go for reserved instances (or I don’t switch off the EC2).
Thank you
Correct, Savings Plans do not reserve capacity whereas an instance reservation would. If you otherwise would have only run these instances for 25% of a week (ex: 40 hours) then the instance reservation(s) would not be saving you money.
I believe the instance type will have a significant effect on on-demand capacity availability. Using a common instance type and modern generation (ex: M6g) may help. What instance type and region are you using? You might consider an AWS Support request for what instance types are plentiful in your region, in case they are able to share that information.
You could also automate saving an instance to an AMI and terminating it rather than just stopping it, and then be able to re-launch it as a different but compatible instance type. So if your first instance type choice has a capacity conflict you could retry with another instance type or a different AZ. Or if there are multiple acceptable regions for you, try re-launching in another region.
Hopefully finding and using a more plentiful instance type is all you need to do, rather than purchase reservations or retry using different instance types/zones/regions.
Regards, Ryan
Contenido relevante
- OFICIAL DE AWSActualizada hace 3 años
- OFICIAL DE AWSActualizada hace 3 años
- OFICIAL DE AWSActualizada hace 3 años
Indeed NICE DCV offers the very efficient sharing of a Linux instance with multiple users with e.g. 8-10 or more full-performance virtual DCV desktops depending on the resource usage. This works with GPU-sharing or without. It seems reserved instances is the right way to go in case of not getting hold of instances when needed - or you keep it running and add sessions when needed. What instance type are you looking at?