5 ms·
At my organization I'm unable to get even virtual machine instance(not local) for testing and CI, yet they are perfectly content with testing software on produc
by hansor 6y ago
At my organization I'm unable to get even virtual machine instance(not local) for testing and CI, yet they are perfectly content with testing software on production server...
Actually they are able to spin-up some virtual machine for me - but without root access... So if I need some software or library I need to ask them and wait for days...
Plot twist: can't run any virtualization software on my development laptop and we are cut off from "the internet"(so no ssh or remote cloud).
Advice?
- sitkack 6y agoGet them to install docker on the VM and add you to the docker group. You can now use docker like VMs to run tests.
- saberdancer 6y agoWhat is keeping you at this company?
- grumple 6y agoThe interview process in tech is often long and laborious, and there’s no guarantee the next place will be better.
- hansor 6y agoVery good money for my skillset(IMO I'm below average programmer), "prestige"(company is in TOP 5 in its field), and things I do are not ordinary boring stuff like web apps - but rather specialized stuff.
- aequitas 6y agoCanary deployments. Don't replace a production version, but install the new version next to it. Switch between versions via loadbalancer or use queues to decouple different implementations from storage. Adjust your development process to favor small incremental backwards compatible changes and feature flags (make deploying your code separate from enabling/disabling a feature). Lots and lots of monitoring and alerting.
- sitkack 6y agoLife finds a way. Within the boundaries of the space is a solution, we just don't know where the boundaries are most of the time. A bunch of years ago we were under a similar predicament, we needed to tune some software that was data dependent, yet we were cut off from prod data, and the test data as hot garbage. It took weeks to get new software into production. We had one code push left before launch but we still needed to tweak with production traffic. So we did what everyone does, ship remote firmware updates. In the last code push we included `eval` and the ability to POST code to an endpoint. We were just doing some query rewriting, but the code could have run anything. Once the last build made it through dev and test, we had a serverless deployment platform that allowed us to dynamically update the code in realtime. yolo
- easton 6y agoBring the sysadmin a box of donuts (or scotch, if it’s that kind of place) and ask again. Barring that, if you have admin rights and your laptop is running Windows you can enable Hyper-V[0] and get a great hypervisor that comes in the box. (If you’re already using WSL2, you’re already doing virtualization). If you’re on macOS, try to find something that uses Hypervisor.framework (multipass[1] is good if you can get along with Ubuntu) so you don’t need to install any kexts. But this is really something you should bring up with your manager, it sounds like it’d be difficult to get any good work done without being able to run tests in a not-production environment. 0: https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/quick-start/enable-hyper-v https://docs.microsoft.com/en-us/virtualization/hyper-v-on-w... 1: https://multipass.run/ https://multipass.run/
- hansor 6y agoBeer and donuts doesn't work as its "policy". As for Hyper-V: virtualization is disabled on BIOS/UEFI level, and I'm unable to change it.
- geofft 6y agoTell your manager you can't get work done up to industry standards. The high-level problem here is one of resource allocation and policy: you will have a similar technical problem in the future and you need to be confident that it's solvable, which requires management to be willing to resource solving it. You need either some other team's management to decide that this pace of development is something they will prioritize solving or your management to "go rogue" and get you set up on public cloud. But if you want a solution to this specific problem, the first suggestion I'd have is to install a non-root-requiring package manager like Linuxbrew or Nix (which is better if you can get a directory /nix writable by you, but workable even if not). Then you can install software without contacting the sysadmins and waiting. Alternatively, do you have unprivileged user namespaces, i.e., does "unshare -Urm" work and get you an apparent-root shell? If so, you can install rootless Docker in your homedir, or use https://github.com/containers/bubblewrap https://github.com/containers/bubblewrap . (A few years back I wrote https://github.com/twosigma/debootwrap https://github.com/twosigma/debootwrap which ties together bubblewrap and debootstrap to get you an unprivileged Debian chroot.)
- antisol 6y agoQuit. Developers need full access to their machines or they are stifled. This organisation is not interested in you doing quality work. Your options are therefore to either resign yourself to not doing quality work, or leave that organisation, ideally making sure that management knows exactly why you're going. (Of course, the chance of management actually caring is about one in thirty seven trillion - if they cared about quality of work or employee satisfaction, your machine wouldn't be locked down. So not bothering to tell them is fine too. Tell them if you're feeling charitable)