OpenStack “State of the nation”

Over the past few days I have had the pleasure of attending the OpenStack Summit in Paris. The 6000 person attendance figure alone tells a story of the massive momentum behind this open source software project. Over a 5 day period thousands of vendors, integrators and developers got together to shape the future of this amazing project.

So, what is OpenStack? It is a collection of open source tools and technologies, augmented by commercial tools, that allows customers to build private, public and hybrid cloud services.

I am currently involved in a project to build a cloud platform that will deliver public cloud services, and I selected OpenStack as the underlying technology to base my platform on. OpenStack is a relatively unknown quantity in South Africa, and one of the questions I always get asked when discussing my plans, is “why not VMWare or Hyper-V?”. Most people assume that the answer will have something to do with cost, or some crusade against big and evil tech empires. The answer is actually quite simple. OpenStack is the only platform today, that allows customers to build the cloud they want, with no vendor lock in. And while there are other open cloud platforms out there, OpenStack has the largest and most vibrant community, with the largest partner eco system. The challenge and opportunities lie in the fact that it is not a pre-packaged product (that is changing with most open source vendors now offering easy to deploy systems for enterprise use) but a framework that allows you to make component selections to build the cloud you need. The Lego of the cloud world 🙂

This was not always the case. In the earlier releases (Grizzly, Folsom, Havana etc) there was a lot of features missing, and the toolset was difficult to deploy. The latest release is Juno, and the community is working to release Kilo in a few months time. Today, the stack is easy to deploy, with distributions and vendors such as SUSE, Red Hat, Mirantis, Canonical, HP and IBM all having easy to use deployment tools. Vendors such as Canonical and Mirantis take this deployment further, with their FUEL and JuJu tools providing several deployment options, making OpenStack as easy to deploy as traditional virtualization technologies. The partner ecosystem has dramatically expanded, with more and more companies providing focussed add-on’s for the platform, making it easier to deploy, operate and manage this environment.

The layer above the basic cloud platform Infrastructure-as-a-Service layer has also expanded. Platform-as-a-Service tools, container technology and others such as software defined network and network function virtualization are all driving the new applications and services that allows businesses to be more agile with their technology services.

The use cases for the cloud platforms feature three recurring themes. More speed, more agility, less cost. We now live in an era where “credit card” decisions are made, where a manager will swipe a company credit card to buy and instantly access a service if internal IT moves too slow. The way savvy companies counter this, to maintain control while delivering on the new business requirements for faster availability of infrastructure and services, is to deploy clouds internally. I saw several case studies being presented where companies shared their numbers of how fast services can now be deployed and adopted, and how their internal IT user satisfaction scores went up.

It is important to note that virtualization and cloud are not terms to be used interchangeably. Yes, OpenStack contains virtualization (select your hypervisor from KVM, Hyper-V, ESXi or XEN and others), but it provides technology for an “Amazon AWS like” web layer where users can authenticate and select options to be deployed as they need them. Traditional virtualization vendors such as VMWare are also throwing their weight behind OpenStack, integrating their technology with OpenStack to provide a single control plane and great user experience.

What does this mean for South African companies? In short, you now have access to a set of technologies that enables you to make smart choices, delivering IT as a service, providing your users with a great, flexible platform, capable of quickly delivering infrastructure and apps.

If you’d like more info, to see how this can work for your business, leave a comment and I’ll reach out to you.

That dirty word, “Innovation”

Many industries have overused terms, in automotive, “driver’s car” is one that comes to mind. How on earth can a diesel powered econobox be described as a “driver’s car”? Technically it is correct, the car does belong to a driver, so it is that driver’s car. But does it inspire you to get in it and simply drive for the joy and pleasure that it brings? I seriously doubt it. One of the real “driver’s car” models that got my heart racing was the Honda S2000. Now here is a lightweight, rear drive, manual gearbox car with steering that can only be described as telepathic. Get in, point the nose anywhere and simply drive for the sheer fun and pleasure of the act. Rev the 2.0 litre V-TEC engine to a dizzy 9000rpm and hear it wail like a sports bike.

In the consumer products market “new and improved” is another one. Is it new, or is it improved? Fake hype is generated around something like shampoo that must have 50 competitors on the same shelf.

