13.07.2015 Views

Technology Radar Briefing - ThoughtWorks

Technology Radar Briefing - ThoughtWorks

Technology Radar Briefing - ThoughtWorks

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

September 2011<strong>ThoughtWorks</strong> <strong>Technology</strong> <strong>Radar</strong>Nick Hines & Ian Cartwright#thoughtworksradar


Tech <strong>Radar</strong> (1)TechniquesToolsPlatformsLanguagesPrivate and Confidential. © 2011 <strong>ThoughtWorks</strong>, Ltd. All rights reserved.


Tech <strong>Radar</strong> (2)! Adopt: We feel strongly that the industry should be adopting these items. Weuse them when appropriate on our projects.! Trial: Worth pursuing. It is important to understand how to build up this capability.Enterprises should try this technology on a project that can handle the risk.! Assess: Worth exploring with the goal of understanding how it will affect yourenterprise.! Hold: Proceed with caution.Private and Confidential. © 2011 <strong>ThoughtWorks</strong>, Ltd. All rights reserved.


Continuous Delivery – What and Why! Continuous Delivery – ability to release software on demand! Next logical step after Agile software development! Why do we need Continuous Delivery?• Competitive pressures• Responsiveness to market• Customers expect constant updates• Allows testing of ideas in the market! What are the benefits?• Predictability & Reliability• Fast feedback• Power in the hands of the businessPrivate and Confidential. © 2011 <strong>ThoughtWorks</strong>, Ltd. All rights reserved.


Continuous Delivery – How (1)! Development practices• Code on the mainline - not feature branching (more later)• Branch by abstraction & Feature toggles• Automated tests of user journeys• Automated cross-functional tests – simple performance trending• Evolutionary DB! Build and Deployment patterns• Infrastructure as code• Continuous Deployment• Automated database deployment• A/B Testing, Canary releases, etc• CI, Build pipelines, etcPrivate and Confidential. © 2011 <strong>ThoughtWorks</strong>, Ltd. All rights reserved.


Continuous Delivery – How (2)! DevOps• Greater cooperation between development and operations• Use techniques from s/w development e.g. automation and testing! Tooling• Chef, Puppet, CFEngine, Powershell• IAAS• GO• VagrantPrivate and Confidential. © 2011 <strong>ThoughtWorks</strong>, Ltd. All rights reserved.


Mobile Applications – Why?! Massive growth in availability of Smart phones and mobile devices! Apps from stores overtaking “traditional” applications! Mobile devices becoming default means of accessing information! Cross-platform still huge challenge! Enterprise integration and strategy still in infancyPrivate and Confidential. © 2011 <strong>ThoughtWorks</strong>, Ltd. All rights reserved.


Mobile Applications – How?! Cross platform mobile toolkits – Holy grail but unfortunately an illusion! Progressive enhancement – develop for lowest common denominator thenenhance! Mobile web• jQuery mobile• HTML 5• Offline mobile! Testing mobile applications• Selenium 2• Frank! Web kit based browsersPrivate and Confidential. © 2011 <strong>ThoughtWorks</strong>, Ltd. All rights reserved.


Web as platform! Internet most scalable and resilient “application” on the planet! Techniques from the web can be used in enterprise applications• E.g. ATOM as pub/sub• Use HTTP as default transport mechanism• Thoughtful caching• Caching reverse proxies! Service choreography! Defined by protocol rather than centrally! Hypermedia driven application protocols! Emulate way humans interact with InternetPrivate and Confidential. © 2011 <strong>ThoughtWorks</strong>, Ltd. All rights reserved.


Web Development! Many tools/techniques emerging to aid in development of rich HTMLapplications! Javascript as first-class language! Coffeescript! Backbone.js! SASS, SCSS, LESS! HAMLPrivate and Confidential. © 2011 <strong>ThoughtWorks</strong>, Ltd. All rights reserved.


Cloud Computing! Despite recent setbacks still huge momentum towards cloud! AWS outages illustrate need for “cloud friendly” architectures! Private vs. Public cloud• Data Protection issues• Many enterprises still reluctant or unable to use public cloud! Hybrid cloud to manage excess loadPrivate and Confidential. © 2011 <strong>ThoughtWorks</strong>, Ltd. All rights reserved.


Cloud Platforms (1)! AWS• Despite problems range of services continues to expand• Addition of Oracle and VPC! Heroku• Originally RoR PAAS,• Now supports multiple web frameworks, Java and Clojure! Cloud Foundry• Supports Java/Spring applications, Rails, Sinatra, Grails and Node.js alsoMongoDB, MySQL and Redis• Public (VMWare) or PrivatePrivate and Confidential. © 2011 <strong>ThoughtWorks</strong>, Ltd. All rights reserved.


Cloud Platforms (2)! OpenStack• Open source private cloud• Leverages existing virtualisation technologies e.g. KVM• So far compute and object storage but under active development! Continuous Delivery makes cloud a lot easier!Private and Confidential. © 2011 <strong>ThoughtWorks</strong>, Ltd. All rights reserved.


Agile Analytics – Why?! Data obesity• Data collection from web, etc. outstripping ability of business to analyseit! Demand for customer insights• Clients sense that marketing can be better targeted• Promise of mining trends from social networks• Traditional finance oriented data warehouses don’t support this kind ofanalysis! Business not getting expected ROI on BI projects! Long project lifecycles – typically 18+ months! Major cost overruns – little ability to fail fastPrivate and Confidential. © 2011 <strong>ThoughtWorks</strong>, Ltd. All rights reserved.


Agile Analytics – What?! Strong end user value focus – focus on business need not technical solution! Iterative development approach – answer most important questions first! Test led development – complexity of BI demands automated tests! Focus on high value stories – don’t “boil the ocean”! Same advantages as “normal” Agile! Use of innovative and open source tools! Event sourced BI – provides real time analyticsPrivate and Confidential. © 2011 <strong>ThoughtWorks</strong>, Ltd. All rights reserved.


Agile Analytics – Tools! Use NoSQL databases – column stores and document databases oftenbetter fit to data! Use Open Source or lightweight BI tools – e.g. Pentaho, JasperSoft,CloverETL, Talend, BIRT, SpagoBI! Use Cloud computing to store large data sets! Use functional langauges/tools e.g. MapReduce, Hadoop for rapid processing! Leverage existing lightweight tools e.g. Excel for reportingPrivate and Confidential. © 2011 <strong>ThoughtWorks</strong>, Ltd. All rights reserved.


Some controversies?! The Future of Java! Feature Branching! VCS with “implicit workflow”! Code in configuration! Database or Procedure oriented integration! Java portal servers! GWTPrivate and Confidential. © 2011 <strong>ThoughtWorks</strong>, Ltd. All rights reserved.


Build your own <strong>Radar</strong>!! Advice: http://tinyurl.com/NealFord<strong>Radar</strong>! Tool: https://github.com/bdargan/techradarPrivate and Confidential. © 2011 <strong>ThoughtWorks</strong>, Ltd. All rights reserved.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!