We’re headed back to the Twelve-Factor app territory and this time we’re picking up with the next three chapters – backing services, building and releasing and processes. Jump in to get the shownotes and listen to the next three pieces of building a manageable and scalable twelve-factor app.
Mark Tinsley – PHP Composer – thanks for the tip!
Box Pusher! (game name of the year)
Allen’s cry for writing black-boxed, encapsulated code…
Episode on Encapsulation: http://www.codingblocks.net/episode23
Episode on SOLID Design: http://www.codingblocks.net/episode7
Probably want to listen to the first three parts of the 12 Factor App if you missed it:
IV. Backing Services
- Any resource consumed over the network: databases, mail servers, cloud services, etc.
- Anything external to your app (but could be local to your environment)
- Should not have to change any code to redeploy – should be config changes if anything
- Clearly Tech – Importance Rating: High
We’ve mentioned Splunk, and if you’re not familiar, it’s an enterprise piece of software that will aggregate logs from multiple sources (servers, computers, etc):
Bug in Visual Studio that cost one person $6,500 in a few hours:
V. Build, Release, Run
- Build stage – transform which converts the code repo into an executable bundle
- Release stage – combines the build with the required config and deposits it somewhere
- Run – runs the app in the execution environment (development, staging, production, other)
- Rolling back may be more complicated when you start talking about database schemas / data changes
- Clearly Tech – Importance Rating: Conceptual???
Version numbers? What do you prefer? Version numbers with major and minor revisions? Or do you prefer timestamps?
- Stateless and Share Nothing
- No local session
- Make sure saving files go to an available repository
- Clearly Tech – Importance Rating: High (Joe wants higher than high)
Share Nothing Architecture
Resources We Like
Allen: Find problematic queries that are killing your SQL Server…replace 123 with the spid from sp_who2.
If you want to be mean….replace 123 with the spid from sp_who2
Additionally, if there’s high CPU and low I/O, it’s likely either a missing or a fragmented index.
Joe: Tortoise Git
Mike: Tip of the week is the Pseudocode podcast
And…don’t be lazy. We can’t seem to get off our tails and get a business card made!