In the information technology world, “innovation” has become one of those overused terms. No dear reseller, you do not “innovate” when you take the same product that loads of people make, and simply sell it in a new (and probably more expensive) way. True innovation is the act of breaking the mold, thinking without a box, not just outside one. Truly disruptive technologies are scarce locally. Like hen’s teeth some might say. In South Africa we need to start moving beyond the “buy tech, add a markup and sell, repeat” model. We have to learn to distinguish between what is a new spin on an old idea, what is disruptive and what is truly new and exciting.

I am looking forward to see how individuals and businesses use my cloud platform to deliver true innovation with a real South African flavour.

If you want to save money, go all the way…

The journey in building a new cloud platform has been an interesting one to say the least. When asking customers why they consider virtualization, private cloud or hybrid cloud solutions, cost saving is always part of the equation.

But, it amazes me how the technology decisions we make are influenced by vendors, and how few customers can work their way through all the FUD (fear, uncertainty and doubt). Some of the best FUD stories I hear, concern these statements:

  • We are a vendor X shop.
  • We only buy “best-of-breed” technology.
  • We only have vendor X skills.

Right…how does tying yourself into vendor X, thus leaving you without choice, save you money? And, who defines “best-of-breed”? I have it on impeccable authority that one of South Africa’s largest service providers locally, lose money on every single VM they sell via their cloud platform. How is this possible? Given their scale, they should have immense buying power, and their purchasing volume alone should put them in a much more competitive provisioning and costing space. But in thinking that, you’d be wrong.

Their first mistake was going the “we are a vendor X shop” route. Let’s not investigate the options, let’s simply take our shopping basket, and load it full of goodies that vendor X peddles, especially since vendor X claims to be “best of breed”. Dare question the rationale, and that old faithful independent analyst report, ranking vendors in a way where no one loses, but some are more equal than others, gets yanked out. This provides “proof” and is the basis for not even evaluating other technologies. Plus, said Service Provider have a long standing relationship with vendor X, and they do not want to “burn” that relationship and their current discounts, by buying from another player.

Then “we only have vendor X skills”. People, if your techies can only configure VLAN’s and routing on vendor X’s hardware, you have a serious problem on hand. You hired the wrong people! Certain technologies become a standard over time, and networking is a great example. You can buy networking kit from any one of at least 10 vendors, and your brand X skills will translate in maybe 4 hours of playtime. All you have to learn is how the command line or GUI works, as the underlying routing, switching, VLAN’s and link aggregating protocols are all the same. Storage is the same story. A LUN is a LUN, whether implemented on vendor A or vendor B’s kit.

I could carry on for days, but I think my point is made. In cloud, cost and ease of use is king. That is why we investigated everything, including the brand X’s of networking, storage, operating systems and virtualization technology. In the end, you will not find a single vendor X in our platform, we went with choices that suit our business, and where our skillset can easily be translated. It has been tough, we have been wooed, and even ridiculed for our choices, especially by the vendor X’s losing out. In the end we stuck to our guns, made bold choices, and now we’ll see how it all plays out.

And I’ll be making money on every single VM that I sell.

If it floats, flies or is in the cloud, you are better off renting…

The above bit of sagely financial advice was offered to me by a financial professional. Certain assets and items make no financial sense when you buy them, renting is the better option in many cases. Why should technology be any different?

I strongly believe that the days of buying physical servers at Capex cost is a business model that is dead for many enterprises. Why invest all that hard earned money in a dead platform, why not just rent what you need, elastically? Need more, rent more. Need less, rent less. Not only will your expenses match your requirements, but your get better proportional use from those rented assets.  Some recent reports puts the average utilization of servers running virtualization hypervisors in the enterprise datacentre, at between 20% and 40%. This implies that even “enterprise” virtualization is not delivering the value promised.

How do we solve this utilization issue? It needs to be solved as it implies that we are spending money on resources that we do not use. But getting benefit from this model means that we have to have modern application and infrastructure management technologies, so that we can “right size” our resources. Managing tech resources need to move beyond the “is it on or is it off” mindset, coupled with technology silos. No offense, but I do have a giggle when enterprises who get tools like Microsoft’s SCOM for free in their enterprise license agreements, think that these basic tools tell them anything about how the app is performing. No, today we need technology that will map our business rules and processes across infrastructure, showing us impact on business processes if a port on a device, or process on a server misbehaves. The issue here is cost. Most of these platforms need to gather various forms of data, including SNMP, WMI and packet level data. The best systems will even run a small agent on your .Net, SQL and Java systems, instrumenting these down to code level. But, in South African terms, a project like this could be anywhere from R 5 Million to R 10 Million, even for relatively small environments, with around 20 app servers and around 100 servers in total.

