Here are some of the things I can help with. If they sound like solves for your project’s problems, I’m also available to consult through Ordinary Experts, a team of DevOps specialists. Fill out the form at the bottom and I’ll reach out to schedule a time for us to review.
If you need something that’s not on this list, I can likely still help. Feel free to write in any needs that aren’t already listed.
Things I Can Help With
Building a DevOps team but not sure how to set them up? Have a team of experienced operators who are new to DevOps? I can help:
- Set up a repo structure
- Write templates and documentation for the development process
- Train engineers on how to do good code reviews in the pull request process
- Train engineers on version control (e.g. git) good practices
- Train engineers on DevOps languages (e.g. Python) and frameworks (e.g. terraform)
Need a DevOps engineer but not for long enough to hire full time? Stuck on a tricky problem and need someone who’s both temporary but seasoned in the field to help you past it? Buried in technical debt and need someone to help out just long enough for you to get ahead? I can help. I’ll onboard to your team and contribute directly to your repos.
This works best when your team is closely involved and actively contributing to the code with me. That makes it a lot easier for them to take over as I phase out. I may be the top contributor for a while, but I shouldn’t be the sole contributor.
Swimming in outages and alerts? Drowning in bug reports? I can do damage control.
Normally I work side-by-side with your team and involve them in the design and decision processes of development. When you pick up the red phone ☎️ for DevOps 911, I skip that and independently implement what’s needed. I’ll help:
- Identify issues that are impractical to fix in the short term and help you find workarounds.
- Fix the short-term fixable issues.
- Identify and silence non-actionable alerts.
- Identify and prioritize the remaining work that’s needed to make the system stable.
- Deliver a plan for how to get from where you are to a stable state.
Want your team to own the automation but want to make sure they’re using good practices? I can build them a reference.
We’ll work together to identify a component to automate, then I’ll automate it. I’ll keep your team in the loop while I work so they can see the process. When I’m done, I’ll deliver the code along with documentation. Your team can use that component as a reference to follow in their own work. I’ll stay onboard for a while after delivery to review their code and answer questions.
CI/CD Pipeline Development
Trying to figure out which tools to use in all the endless options? Waiting too long for your pipelines? Has “Failed” become a normal state? I can help.
Here are some of the CI/CD tools I’ve used on past projects:
- AWS CodeDeploy
- AWS CodePipeline
- Azure DevOps Pipelines
Audit Remediations and Security Hardening
Buried in a list of remediations for a security audit? Trying to go beyond just what your auditors require because you’re worried about breaches? I can help.
Here are some of the security tasks I’ve handled in past projects:
*permissions from AWS IAM policies.
0.0.0.0rules from firewalls.
- Patching more frequently.
- Upgrading dependency chains.
- Removing uses of root and administrator accounts.
- Logging user access.
- Removing private keys and passwords from code repos.
- Limiting SSL/TLS versions and ciphers accepted by web servers and load balancers.
- Hardening HTTP servers (nginx, apache, etc.).
- Hardening application servers (uWSGI, gunicorn, etc.).
- Limiting who can run deployments.
Getting warnings that Python 2 scripts are out of support? Slogging through errors upgrading to terraform 0.12? Stuck trying to get your services migrated to systemd in a RHEL8 migration? I can help.
Here are some tools I’ve upgraded on past projects:
- Amazon Linux
- Red Hat Enterprise Linux (RHEL)
- Ubuntu Server
- Windows Server
Discovery and Documentation
Inherit an infrastructure that has undocumented components and a bunch of hand-deployed resources? Lose that one staffer who knew where everything was? I can come on board and help discover how your existing systems work and get them documented for the future.
This is a white-glove service, not a robotic one. I don’t use automated tools to detect your setup by watching network traffic (or similar). Sometimes an automated tool can do the discovery you need, sometimes you need a human. I handle the cases that need a human.
DevOps backlogs can be very technical. Unlike Web Development, where you’ll see tickets like “Users would like to be able to cancel orders”, in DevOps you tend to see tickets like “Replace the API wrapper class with a utility module of wrapper functions”. These can be very difficult for Project Managers to groom. I can help:
- Add details to tickets so they’re understandable by non-engineers.
- Identify and close outdated and duplicate tickets.
- Add missing tickets.
- Prioritize tickets.
- Organize epics.
To do this well, I need to know your infrastructure. It’s generally best if I do this after I’ve completed a technical project for you.