49 karma · joined February 26, 2015
I've been keeping an eye out waiting to feel more comfortable to use and support a kube cluster on bare metal.
We're a small shop so we have one team that does everything so one machine for all contexts is starting to be a pain. We did at least dust off some mac minis to do puppet (lots of virtual machines) work on those when possible to free up some RAM on our app dev machines.
My gut reaction is that IntelliJ's indexing isn't yet properly optimized for the small-file dependency-hell that JS dev has turned into.
The unfortunate thing was that we were willing to upgrade to the newest Macbooks if they had 32GB of RAM and hope that helped (in addition to some VM woes for working on infrastructure) - probably would have kept IntelliJ in play but the swapping and it using 33% of RAM on our machines made it an easy target to try to replace.
In comparison, VSCode is using 70MB RAM on my machine currently with 6 projects open.
I've also moved to VSCode and haven't looked back. My whole team is currently evaluating VSCode. That is ~$600/mo in subscriptions to IntelliJ Ultimate if everyone decides to move to VSCode - which is looking likely.
Per publishable branch (e.g. master to prod, dev to QA, shared integration that isn't ready for dev to secondary QA):
- Publish image to private docker registry with tag in the format of <branch>-latest (e.g. master-latest, dev-latest). Also add labels with git revision hash and CI build number to reconcile what is in the image both in CI and in git repo.
- Capture the digest of the published image and put in .txt file as an artifact from CI.
- Add a tag to the git repo with the build number, treated as version number in the form of v<build-number>-<branch> (e.g. v1-master).
- Maintain list of applications' docker image digests that should be running in each environment. We currently have this automatically determined by pulling the digest artifact from the passing-build digest. We do allow for manual overrides, however.
- We have a CI project that updates the docker swarm with these digests and other settings (replicas, mounts, environment variables). We wrote a small tool that does this similar to where stacks/dab files are going but with more functionality.
With the labels and published digests we can go from build to digest, digest to build, etc.
This is working really well so far and we aren't fighting the tools. We may separate the non-master registry later in life, and that's really easy given that docker treats the private registry hostname as part of the tag.
I may need to outfit my team with powerful linux desktops and low end macbooks for app development and remote/emergency work.
However, it'd be an extra step and not integrated with some central employee list so the risk of forgetting to remove someone may be too high if using existing features, so that point may be moot.
As for the seven years in with 10 employees, definitely valid point. However, I always make sure to point out to candidates that we were 3 employees 2 years ago and are now getting significant traction with bigger clients. We are in an extremely slow moving B2B industry so it takes significant time to get that initial traction. It is very much a referral based sales process and potential customers like to bucket themselves based on size. Effectively, we've had to work our way up the food chain to get to the bigger fish. We expect to be 20 by the end of next year, so it carries more weight now than it would have 2 years ago. This is the same reason we even foresee a sale event in the next 2 - 3 years with the growth we've had over the last 18 months.
Perhaps that's stockholm syndrome speaking (kidding) :p
Your math is slightly off in assuming that the .1-.25% carries for the bulk of the ten, but your point valid all the same as a potential concern for individuals.
We often struggle with being labeled a startup due to our age and risk profile, but due to our size, we accept it! Ha.
> In today's market, your best employees can probably get 50-100% of that hypothetical annual bonus in real cash just by switching jobs.
I did not mean to imply that is the only bonus plan. Cash bonuses and significant raises generally yield an additional 20% of pay over the course of a year. We absolutely have to combat the switching of jobs yielding that in raises, especially as we are a software engineer heavy organization.
It's more that we don't want to not offer stock grants/equity at all just because they suck or are a lotto ticket. Especially in order to reward long term employees in an additional way. We more or less say "here's this lotto ticket, pretend this doesn't exist for now." The retention aspect may kick in if we appear to be nearing a sale event, but on day one means nothing.
In other words, I care more about getting good talent with those "realistic worldviews" than attempting to pull the wool over the eyes of those that get caught up in the type of thinking of planning purchases when they win the lotto because they bought a ticket once.
If only more startups worked that way, instead of leveraging those types of individuals to get more hours at below-market pay because everyone is an "owner." It's almost criminal...
Also, in case anyone is curious as to the name: https://en.wikipedia.org/wiki/Murder_board
Of course it's going to take awhile to setup. It seems like the main argument to push away from it is time spent on setting it up, but this article even says setting up MAMP can be difficult at first. Ever tried to get MAMP to work with non-standard PHP extensions? Good luck. apt-get install php-redis is much simpler.
You do need buy in from the whole team to really get the time out of it, but that seems like a problem with tool consistency across the team - nothing to do with vagrant specifically.