Solving this issue has been my mission. It is one of the reasons why our cloud platform can be called “enterprise grade”. Let me explain. The systems used to monitor the packet level data are dedicated hardware devices, capable of some serious data collection and analysis. However, when buying this technology, companies have to not only think about their data rates today, but also try and guess what the data rates will be 3-5 years down the line. Typically these assets get “sweat” a long time, so invariably, an enterprise buys a bigger box than what they need. Secondly, the tech to instrument your code gets sold in certain license batches, so you end up having to buy another 10 licenses, even if you only want to roll out another two servers, taking your total to 12. Having a cloud platform enabled that has this tech built in, makes it super easy for enterprises and software developers to have this technology “baked in” to their infrastructure. Now we get to a point, where we can deliver the following info:

  • How fast is my application for the end user using it, with total response time in milliseconds instrumented from the end user device, right down all the tiers of my application and infrastructure.
  • If my response is below par (my SLA requires a 400ms response time, but I am delivering a 900ms time), where is the delay? Network, server, app, code etc?
  • In multi-tiered applications, where we have a web front-end connected, to an app server, which in turn talks to a database, we can see the delay and details for performance between servers. So, a slow app may be slow because the connection between the web servers and app tier is slow, as a result of a bad configuration on a load balancer.
  • A new update was pushed for a .Net or Java based app, and now, certain modules of the app is slow. We can pinpoint these, and help developers debug and fix performance issues, as we can see exactly which piece of the app and code is causing an issue.
  • We can tie memory, CPU and storage system performance together, and see how changes in resource quantities (add more RAM, add more vCPU) is positively or negatively affecting app performance. You can also see if a bigger server is needed, or if two or three smaller servers, running with a load balancer will work better.
  • The network performance can be instrumented and modelled to the n-th degree. Is adding more capacity going to improve my performance, or will switching to a lower latency fibre optic link from my ISP improve my performance? Is accessing the service via Internet ok, or do I need to think about a dedicated point-to-point link to the cloud, or can I simply extend my MPLS service?

Understanding the impact of resource and their behaviour is key. With the right tools, you can rent just what you need. The right sizing job for CIO/CTO level managers just got so much easier…

The bravery of being out of range…

Doing OpenStack is hard. Doing it right is even harder. Doing it in a way that mimics the major functionality of competing public Infrastructure-as-a-Service providers is so tough, that I believe what we are launching will be a first in Africa, with some features a first in the Southern Hemisphere. Part of the challenge is understanding that OpenStack is not a technology, but a framework. A very complex Lego set where you slot things in and make then work in a way to suit your organisations business requirement. For the past 10 months I have done little but spend every moment possible understanding what I want to do, and how I want to do it. And I am not done…

So, is it correct for me to look down on enterprises making “easy” choices using easy to install software packages? Probably not. In truth, I do not look down on them, as much as I stare in wonder at how they manage to misuse so much of the vast resources they have at their disposal. Instead of doing the hard thing and building what is perfect for the business, they choose far simpler productized platforms, rolling out far more costly equipment and solutions, to solve problems in a “standardized” way. The reality is that they do not adapt technology to their businesses, their businesses has to adapt to their technology choice’s rules and limitations. Not ideal at all.

Now, I have to express a serious amount of ignorance on my side regarding the inner workings, descision making processes and budget allocations of enterprise IT departments. Reason is simple. I have never spent a day being employed in a end-user internal IT department. In an IT career spanning 22 years, I have only been employed 3 times, all of it working for technology resellers. I did less than a year in a fairly big business, then less than a year at a global multinational and finally 5 1/2 years in a company that grew from around 20 people to around 400 people in the time I was there. The balance of 22 years was spent being self employed with varying degrees of success. I have had roaring successes and spectacular failures. The time I have been flumoxed the worst was when I failed (in my opinion) in environments where technology descisions are taking by people who really have no business running IT departments.

