There’s a cycle in technology where people figure out that you can make money out of something and so everyone jumps on the bandwagon. You know .com, e-commerce (in fact e-everything), SaaS (and its forerunner ASP), the Cloud, Big Data... Though the bandwagons come and go, some practical technologies usually emerge as successful and viable and remain long after the bandwagon has disappeared out of sight. Currently one of those bandwagons is IoT (the Internet of Things).
It’s that time of year when we see a whole raft of articles telling you the “Top 10” things you must do next year to succeed. One thing that will probably be missing, although it really shouldn’t be, is incorporating effective operational testing into your software development & testing cycle. Believe me, operational testing it is important -it just isn’t getting the attention it deserves.
So, what is Operational Testing and why is it Important?
It was great to attend The National Software Testing Conference held in London recently, both as an exhibitor and a speaker. I really love this type of event as they provide a great opportunity to talk to professionals, in this case software test professionals, who are “at the coalface”.
During conversations with several delegates who visited our (iTrinegy) stand I was encouraged to hear that they understood the concept (and saw the value and need) of including verifying application behaviour over networks as part of their test regime. A few years back, if you asked the question “So how are you checking that your application will work over in a production network?” It would not have been surprising to get a reply along the lines of “Oh, that’s not part of my remit, I leave that to the operations team/network team”.
What was your first job in IT?
I started out in British Telecom’s Research and Development department. They needed a system to help manage the transition of systems and processes and my job was to program various modules.
How did you first get involved with Network Emulation & Profiling?
Among the many things BT was doing at the time was a project to look at the quality of VoIP systems, to see if they could be a viable alternative to fixed lines. The problem they had was how to replicate the network conditions in order to perform the tests. This ended up on my desk, and that’s what got me thinking about the potential for helping all kinds of businesses understand the impact of networks on their applications.
What do you find most satisfying about what you do?
When customers recognize the value from testing their products and systems more effectively because of our Network Emulation and Profiling technology. I also get great satisfaction when I assist customers personally on implementing very complex virtual test network environments.
It is estimated that there are already 14 billion objects connected to the Internet, so that is currently more than 2 devices per man, woman and child in the world today. Industry analysts are projecting that this could rise to anywhere from 20 billion devices to 100 billion by 2020 and if IoT really takes off in a big way with more connected cars, more wearable tech (both for recreational and healthcare monitoring purposes), and more connected buildings etc., it is easy to see how such growth is going to be achieved. Some may suggest that even 100 billion connected devices is a bit on the conservative side.
In most cases, these devices will act as sensors and, individually, only demand relatively small amounts of network bandwidth to communicate small amounts of data. However, when you scale this up to many millions or billions of connected devices, the demand on the network becomes huge.
At iTrinegy we used to build Network Emulators, and we still do. But that sounds like something that a boffin scientist might use, not a regular IT person. So it’s worth taking a step back…
… with the Network now being an integral part of almost every app(lication) - btw somehow we’ve got into saying “app” on mobiles and tablets and “application” on everything else, so I’m going to use “app(lication)” for both/either - what people need is a way of make sure (sometimes called testing!) their app(lication) works in the final network.
And, that’s not just for today’s applications: IoT devices, connected cars and smart metering are all going to depend on the network.
So what we need, to make sure it’s all going to work properly when we put it “out there”, is a network that behaves like the real network, but that you can control.
These days choosing a coffee shop is not that straightforward. Is it about the quality of the coffee? or the food, maybe? Or maybe, it’s about the quality of the internet connection...
It’s one of those days where I have back to back client meetings when I get a call to say that the next meeting is postponed. Phew, time for some lunch so I head for the nearest coffee shop for my usual americano and of course time to catch-up up on some emails as the iPhone hadn’t stopped buzzing all morning.
The first one I come across is a well known chain just at the top of Long Acre near to Covent Garden. Perfect, meets my criteria for good coffee, plenty of available seats and of course free WiFi. I order my small americano which comes in one of those tall glasses so I have to precariously hold it in one hand whilst carrying my briefcase in the other. No mean feat but I’ve mastered this over many years of killing time in coffee shops! I head to the front of the eatery where there is plenty of available seating compared to the back. Great, arrived safely and without spilling a drop of coffee. I boot-up the laptop and connect to the WiFi. All good so far and Outlook starts to download the emails but it’s very slow.
Last week we launched, to great fanfare, our virtual version of our NE-ONE network emulator, for VMware in the first instance. For us as iTrinegy, this was a land mark moment, expanding our product suite into the virtual world and delivering another technology first.
Some may not have shared our excitement, seeing this as an underwhelming addition to the product line - another check box completed.
But it’s not just another check box. This is really important, and not only to iTrinegy, but to all our existing and potential customers, large and small, all over the world.
Great that Apple recognizes the need for proper network testing of iOS Apps during development; in so far as it goes…
I recently came across a report by Geoff Huston, Author & Chief Scientist at APNIC (Asia Pacific Network Information Centre) from the recent Apple Developers Conference which mentioned that Apple are adding network emulation capability to their Mac OSX platform, allowing a developer to create a personal Wi-Fi hotspot to test an app to see that it works.
I love to shop, and when I buy an outfit I look at style, color, cost, machine wash or dry-clean only (aftercare), is it suitable for the event I’m going to? Most importantly, do I look great in it? This last part is essential for me, and as a result I rarely purchase clothes online; maybe I’m old-fashioned, but I like to ‘try my clothes on before I buy’. But, it’s important to note that some online shops allow you to try before you buy by having an easy “sale or return” policy, attractive for many buyers.
It got me thinking about my work and how often I come across companies who look at spending a lot of money to move their IT to a different environment such as Cloud or to a new datacenter, maybe virtualize their environment, without ever realising that they could ‘try before they buy’. Providers of cloud/managed services and datacenter moves cannot a “sale or return” due to the commitment to make the change. This makes the offer of ‘try before you buy’ even more important.
We have all been aware of the importance of managing performance for many years and traditionally the main focus has been on the availability of our internal systems (systems/server application management). APM on the other hand is helping companies to gain a good understanding of their application performance and a key aspect of this is visibility on how applications perform across all types of networks. Availability has become, over the past decade, an intrinsic requirement in all application performance whether, its internal or external applications, we don’t think about it quite so much, but what is becoming increasingly essential is ‘SPEED’.
Speaking with delegates at a Cloud World Conference, I discovered that many are still taking a chance with their mission-critical applications. There seems to be a belief that in order to discover how their apps will work in a real world network, like a WAN or Cloud network, their only option is to conduct tests using the live network.
I was kinda surprised! I mean when do they do this?
At night! — The network loading won’t be the same as that encountered in normal office hours.
During the day! Apart from the risk to the business, if they do have an issue how can they replicate it again to test their fixes?
Some customers even contemplate producing a replica (in part at least) of the live network, until they see the bill, then they stop, give up and say the network is too difficult and put it out of scope!
Attending Interop in Vegas last month, I was surprised to note the number of vendors exhibiting their wares under the banner of APM – Application Performance Management. With all the different offerings, it was rather confusing. It got me thinking about a trip I’d taken the night before to an ice-cream parlour. I love ice-cream, and at the parlour there were plenty of flavours on offer. With APM, as with ice-cream, meeting customer demand is key- one flavour doesn’t suit everyone.
Looking at the offerings all touted under the umbrella of APM, I realised that some were obvious choices and others, well…
Application Performance Management (APM) tools are really coming into focus as a result of cloud computing, agile development, virtualization, and mobile device adoption. We are seeing the industry really embracing “networked applications” and, as such, there will be a great need for these apps to perform well in the network as well as avoiding downtime. This means monitoring and managing from a network perspective, as well as a server and application perspective if we are to eliminate system outages and poor performance.
There are many APM solutions out in the market place - some 200 at last count - across different disciplines and domains, with differing features, methodology and options. The trick is to find one that suits you best. Even though they all go under the same umbrella, their approach is very different. Some monitor transactions across the network, some monitor applications on servers, some monitor the clients, some perform synthetic transactions.