by John Turner
Posted on February 08, 2013
Recently I’ve spent some time considering the value of virtualisation. It reminded me of a ThoughtWorks Technology Radar (march 2012) in which the manner that some organisations continue to treat virtual machines as physical was derided. So in what ways do organisations treat virtual infrastructure as physical?
The technology radar states the following:
While virtualisation is on the rise, some organisations are treating virtual machines like physical infrastructure. We frown on doing a full operating system install for each VM or using VMs for load testing. Virtual machines can be cloned, snapshotted, and manipulated in ways physical machines cannot, and also have vastly different performance characteristics than physical hardware.
If we were to put this more concisely we could say that for these organisations:
Physical + Virtualisation = Physical
For me, the question is why an organisation would spend significant time, effort and resources to virtualise their infrastructure but continue to manage that infrastructure in the same way they managed physical infrastructure. The only answer that I could argue is that it allows for better organisation and consolidation within the data centre (and a minimal amount of utilisation improvement, particularly if your business applications are implemented in Java). The value accrues to the infrastructure department and has little benefit to other areas of the organisation.
Often, this occurs when the drive to virtualisation is spearheaded by the infrastructure department. The result is therefore inevitable.
So, what would need to happen to ensure that the value of virtualisation accrues to other areas of the organisation?
What is missing is the ability for those areas to orchestrate the virtualised infrastructure. More concisely:Read More
by John Turner
Posted on February 04, 2013
I recently attended the Cloud Europe Expo in London and I was lucky enough to have the opportunity to have a chat with Jesse Robbins about auto-scaling on cloud platforms.
Cloud has different meanings to different people but generally people are talking about infrastructure as a service (IAAS), platform as a service (PAAS) or software as a service (SAAS). One of the common characteristics that people expect of any of these cloud services is that the service will scale to meet demand. But how does this happen?
We discussed three approaches and the associated merits and flaws of each.
The first approach is one that I have seen the majority of PAAS providers implement. Within each node of the platform an agent reports resource utilisation metrics to a centralised orchestration service. The orchestration service monitors these metrics to determine when to provision additional resources or to unprovision resources (in the event of under utilisation).
There are a few things to note. These resources are provisioned/unprovisioned just in time (JIT) and so in the case of provisioning additional resources, there is a time lag between the time the resources are requested and the time they are available to service requests. During this time lag the user may either experience increased latency or the service may throttle user requests to protect the quality of service. It may be acceptable to maintain additional head room to cater for this lag period but the more head room the less efficient the provisioning will ultimately be.
The second thing to note is that scaling is triggered by resource utilisation metrics. These are often not the metrics your users are concerned about. I have not seen any PAAS use business transaction latency/throughput as the enabler for auto-scaling and I feel that this is far more valuable.Read More
by John Turner
Posted on December 26, 2012
This morning, I filled the post Christmas day lull by popping out to a local coffee shop with Clare (the wife), Katie (the daughter) and Sarah (Katie’s new doll). I noticed that Peter Taylor was sitting beside us and he was soon joined by Zaur Antia. Most who followed women’s boxing at the 2012 Olympics will know that Peter and Zaur coach Katie Taylor, the gold medal winner in the women’s 60 kg category. It’s worth highlighting for those not familiar that Katie (Taylor) is one of the most successful amateur female boxers who to date has won:
So what has all this got to do with culture and innovation?
As I sat there drinking my coffee I could not help but notice Peter and Zaur discussing boxing. This was the day after Christmas and they were engaged in a passionate conversation about boxing style and technique. Their enthusiasm seemed to resonate, building as they become more and more engrossed. At one point Zaur jumped up and was swinging punches as he tried to get a point across to Peter. This is the type of passion and enthusiasm that infects those around them.
I’ve no real knowledge of the technical aspects of the pugilistic arts but given Katie’s success I must assume that Peter and Zaur are experts in their field. As they engaged in open and rich collaboration they exchanged ideas, adapting their views as they absorbed knowledge and opinion from one another.
I overheard comments about form being cyclical and this was clearly about communicating a vision about how to approach the build up to the next big tournament.
What I took away from this experience is that innovation is about culture not process. You can’t implement a process that results in innovation. I’ve seen companies try to do this by building centres of innovation but I’ve never seen this impact the culture of the organisation.
Innovation starts with agreeing and communicating a clear vision, then building a culture to deliver that vision. A culture created by having knowledgeable people who are passionate and able to engage in open and rich communication with one another.
by John Turner
Posted on November 07, 2012
Two of the JAX London sessions addressed the subject of Java and WebSockets. The first of these sessions HTML 5 WebSockets and Java was presented by Arun Gumpta from Oracle and he focussed on the work he was involved in to create a standard Java API for WebSockets (i.e. JSR 365).
This very informative session provided background including what are WebSockets, what is driving the demand for WebSockets and what is the current level of adoption of WebSockets by browsers and application servers.
Arun then provided a walk through of the JSR 365 API using a number of examples and code snippets. One of the things that I found a little uncomfortable was the number of synergies with JAX-RS and the fact that there was very little consolidation of syntax for what was often semantically the same. It is conceivable that a RESTful service would want to provide asynchronous updates using WebSockets and from what was presented the divergent API would make implementing this a little more challenging.
Putting that concern aside Arun did a great job of introducing WebSockets and the work Oracle were doing on JSR 365.
Steve Millidge of C2B2 presented the second session (Data Grids and WebSockets: Delivering Real Time Push at Scale). This session demonstrated the use of a data grid (Oracle Coherence) to propagate updates via WebSockets to a number of clients. There was a fair degree of overlap in that both sessions spent some time introducing WebSockets but this was not an issue or me as the message was consistent and one reinforced the other. In addition to WebSockets, Steve spent some time introducing JSR 107 and Oracle Coherence. What made the talk particularly engaging was the example used to relay the concepts. The example demonstrated capturing updates to stork prices stored in the data grid. Updates were then propagated via Web Sockets to all clients viewing these stock prices (on a browser). As part of the exercise, I was able to view the updates on my phone.
I found Steve’s talk interesting and the demo was quite engaging.
by John Turner
Posted on November 06, 2012
I recently attended JAX London and there were quite a number of the sessions focussed on Big Data and NoSQL. Two of those sessions focussed on Apache Cassandra.
Tim Berglund (Radical NoSQL Scalability with Cassandra) started by describing Cassandra as a column oriented database and spent some time illustrating what it meant to be column oriented. He then went into some of the specifics such as keys, secondary keys, CQL, ordering of columns within rows etc.
One of the things people assume about NoSQL is that it facilitates near linear scalability. Tim confirmed that Cassandra will scale linearly and that he is aware of production clusters of up to 500 nodes. He also spent some time describing consistent hashing and the logical topology utilised by Cassandra. Nodes can be added and removed without downtime and load is redistributed. Redistribution of load is throttled so as not to impact availability in production.
One of the interesting characteristics he described was higher write than read performance. Because Cassandra uses the write timestamp during reads to ensure the latest version is being read, NTP is required on Cassandra nodes.
I found Tims session to be very interesting. Cassandra was new to me although few of the concepts were.
Tom Wilkie (Real-time Analytics with Apache Cassandra) focussed on how to extract real time analytics from column oriented databases (specifically Cassandra). Tom was really knowledgeable about Cassandra although the session took a while to get going.
NoSQL databases are denormalised and distributed which does not lend itself to real-time analytics. Tom spoke about some of the techniques they were using at Acuna. He got into the technical detail which at a high level involved updating summary data on insertion. He then spoke about how Cassandra counters and multi dimensional keys facilitated this process.
Much like Tims session, Tom did a good job of conveying the key understanding and making the session interesting and relevant.