But I digress…I think the biggest reason for doing things the “easy” way, is the fact that enterprise employees don’t spend their own money. Made a 150 Million blooper? No problem, wipe it under the rug and try again. Blame the vendor and then the partner. Apply the first rule of corporate politics, CYA (cover your ass) and duck for cover.

Things are different when you are spending your own money, you tend to think harder about why you spent it, and who you will be giving it too. Getting return on that hard earned cash is paramount, and in a big way, enterprise guys can easily duck financial responsibility for failures. Selecting a framework is giving me the opportunity to make technology work for my business, not make my business work the way a vendor demands.

Undocking your cloud

In a recent post I spoke about lock-in and how I hate being locked into services. Expanding on that topic, I should note that cloud services is a lot more elastic than other products we use or services we consume…up to a point. You can easily turn services on, off or move between plans. But moving from cloud platform A to B? Nope, not so easy… until now.

Docker is going to revolutionize the way we build, run and move applications around. Referring to my previous post, Docker is the way I am going to make it easy for you to get on my platform, run your apps, scale them and finally take them with if you decide to switch platforms. And if you go out there, try the others and realize my platform as best after all, Docker is how you get back in 🙂

So, what is Docker? This page will give you a great quick overview, but allow me to summarize here. Remember the old Java promise of “build once, run anywhere”? Well Docker is that promise delivered. You can have a quick start with 13000+ Dockerized applications or build your own. By using the Docker you can build an application, run it on any environment and finally ship it to any cloud platform that supports Docker and run the app at scale.

Have a look at it, if you are a Dev or SysAdmin guy, you’ll love this tech.

download

Size matters…smaller is better

Time to admit it, I was hugely offended recently during a session with a potential vendor. The account manager working with us may not have disclosed our current company size as part of getting a very senior european manager to see us. During the conversation, we were quizzed as to the size of our business, and you should have seen the boss’ face when my answer was “less than 10 people”. He had that “Oh no, I just stepped in poo” look.

The reality is that I should not have been puzzled by the senior guy’s reaction. It is a sizable deal for a local company, so he may have been surprised by the fact that we are a small entity. And people seem to love the whole “bigger is better” concept, so his expectation may have been just that. Being a small company with big dreams places us in good company. Any of the following names ring familiar? Google, Cisco, Dell, Facebook, Microsoft, Apple…all started by one or two guys in a dorm room or garage. Esteemed company to keep in my opinion.

The reasons for running a small company vary, for us, it was a deliberate choice, just in the way that changing that is also one. Selling time limits your margin and revenue opportunity, as you can only flog a person and sleep deprive them so much for billable hours. Lawyers, accountants etc all know what I mean. The next level up are people who can charge for their time, but special circumstances allow them a greater revenue opportunity. Think surgeons. They charge a consulting fee at a certain rate, but performing specialized surgery allows them to take their billing to the next level. Whn you have a company that sells product, you have a “sales economy of scale” that can allow a single person to hook a big deal, by moving many widgets in one go. But then there is the game we have been in for a long time, software. To say that it scales the people/revenue number is an understatement. Allow me to illustrate. My biggest customer has 8000 network devices under management using a software platform that we supplied. A “less than 10 people” company. The end user in this case supports around 160 000 employees on that network. A 16000:1 ratio for our company. How is that possible? Simple, the same amount of configuration and work to support 100 devices goes into 8000 devices. Making our size, or lack thereof irrelevant.

Now, if a supplier is worried about our size, what about our customers? In reality, they prefer us small 😉 The reason is simple. If they use the services of a large company, they could be 0.2%-2% of their revenue. With us, they could be 5%-10% of ours at any given time, meaning that we pay much more attention to them. Our size also makes us nimble. For example, if we engage a potential customer using the exact same technology, we can arrange a proof-of-concept, scope and execute it much quicker than our competitors. That is why our internal stats show, that if we are up against a traditional big player, we have a 10x larger chance to win the deal, not because we are awesome (well, I think we are!) but because the internal bureaucracy in a large company makes them slower to react to changes in circumstances. Our sales tactic? Let’s change the circumstances and upset the apple cart a bit to stumble the giants…

