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 "[email protected]"
brew install pyenv
pyenv 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/.aws
directory if you don't have one. -
Create a file named
$HOME/.aws/config
and add the following to it[default] region=us-west-2
-
Create a file named
$HOME/.aws/credentials
and 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-ansible
ansible-snippets
atom-jinja2
indent-toggle-on-paste
language-ansible
tab-to-spaces
trailing-spaces
language-terraform
linter-ansible-linting
linter-ansible-syntax
linter-terraform-syntax
markdown-preview-plux
language-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: