tbronchain
Joined 13 years ago
Joined 13 years ago
ssh user@host << EOF
Your script
EOF
Beware of local variables interpretation though!
DevOps, SysOps, Sysadmin, Infrastructure engineer, Cloud engineer... The title doesn't matter so much, but what I like in the term DevOps is how it links the dev side to the infra side, as the infra itself ends up being already built in a cloud environment.
I also believe there was a time when we needed to make a difference between traditional "Sysadmin" and developers who specialized in building cloud infra, but not anymore.
A couple of years ago I could see volumes on Linstor getting completely stuck and unrecoverable whenever the network was getting busy or unstable. Nodes reboot were a nightmare too.
Have a setup now with their Piraeus operator[1], Kubernetes >= 1.20, rancher and calico, and it seems to be very stable. XFS have been giving better results too. Still, better not to try too many reboot loops on the nodes.
I can't remember the tool I used for the tunnel. SSH was quite slow and I remember using something else at the TCP level. Any idea? Bonus for any solution that works with UDP.
Probably overkill and way early on, but the idea of a decentralized Internet would be key here.
I create my small/bootstrap projects the following way:
1- create a free tier AWS account - can work with any VPS/server really, but with AWS you can get it 100% free :)
2- create some Ansible provision/setup/deploy scripts
3- create some bash scripts to wrap this all
Create the Ansible scripts:
1- Provision script, consisting of 1 EC2 instance, 1 RDS and the security groups. Store the IPs/adresses of the newly created instances.
2- Setup script, basic instance config, packages, app/project repo, you name it
3- Deploy script, to run every time I want to update the app, mainly just doing a git pull on the instance and some database backup/migrations (although on RDS backups aren't always necessary)
I get these Ansible scripts wrapped into basic bash scripts, provide my AWS credentials via the AWS cli to keep it safe, few extra creds with Ansible vaults, SSH keys, publish in a Github [private] repo and I'm all set.
It took me a couple of days to get fully operational and I was learning Ansible at the same time so it can really be done with basic features. Now it's done, I can reuse the same skeleton for every new project in a couple of hours!
I find this solution extremely resilient. That's basically free hosting for personal projects. Every year, just need to run the script again when free-tier expire, and can change hosting provider anytime or upgrade the instance type if I decide to get a project publicly released. A small extra Ansible task to write for migrating the data and that's it!
Slightly unrelated but also, from the same company, Rancher (their main product) has been really good to deploy bare meal Kubernetes setup [almost] 100% container based.
I strongly encourage you to do so if you can. I really hate people having such practice and thinking they can get away with it.
Otherwise/in the meantime the contracting idea works. Could be through a platform - i.e Upwork or Toptal - and/or behind a company name, etc. I'd also look into foreign opportunities.
This all sucks and I don't know what happened but look forward, some people don't want to give meaning to these things and would give you a chance. Good luck and take care!
It will happen often if you try to make a call to their API through Google sheet scripts.
As a fresh graduate, no one with common sense could expect you to have some experience, but if I had to recruit a junior team member, passion and eager to learn is what I would hunt for.
Oh and, don't worry about rejections or being ignored, it happened to most of us!
Good luck.
I just saw your reply and really appreciate you took the time to write it.
I'm most likely less experiment than some people here but after 10+ years of writing code, I came to the conclusion that the best code is the most readable code.
If all developers could write code that is easily readable for them (even after a few months break in the project), the software engineering world would be a lot better :)
Of course it makes sense to avoid anti-patterns and bottlenecks, but no much more really.