What about our customer size? Are we dealing with the top 5 largest customers in South Africa? No, we simply do not have the reach to get them. Instead, in the 1000-10000 user range, our customer list reads like the who’s who of well known South African companies. We prefer dealing with them, as they are far more open minded than the big, “enterprise template” players. No tenders or public RFP’s mean that we can uncover and solve problems almost unhindered for them. They decide quick, and pay quick. The value of a buck is something they know, and they seek every advantage possible to enable them to compete and win against their bigger competitors. Their internal IT departments tend to be decently sized and skilled, allowing us to leverage our specialized skills.

All of this adds up to the following. Being smaller is a competitive advantage, one that we have been using to great effect for many years, and hopefully for many more to come.

My role models? The 55 employee company WhatsApp, acquired by Facebook in a 19 Billion Dollar deal…who’s making poo faces now?

Tactical technology thinking is killing innovation

A session with a representative from a major international research company confirmed what I have suspected for a long time…many IT players style themselves as “strategic” thinkers, but in reality, they employ tactical thinking to satisfy their own business goals.

Rodin's "The Thinker"

Rodin’s “The Thinker”

As we moved through my requirements this morning, it became clear why some obvious partnership opportunities were slow to materialize at the onset of our cloud platform R&D process. Historical vendor relationships rule the “Go to market” thinking of many large technology resellers and consultancies. Instead of thinking about “what” a problem needs to be solved with, they are thinking about the “who”. For instance, if the customer needs to solve a networking challenge, a certain vendor’s name is foremost. Now, is that a strategic or a tactical choice? I would answer tactical, as the networking market is going through a major change, and a large number of “up and coming” solutions might be better employed to solve particular problems. The reseller positions the choice as “strategic”, as they have loads of skills to support the technology. Does this mean that my gorilla in the networking space makes bad networking kit? Not at all, just they are not the answer for every problem related to networking.

This is where the disconnect happens. The customer has a specific problem that needs solving. The reseller believes the vendor’s go to market plan and strategy, in many cases simply because the technical resources that the reseller employs has no exposure to other vendor’s technology. And they do not have time to learn new skills or research the market, as they are flat out involved in either rolling out new infrastructure or busy fixing what is broken in existing environments. So, that most grave of errors are made…instead of really solving the problem, they force the customer to adapt their way of working to fit their reseller solution set. This is the origin of “architecture by evolution” and every new problem simply gets a plaster from the box we used previously. So, the sales guys get to play golf with the vendor based on their sales success, and the technical guys simply get to support more of the same infrastructure. Based on the “success” of this process, it simply repeats itself, ad infinitum to a point where I believe most enterprises run the same “template” for infrastructure.

I have reached the point where I am genuinely surprised when asking a customer about their general infrastructure and they give a “non standard” answer. It puts a huge smile on my face, giving me hope that we are trying to solve problems in a unique and customer specific way,  not in a sheepish way, following the herd rolling out the same old template.

Thinking caps on folks! Don’t be afraid to think outside the boxes provider by the well known tech vendors.

No lock in. At all. Ever

Quickly logged in to my mobile phone provider account this morning. My Samsung Galaxy S3 LTE device, running CyanogenMod, is getting a bit long in the tooth. Eagerly logged in to have a look at the new phone models available (time for a Sony, or another Samsung?), imagine my shock and disgust when I realized that I am only due for a free upgrade days before Christmas this year. I stared in disbelieve at the date, looking at the accumulated bill in front of me, amounting to thousands per month. Surely this cannot be? I spend big bucks per month, so surely my phone is not an expense but an enabler? Allow me to elaborate. I burn in excess of 1000 minutes per month, spend a couple of GB’s of data (despite wireless all over my office and home) and even pop off a few text messages a month. Making sure that I have a top flight phone should be an investment not an expense! In fact, giving me a free phone once a year would great. And not a “free” phone, but a real free phone.

This got me thinking…do business execs ever place them in the shoes of their own customers? How do you think our local Telco exec’s would feel, having to spend two years waiting for the next “free” phone while shiny new tech comes along every day, and 6 months is an almost acceptable replacement cycle for certain tech goodies? Getting phones for free as an R&D expense is nice if your a telco exec, but for the rest of us it is torture…

