Saturday, October 27, 2012

Thoughtworks Tech Radar Oct 2012

http://www.thoughtworks.com/articles/technology-radar-october-2012

Techniques

  • micro-services (Dropwizard, declarative provisioning)
  • Edge Side Includes (ESI) for page composition (Varnish)
  • Configuration in DNS 
  • aggregates as documents 
  • automated deployment pipeline (first class in build tool)
  • work-in-progress limits 
  • declarative provisioning. (Pallet)
  • Mobile first 
  • responsive web design 
  • advanced analytics 
  • logs as data 
  • guerrilla user testing, remote usability testing
  • Semantic monitoring (continuously test app in prod through test-execution/real-time monitoring)
  • In-process acceptance testing 
  • Recommend against exhaustive browser based testing.  

Tools

  • Rake for Java and .Net projects.
  • Gradle 
  • GemJars 
  • immutable servers (‘phoenix servers’), Chef/Puppet, software designed to withstand failure
  • Jasmine paired with Node.js
  • Zipkin (monitoring)
  • Zucchini (Cucumber for iOS)
  • JetBrains AppCode IDE (iOS and OS X)
  • Light Table
  • Apache Pig (Hadoop MR pipelines)
  • Crazy Egg (heat maps), Gaze, Silverback
  • Graphite  
  • Riemann (aggregates and relays events in real time)
  • Highcharts
  • D3
  • Dependency Structure Matrices (DSM)
  • embedded servlet containers (SimpleWeb and Webbit)
  • Locust (in-line automated performance testing) Python, better than JMeter or Grinder
  • SaaS performance testing tools (Blitz.io and Tealeaf) 

    Platforms

  • Hybrid clouds
  • open source IaaS (OpenStack or CloudStack)
  • Google BigQuery
  • Microsoft’s Azure 
  • Continuous integration in the cloud (no local software and minimal configuration)
  • mobile payment systems (M-Pesa, Square)
  • MongoDB
  • Neo4j
  • Riak
  • Datomic
  • Couchbase
  • Vert.x 
  • Calatrava (cross-platform mobile application development
  • Meteor.js (client- and server-side JavaScript application framework backed by MongoDB)
  • Demoted: Windows Phone
  • Demoted: Singleton infrastructure  

    Languages & Frameworks

  • JavaScript as a platform
  • Require.js.
  • Twitter Bootstrap
  • Scratch, Alice, and Kodu (programming languages for kids)
  • Lua
  • Sinatra, Flask, Scalatra and Compojure
  • Dropwizard (embedded HTTP server, RESTful endpoints, built-in metrics and health-checks, and straightforward deployments)
  • Gremlin (imperative graph traversal language)
  • Jekyll (“microization” of web publishing framework)
  • RubyMotion (Ruby compiler and toolchain for developing iOS applications)
  • HTML5 for offline application
  • AngularJS and Knockout 
  • Demoted: Backbone.js
  • Demoted: component-based web frameworks (don't attempt to make web development into something that it fundamentally is not