Obviously, for architects in the enterprise it is important to use technology to achieve the results the business needs. But there is a trick to it.
Managing technology is usually a risk-reward scenario where you maintain a portfolio of ready-for-primetime technologies and skills, while keeping an eye open for new and possibly game-changing technologies. Yet you know that you can take a trip down a black hole if you pick too many new technologies that are … well … not-ready-for-primetime.
Where RDBs and SQL have dominated they really are the most efficient solution, but when you are looking at the scales of data the Internet is producing … loading that in RDBs is very difficult.
Enter the ThoughtWorks Technology Radar as a helpful gauge. The able crew at the ThoughtWorks' consultancy is keeping a running tab on technologies du jour with a regular Technology Radar publication.
Among the technologies the group cites as possible next-movers are the mobile Web, Azure, app containers, HTML5, Clojure, F# and Git. ThoughtWorks Radar counts all of these as ''technologies to assess.'' We talked with ThoughtWorks CTO Nick Hines just ahead of a quarterly Technology Radar briefing this week at New York City's venerable Penn Club. He filled us in on some details.
An example of a once-risky technology that has moved to the adoption stage is the "Web as a platform." Why?
"Web as a platform' is saying the most scalable platform in the world is the Internet. HTTP carries a lot of advantages, and techniques of caching and load balancing are things the Web does very well," responds Hines. "HTTP applications are more scalable."
A bit newer on the radar is the NoSQL movement, which, Hines hastens to add, is not really a non-SQL phenomenon but is more correctly a 'Not Only SQL' movement. NoSQL involves very large data sets and use cases in which established SQL data bases may not be the best choice.
"Where RDBs and SQL have dominated they really are the most efficient solution," he said, "but when you are looking at the scales of data the Internet is producing - the [size of] weblogs a modern Web site may have - loading that in RDBs is very difficult."
The Not Only SQL route is being taken by prominent social networks like LinkedIn and Facebook, Hines notes, where the socially connected nodes are much easier to model as a graph data base than a relational DB.
ThoughtWorks was one of the earliest and most visible proponents of agile efforts, which, today, Hines says, is very much about 'being adaptable to the needs of the business.' He notes Git and Mercurial as important recent distrusted version control tools that carry on the 'agile' agenda.
ThoughtWorks is also keeping an eye on a movement it describes as 'DevOps.' This is an effort to achieve closer collaboration between developments and operations via agile methods. In fact, one could look at much of today's hoopla around cloud computing in the light of faster provisioning for newly developed applications and integrations.
New to Git and distributed version control? Here are some Git examples and Jenkins-Git integration tutorials designed to help you master the popular source code versioning tool.
- The five key Git commands to master first
- Change a commit and manipulate commit history with this hard git reset example
- What happens when you git reset and push?
- Learn to undo a commit with git revert
- Use the git cherry-pick command across branches
- Change the default Git commit editor to Notepad++
- Where the Git configuration files are stored
- Make continuous integration part of your DevOps journey with this Jenkins CI tutorial
- Include Jenkins Git environment variables in your freestyle builds