7 ms·
Ask HN: Devops side projects for a student?
I'm graduating in a couple of years, and I would like to find some project ideas.
I've done some web programming in the past, but gradually I became more interested in the operations side of things.
But unlike apps, I'm not sure how to showcase a particular "devops project" to future employers. I've used docker/vagrant for local development, ansible for configuration management, jenkins, etc. But these aren't necessarily something I can talk about hours on end.
I'm planning to find a devops internship position, but until then, is there something I could work on?
- dbg31415 10y agoIf you just want experience / references... go to local businesses (eventually pick a niche, like law firms or restaurants or marketing agencies...), have them run this tool, and tell them you're willing to get them from an F to a B for free (maybe start with local business running WordPress)... and they can pay if they want an A+ rating. Document all the sites that you were able to improve, find some ways or build some tools to automate the process, and talk about it during interviews. * Observatory by Mozilla || https://observatory.mozilla.org/ https://observatory.mozilla.org/ Tool to help quickly tell what a site is running as a CMS: * Wappalyzer || https://wappalyzer.com/ https://wappalyzer.com/ If you wanted to make a few bucks... do some simple disaster recovery work... make sure they are at least doing on-server backups -- at minimum. Make sure they have rudimentary security... Fail2Ban is easy to setup. Most SMBs do very little for web security, and haven't really thought ahead to what happens when the shit hits the fan (and it wouldn't raise any red flags for them to hire a bright college kid to do this sort of work). If they see a website come up when they click on a link, they think, "Hooray it works, and it'll work forever!" If you wanted another up-sell option... offer a cheap monthly retainer to do uptime / content monitoring, application performance monitoring, server health monitoring, and access log monitoring. If you just want experience, set the price low... you can always up the price as you get more experience / more practice with these tools and automating the setup for them. Or offer to help them with general IT (this is a black hole time sink, but cool if you need beer money). Or offer to show them how password managers work. Or setup backup systems for their computers (Backblaze is great). Or... once you get a foot in the door you'll see more opportunities. If a college kid came to me with hands-on experience completing a valuable task for 10-25 real-world businesses... I'd be really impressed. EDIT: The above is pretty much how I paid for college. Graduated form an Ivy League school, paid every cent of it myself (no loans or financial aid), ended up with over $100k in the bank more than when I started. Got into business doing email migrations for a hospital chain, got my foot in the door with a lot of doctor's offices, grew that business from there to general IT, basic HIPAA compliance, website development, a bunch of just random "tech services" -- lots of great hands-on-training for me along the way.
- bkgunby 10y agoWhat about websites that are run on top of a 3rd party services? For example, I noticed a lot of doctors use their doctor-specific website generators that use something like weebly (it's crazy - there are ones specifically for optometrists, dentists, chiros, etc). I'm not sure how much of a change I'll be able to make. And how much is a "few bucks"? I've done some freelancing work, and I made the mistake of setting the price too low when I first started. I'm pretty oblivious to the business side of things, but I get the feeling that they use price as one of the determining factors for quality. I admit I fall into that trap whenever I purchase something without research.
- dbg31415 10y agoIf you notice that they are running some sort of crappy "Dentist CMS" just avoid them. They've signed up for some "all-in-one" plan with some tech service provider who probably does everything from their website to their practice management software... they can't let you work on one part of that ecosystem without canning their current provider... and no way you want to do all the stuff they do (even though the all-in-one guys tend to do a really shitty job with everything... the thing that matters is the practice management software and everything else they do just pads their profit margins). In terms of what to charge... totally depends on the situation (what services you're offering, who you're offering it to, and the market you're in). I don't generally think people are afraid of paying too little... certainly like $25 / hour -- most SMBs would love paying something like that for the work, and it's about what you'd make hauling sofas and moving boxes around... just a lot easier on your back. You can come off as very high quality, and still have a low price... my guess is you aren't instilling confidence in your presentation. Easy to fix... take a public speaking class, dress a little nicer (suits never hurt), and carry a notebook (http://www.staples.com/Staples-Composition-Notebook-College-Ruled-Black-9-3-4-inch-x-7/product_919350 http://www.staples.com/Staples-Composition-Notebook-College-...) -- this gives people confidence to see you're an active listener and making a to-do list of action items (http://lifehacker.com/5575748/best-to-do-list-manager-paper http://lifehacker.com/5575748/best-to-do-list-manager-paper). Spend an hour on Yelp generating a prospect list... find all the local businesses that use WordPress, practice your elevator pitch, then clean yourself up and go walk around asking to speak with the manager.
- atmosx 10y agoDevOps is like programming: unlimited/infinite. First things that come to mind: - You can create puppet modules, Chef recipes, SaltStack formulas (not familiar with Ansible but sure as hell has similar features) - You can get certifications (Chef, Puppet, SaltStack, Ansible, etc.) - You can get DB certifications and write your experiences about master/slave configurations, etc. - Orchestration and schedulers tools, k8s, mesos/marathon. - You can get certified for AWS, GCE and Azure. - Became proficient in Bash, Fabric/Capistrano. Display some automation scripts on your blog/github-repo. Can you configure a firewall to fetch a list of IPs (say porn websites) from the internet and block or redirect access to these IPs using bash? - Study distributed systems, replication, possible problems (split brain, etc.). How does consul/etcd/zookeeper reach consensus. When to use one tool over another, why not use Redis instead of consul?! - Study big data on Coursera (hadoop/cloudera/HDFS/MapReduce)... It's a never-ending story. Just take a look at look[1] at what companies are requesting. A devops should be able to write code (with varying degrees of expertise) and understand architectural/design challenges. I'm not saying you need to know everything - you can't, there are simply too many tools around - but you have to learn at least some of them and you can explain what you learn via blog posts or github code. [1] https://weworkremotely.com/categories/6-devops-sysadmin/jobs#intro https://weworkremotely.com/categories/6-devops-sysadmin/jobs...
- dozzie 10y agoHe clearly didn't mean sysadmin's automation that is nowadays called "DevOps". He meant "system administration" gigs.
- toomuchtodo 10y agoDevOps work is sysadmin work with the addition of junior level software engineering experience (usually bash and python). Source: Linux|Sys|Network Admin/IT Manager who moved into DevOps.
- dozzie 10y agoFunny. Sysadmin's work always included writing missing tools, which is often above junior programmer's level. What you say is basically DevOps being system administration for beginners.
- a-saleh 10y agoAsk around at your uni. I was a part of a small scale server deployment to facilitate student project hosting :) Friend of mine had a spare server lying around so we persuaded departmental sysadmin to host it.
- msound 10y ago> But unlike apps, I'm not sure how to showcase a particular "devops project" to future employers. One of the key elements of DevOps is automation. If you can make sure everything you do is in a public git repo, then you just need to show that to future employers. It doesn't have to be a working app, it can also be an Ansible playbook.
- keefe 10y agoI'd recommend setting up lambda/api gateway/cloudfront for a serverless application, there are lots of guides out there - you want to do something that will be relevant when you are done learning, not necessarily just something relevant now.
- shermanyo 10y agoI love this question! I'm a DevOps engineer who came to my role through a combination of test automation and test network management, and a keen interest in tinkering with technology stacks. I love what I do and can't recommend it enough to new graduates, who may not even know of the role. To build a portfolio, I would suggest the following: - Create a document describing a small tech stack: > Outline the systems (or list of docker containers) > Draw a network diagram showing IPs / subnet(s) info > Describe the OS(s) and base node configuration (ssh, NFS, etc...) > Outline the software stack (on each system), describing connections between nodes (eg. Apache web server with PHP, connecting to Postgres on port 5432) - Create a github repo > add the above document as the README.md file > add a SETUP.md document (or add to the README) with steps to setup a local ansible workspace, and deploy your stack with your configuration scripts - Set up a local (or cloud) environment with your Jenkins pipeline, and document a deployment (with screenshots) showing a working stack configured from a set of clean nodes. - Expand on what you've made (create a new repo for each! think of them as new projects with a different set of requirements, even if they build on what you've previously done). Try to focus on one thing at a time: > SSL everywhere > OS hardening > failover / clustering of the database > failover / clustering of the web/app server > load balancer in front of the web tier If I saw the above from anyone, I'd be impressed. If you have any questions, feel free to message and start a conversation offline. Best of luck!
- deleted 10y ago[deleted]