Skip to content

Instantly share code, notes, and snippets.

@zorn
Created May 9, 2019 15:35
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save zorn/ecb3bc6426923e33743822a9da47f34c to your computer and use it in GitHub Desktop.
Save zorn/ecb3bc6426923e33743822a9da47f34c to your computer and use it in GitHub Desktop.
Links:
https://elixir-lang.org/learning.html
https://exercism.io/tracks/elixir
https://github.com/happi/theBeamBook
https://www.manning.com/books/elixir-in-action
https://pragmaticstudio.com/
- Building a Deployment Strategy
- Goals:
- Deployment Strategy should evolve over time and be well documented.
- Release early and often, deployment friction should be low.
- Feel safe deployment was done completely and correctly, automation with safety checks.
- Know my servers are not overtaxed, add measurements.
- Be able to recover from data lose bug. Be able to quickly revert deployments. Restore data snapshots.
- Be able to recover from systems breach. Access logs, scheduled auditing, scheduled security updates.
- Know your value.
- If you are here to build user features and business value, don't be afraid to spend money on deployment services. Just cause you can or can learn to do, does not mean you should be doing it.
- Picking Vendors
- Amazon vs Generic Hosting
- The Value of Downtime
- Can do quick testing of live environment before opening the gates.
- Gives time to update server components, libraries.
- Let's one do backups of databases.
- Let's one test restoration of databases.
- Database
- Separate from the app?
- Hot Updating Schemas
- App Nodes
- Are we using load balancers to update next door?
- Can we restore old versions?
- Environments
- A named set of configuration settings which apply to all releases built for that environment. It differs from Mix’s environment, in that it refers to the target environment, not the build environment.
- Version Numbers
- Best practices? Umbrella apps?
- hot upgrade reasons
- CHANGELOG and Release Notes
- I view CHANGELOG as technical and very through.
- Release Notes are marketing, user focused. Should be cleaned up version of CHANGELOG using outward facing terminology.
- Hosting App Assets
- Certificates
- HTTPS
- Hosting User Assets
- Sessions
- Images
- Videos
- Podcast
- Publicly hosted or privately?
- Hashed URLs good enough?
- GDPR and California’s CCPA
- Logging
- Server logs
- Application logs
- Rotating the logs
- Openning an Interactive Elixir Session
- For quick debugging of live services
- Continuous Integration
- Running Tests
- Running Tests before deployment
- Automating branch -> environment deployments.
- System Dashboard
- Public status.company.com <http://status.company.com> site?
- Internal dashboard
- Notifications via Push Message / SMS?
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment