Why doesn't Canada have an NBN?

04-May, 2016

I have recently returned from Canada and in all my experience I have never visited a country that is so similar to Australia. On a whole range of issues we have a similar background - geography (both big and sparsely populated) and culture (former British colony, similar political systems), economic (similar currency strengths, both resource heavy economies) but for some reason our internet access just sucks whereas theirs is actually really good.

Add to this, I didn’t see any evidence in Canada that their government fixed their internet access - if anything their government seems more hopeless at things than ours…

So I thought, why did Canada get decent Internet without a ridiculously expensive NBN?

Let me put it into perspective… lets compare and contrast internet packages:

Country Provider Monthly Cost Max Upload Max Download Data
Canada Rogers CAD 149.99 50Mbs 1000Mbs Unlimited
Australia Telstra AUD 115.00 1Mbs 10Mbs 1000Gbs

Now I grant that Telstra isn’t the best internet provider in Australia but Rogers is a similar company to Telstra in that they appear to be the biggest provider (at least in Toronto), but the fact of the matter is that the costs are similar but the provided service is significantly worse in Australia… now we can complain but the big question is… why? Why do we need the NBN when Canada didn’t have to have one and ended up with a better service?

I was in Canada for 9 months and believe that I know the answer to this question. The answer is sport… in Australia we can watch most things that we need on free to air TV. The only people who get cable in Australia are those sport nuts who need to watch every AFL/EPL/Cricket/League/Union game. In Australia, the big sporting events are on free to air TV - cricket, league, union, afl.. all of it. I can be a sports nut and watch most of what I want. What else does free to air TV have? - no infrastructure - as long as you can receive the signal you can get it. That means that the rollout of highspeed network infrastructure that is required to support cable in Australia just hasn’t happened.

In Canada, they love ice hockey as much as we love AFL/EPL/Cricket/League/Union (possibly more so), and you cannot watch a game of the Toronto Maple Leafs without watching it on cable. Every house that I visited had cable in Canada but thinking it through I only know one person in Australia that has cable.

What does this mean, this means that the cable companies in Canada have the infrastructure in place to support highspeed internet whereas in Australia we don’t because our entertainment comes from “dumb” free to air towers. In short, I now blame our free access to sport as the reason that we have rubbish internet.

That said, why is the NBN so rubbish - and lets call a spade a spade and say that Labor stuffed it and so did the Liberals (and I am a Liberal supporter). The next government (whoever wins) isn’t going to make it better because fundamentally it is stuffed and to say otherwise is in my opinion to defy reality. I thought it was a dud when it started and it is still a dud and I suspect it will never complete… Why do I think that… for this reason.

If you were going to rollout the service, how would you do it? I would suggest the following:

You would roll it out initially in the place where it would have the highest penetration. You are looking for high density areas in large cities with rows of apartment blocks and people living in them that will pay for high speed internet. This will keep your per customer rollout costs low. You will then use these areas to fund rollouts to less high density areas (aka suburbia) and finally you will move out to rural areas (possibly with government support to enable equality of service where it is not economically viable). And you can see this in the way mobile systems are rolled out - the first place they are putting 4G towers is in the CBD and then pushing them out from there.

How did the NBN do it? The initial rollout was to Tasmania, then Armidale - could you choose worse places if you tried? Brilliant - and we wonder it isn’t rolling out as quickly as we think.

Lastly, it is interesting to compare something that doesn’t have an NBN, lets look at phone prices between Telstra and Rogers

Country Provider Cost per Month Talk Text Data
Canada Rogers CAD 105.00 Unlimited Unlimited 5Gb
Australia Telstra AUD 60.00 Unlimited Unlimited 10Gb

In closing, the next time you curse your rubbish internet connection - blame the Australian Cricket Team - it is their fault, then blame the government - but don’t be surprised they stuffed it up, they are the government after all!


Troubleshooting puppet and hiera

14-Mar, 2016

I am currently working on a project that has a reasonable amount of complex data in stored in hiera. For security we are using eyaml with AWS KMS encryption to secure the data.

The data is hierarchical and moves from the generic to the specific and is merged together within puppet by using hiera hashes. The problem is that when this configuration is mis-configured (i.e. missing or invalid key) the output from hiera/puppet is not particularly helpful.

If you add the –trace command to your puppet command such as this:

puppet apply my_manifest.pp --verbose --debug --trace

This will give you the stack trace of the command where it failed. You can then add the appropriate ruby “puts” statements to increase the debugging and this should hopefully allow you to more accurately diagnose the issue.


Application Transformation and the Tail

19-Oct, 2015

For many large enterprises the problem with application transformation (or application migration) is the “long tail”. In my experience there are three different types of applications:

  • Upstarts - These are applications that are newly built. These applications adhere to the latest corporate/industry standards and often use the latest technology. The development teams for this are largely still in place and the architectural team supports the design decisions. This project is the current golden project that people are proud to be associated with. Today’s upstarts will become tomorrows Class Pets or Ugly Ducklings.
  • Class pets - These projects are a little bit older and often represent a mission critical function that requires relatively frequent change. There is an active development team supporting the application and good management support for changes. While the codebase may not be cutting edge, the application is well understood and an application transformation is largely a known entity.
  • Ugly Ducklings - These application may be important (even mission critical) but development has largely been completed. Other than tinkering at the edges (textual changes to HTML pages etc) these applications are generally unchanged. The development teams have moved on, and those developers that are still with the organization don’t want to touch this one again. The application is probably running on out of support infrastructure and software and these applications are flagged on auditors reports for modernization.

Generally it is the “Ugly Ducklings” that take the vast majority of effort to migrate, almost adhering to the 80-20 rule from the Pareto Principle, but when we (collectively as an industry) estimate migration we tend to only focus on the “Upstarts” and “Class Pets” because they consume the bulk of our day to day effort and they are the best understood.

Some calculations estimate the migration effort of the “Class Pets” and then extrapolate that figure across the “Ugly Ducklings”, little realizing that the “Ugly Ducklings” are inherently more risky than a “Class Pet”. This approach leads to an initial rush of migrated applications (as the Upstarts and Class Pets get moved across to the new infrastructure) but momentum quickly disappears when the effort moves to the “Ugly Ducklings”. In a worst case scenario the migration effort ceases all together (sometimes because funds are exhausted before work is completed) and we are left with an organization with a partially migrated application stack. The promises of the massive consolidation (and associated savings) that initially underpinned the project are instead missed and the organization is instead burdened with increased costs from supporting both the old and new world.

Much of the talk of moving applications to the cloud generally focuses on “Upstarts”, where an organization builds a new application in the stack. In a way, this is pretty easy (although aligning legacy operational and security procedures to the cloud can be very challenging) because you can build the application “cloud first” - using cloud technologies. The difficulty comes in migrating your existing “Ugly Ducklings” onto the cloud.

In future posts, I shall describe in more detail how to approach migrating these ugly ducklings to the cloud.


More Posts..