The Twelve-Factor App: Backing Services, Building and Releasing, Stateless Processes

22/10/2015 1h 22min Episodio 33
The Twelve-Factor App: Backing Services, Building and Releasing, Stateless Processes

Listen "The Twelve-Factor App: Backing Services, Building and Releasing, Stateless Processes"

Episode Synopsis

 
Surveys – Wow we forget about them and ramble...sorry guys!
 
Mark Tinsley – PHP Composer – thanks for the tip!https://getcomposer.org/
 
Joe made a game in Javascript (using dozens of libraries):
Box Pusher! (game name of the year)https://github.com/THEjoezack/BoxPusher
 
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:
http://www.codingblocks.net/episode32
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):http://www.splunk.com/en_us/products/splunk-enterprise.html
 
Bug in Visual Studio that cost one person $6,500 in a few hours:
https://www.humankode.com/security/how-a-bug-in-visual-studio-2015-exposed-my-source-code-on-github-and-cost-me-6500-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?
 
 
VI. Processes


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)


 
Resources We Like


http://www.12factor.net


http://www.clearlytech.com/2014/01/04/12-factor-apps-plain-english/


http://devcenter.heroku.com/articles/architecting-apps
 


Tips
 
Allen: Find problematic queries that are killing your SQL Server...replace 123 with the spid from sp_who2.
 
sp_who2 'active'
DBCC INPUTBUFFER(123)
 
If you want to be mean....replace 123 with the spid from sp_who2
KILL 123
 
Additionally, if there's high CPU and low I/O, it's likely either a missing or a fragmented index.
 
Joe: Tortoise Git
https://tortoisegit.org/
 
Mike: Tip of the week is the Pseudocode podcasthttp://pseudocode.fm/
 
And...don't be lazy. We can't seem to get off our tails and get a business card made!