So, customer lock in. This used to be a very acceptable business model, and it is easy to see why. 20 years to pay of a house, 5 years for a car, 2 years for that new “free” cellphone etc. So many services force you to be locked in for a fixed, minimum period. Don’t think I can easily cancel or reduce my golf driving range membership. No sir, despite your current work schedule and minor health issue, you cannot cancel or “park” your membership, locked-in you are. Order a local ADSL service from our monopoly provider and get a “free” wifi ADSL router, if sir will just sign here and be locked in for 2 years. Crazy!

Why does this happen? I now believe it is because many companies do not have the means and wherewithal to effectively compete in a constantly changing business environment. Why drive ourselves to constantly innovate and delight our customers, when we can just lock the suckers into a term contract? I hope the boardroom talk is not as blunt as that…

But, the world has changed. Even things like cloud computing platforms who bill you on a pay-as-you-go basis have you locked in, because getting your apps and data in and out is difficult or in some cases impossible. Thus while it is easy to turn your billing on and off, moving providers in not that easy.

Now take pity on my poor business partner for what I am about to say. Not only are we entering a new competitive market space, but achieving lock-in has never been part of my design or business plan. Why? Simple, I imagined myself as my own customer. How would I feel if I am locked into some sub standard and slow service? I’d be hopping mad, frustrated and ultimately tell all and sundry to avoid such a platform like the plague. No, the way I want to keep customers is by making it easy to get on my platform, make it easy to use, quick to provision, bill using modern flexible methods, and finally make it easy to leave if you are unhappy. Risky? Not all, if I constantly delight you, and charge you a reasonable rate, why would you want to move, I gave you no reason too 🙂 Will we have churn, sure, but those customers will also return when they go and try the alternatives and realize how easy getting in and out was with us. The pressure will be on us to delight and surprise our customers, keeping them with us out of loyalty due to the great service and deal they get.

On that note, a shout out to my peeps (Wilfred, Christian, Johan et all) at O’Galito’s Centurion. This Portuguese style restaurant has delighted me for almost 10 years. Last night I took some family there and we had a blast, great service and food. They have never dropped me once, which is why if you do business with me, are a friend or family, you’ll end up there with me sooner or later… Obrigado!

“Cloud” and “The man on the street”

Last night I had the pleasure of taking one of my cousins, her husband and children out to dinner. Having not seen them in a while, it was great to catch up. And as you do, the conversation takes a few familiar roads, and that includes “work”. The question was quickly popped, for me to tell them about my latest project.

I went into as basic a description as I could about “cloud computing” and when done, Johan looked me squarely in the eye and asked, “so what does that mean for the man on the street?”. I started at him, winded and unsure. “The man on the street” did not factor into my planning at all…I realized that I should actually give this some thought.

My family lives in a small Eastern Cape town, have steady jobs and the kids are completing varsity. One is doing his articles on the road to being a Chartered Accountant, and the other specialized in radio therapy as part of oncology programs. Smart peeps. They also all arrived smartphone in hand, and that was the key for me this morning…

By having a platform that is hosted locally, data in our regulatory domain and connected to our local Internet backbone, must have benefit for us locals. One will be pure access speed. My datacenter connection can be upgraded at the drop of a hat for port access speed (no more waiting for Telkom to provide the access layer), guaranteeing great performance. Our platform is build on the latest generation hardware, sporting solid state drives in key location, allowing us to spin up services fast, and deliver data fast. Our platform-as-Service strategy will place tools in the hands of developers, to enable the rapid deployment, testing and scaling of apps. And, with us offering tools and promo’s to developers, we hope to stimulate innovation.

Back to the now infamous “man on the street” (or should that be “person” in our politically correct world?). For us as South Africans and Africans, I hope that this means more locally produced apps, things that speak to our cultures, languages and race. Build me an app that points me to the best Nyama and craft beer in the area, instead of an international app that rates restaurants and hotels. Where are the best kwaito and Afrikaans artists performing tonight, where can I get tickets? Build me a guided tour of Joburg, so that I can fire up an app and show my international guests places like Cape Town, Pretoria and Joburg in ways they could never imagine. Store your pictures and videos cheaply, in your local currency on server where you know your data lies in Cape Town or Joburg, and that the NSA will not be snooping it. Let’s innovate for South Africa, Africa and most importantly, the person on the street.