Welcome to Production Engineering & Operations, where Reliability is our product!
Production Engineering & Operations is really focused on two pillars:
- Product & development velocity ~ empower others to do Ops-like work.
- #BeachOps ~ We automate so we can kick back and relax from anywhere and let systems manage themselves. We automate and build tools so we can fix while mobile and aren't tied to a desk.
Much of this assumes you're already a skilled Linux/OSX user.
And inspiration for much of this came from this blog post.
Many of this has been codified in a Brewfile.
To quickly bootstrap, install Homebrew:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
And run "brew bundle" in a directory with your Brewfile.
git defaults:
$ git config --global user.name "John Doe"
$ git config --global user.email "john@doe.org"
brew install pyenvpyenv global 3.8.2
To activate, add the following to .zshrc:
$ echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/. zshrc
$ echo export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES >> ~/. zshrc
All off my pip packages are in this requirements.txt.
The following will install these packages:
pip3 install -r requirements.txt
You'll need IAM accounts for cli usage.
We rely on the AWS cli and it's support for Named Profiles.
-
Create a
$HOME/.awsdirectory if you don't have one. -
Create a file named
$HOME/.aws/configand add the following to it[default] region=us-west-2 -
Create a file named
$HOME/.aws/credentialsand add the following to it, in preparation for generating your IAM user(s) below[default] aws_access_key_id = aws_secret_access_key = [sunnylabs] aws_access_key_id = aws_secret_access_key = [sunnylabs-dev] aws_access_key_id = aws_secret_access_key =
- Amphetamine - override energy settings
- 1Password - secure password/MFA store
- MacDown - Markdown editor
- XCode - prerequisite for most of
brew
Atom - editor
Useful packages:
autocomplete-ansibleansible-snippetsatom-jinja2indent-toggle-on-pastelanguage-ansibletab-to-spacestrailing-spaceslanguage-terraformlinter-ansible-lintinglinter-ansible-syntaxlinter-terraform-syntaxmarkdown-preview-pluxlanguage-markdown
keymap.cson bindings:
'.platform-darwin atom-text-editor:not(.mini)':
'cmd-shift-v': 'indent-toggle-on-paste:paste'
Default themes (UI & Syntax):
- One Dark
PyCharm - commercial editor
A little more complex than an editor like Atom, but a lot of good features and their Terraform plugin is very solid. You can grab a trial and if you like it, buy a license via Coupa
--
You should be able to answer the following questions: