Retro-fitting remote working

I wrote my last post about remote working on my way to Gran Canara almost 4 years ago. It was the first time I had attempted to work remotely from the team based in London, and the reality was – remote working was really hard!

We aren’t a “remote-first” company, and I knew working with the team when they weren’t used to having to deal with a remote team member was going to be challenging.

Even a slightly flaky internet connection became massively frustrating during calls. Reverse engineering context from discussions that were happening ‘offline’ was a constant challenge. And trying to engage the team in the work I was doing from Gran Canara.

On the plus side, there were no time-zone differences, I met some awesome people, we redesigned the FundApps branding, and I was living one minute from the beach!

However, the challenges of growing a team in person in London were enough that I hadn’t really attempted it since.

How does it look now?

Roll forward several years, and FundApps has grown from 8 to approaching 50, has offices in London and New York, with remote workers in Toronto, Darlington and Auckland.

Now, whether we like it or not, we have to get good at this! It’s still hard, but we’re inching closer to this being a better experience:

  • A decent video conferencing set up. Sounds obvious, but it took us much experimentation to find something that worked for us. We’re now using Zoom and a proper speakerphone that works over USB too. If someone has a dodgy connection, they can join the call by phone instead.
  • If there’s one remote person in a meeting, then everyone joins a call from their desks. We don’t do this for everything yet, but it does level the playing field significantly.
  • Face to face time is invaluable, particularly for new starters. Our remote workers had the advantage of having worked in our office for some time – they knew the team, and the culture. Our recent recruits in New York didn’t have that luxury though, and so making the time for them to visit London, and their colleagues visiting New York to build those relationships have been super valuable.
  • Increase signal to noise. We’re trying to separate discussion from actual decisions so it’s easier to keep track of what’s going on – we’ve had some success using dedicated project channels in Slack (for chat), while ensuring core decisions are recorded more explicitly in GitHub or Google Docs.
  • Preferring async communication, if you have team members working on different time zones – try finding a time that works for folks in Canada, London and New Zealand for a call!

Simple catch-all AWS budgets

We got caught out recently by significantly high usage of AWS CloudWatch, and realised we’d been spending $1000/month more than expected. After tracking down the cause (one of the team had turned on detailed instance monitoring) – I wanted to ensure we had a bit more of a heads up next time. We had budgets set for all the major services, but not the ‘small’/insigificiant ones.

The really simple (and in hindsight, obvious!) solution was just to create a ‘catch all’ budget for all the services we didn’t have a seperate budget for, even if we’re not currently using them:

I’d probably move this to terraform next, but this works well for us so far.

Licensing SQL Server in AWS? It’s up to twice as expensive as Azure or Rackspace Cloud.

… and regardless of cloud provider, it’s (probably) costing you 2x what it would on dedicated kit. So AWS could be costing you 4x what it would cost to license on dedicated hardware.

Disclaimer: I am certainly not a SQL Server licensing expert, nor that much of a cloud expert. The purpose of this post is to hopefully prove that I am, in fact, wrong. Please help with this!

Anyone that’s ever head to deal with SQL Server licensing (or indeed any kind of Microsoft licensing) knows what a minefield it is. In the public cloud, all your worries go away (ahem) and you can just wrap the license fee in the monthly cost via the hosting providers “service provider license agreement” with Microsoft.

Looking into it further, however, I realised there are actually big discrepancies between how much the different cloud providers charged you for licensing SQL Server itself.

Microsoft Azure: $75–80/core/month
Rackspace Cloud: around $100/core/month
AWS: anything from $136 to a $236/core/month

In other words, your costs to license SQL Server could be 2x higher than Azure or Rackspace Cloud, and 4x higher moving to AWS cloud from dedicated hosting (see dedicated vs cloud).

At the moment, I have no good explanation for this. I’m still waiting for a response from AWS, and I’m hoping that I’m missing something here.

To head off the obvious — I realise there are databases with more cloud-friendly licensing. Unfortunately real life gets in the way, so we’re stuck with SQL Server until we can migrate away from it.

AWS, Rackspace Cloud & Azure compared

If you’ve got this far, I’m assuming you want some detail, so here goes.

Assumptions

  • I am ignoring platform as a service offerings entirely (so SQL Azure, RDS you’re out)
  • I am only looking at SQL Server Standard
  • I am only considering SQL licensing costs, not the cost of the underlying hardware. For cloud providers that don’t explicitly state a licensing cost (only Azure does this), I’m going to take the cost of a Windows VM with SQL Server on it and subtract the cost of a Windows VM.
  • SQL Server is licensed per core, so I’m going to group these calculations by core
  • I’m just looking at monthly pricing with no commitment, as that’s how we’re currently paying for our dedicated kit too.
  • Rackspace has different UK pricing in GBP, but I’ve spot checked the numbers and there was no material difference from their USD pricing, so we’re just going with that.
  • I am looking at prices for Europe-based data centres, in USD. I haven’t checked but I don’t expect this varies significantly from the US
  • I am assuming 730 hours in a month

Data sources

I have taken the prices from these locations: http://www.rackspace.com/cloud/public-pricing http://azure.microsoft.com/en-gb/pricing/details/virtual-machines/#Windows, http://azure.microsoft.com/en-gb/pricing/details/virtual-machines/#Sql, and http://aws.amazon.com/ec2/pricing/ (as of 22 Jan 2015).

Medium isn’t the best place for displaying tabular data, so I’ve included an image below, and you can download the spreadsheet here.

Azure is the cheapest, working out around $75–80 per core (regardless of VM, as they list their SQL prices separately). I’m assuming this is essentially cost price, as I’ve been told elsewhere that a 4 core license via the SPLA scheme is generally $300/month. Not surprising, given it’s Microsoft licensing their own product.

Rackspace Cloud is more expensive, but very consistent, working out between $100 per core (regardless of VM), so a 25% markup. As a note of comparison, on our dedicated kit, we pay £420/month for a 6 core license, which works out at £70/$106 USD so this is consistent.

AWS is the big surprise here, with prices ranging anything from $136 at it’s cheapest to $236 (m series followed by r series, followed by c series). That’s a whopping 70%-195% markup.

Cloud vs Dedicated

I mentioned earlier another price differential moving to cloud. Regardless of which cloud provider you’re using, SQL Server will (probably) cost you 2x what you’re paying for dedicated kit. That’s because SQL Server licensing ignores hyper threaded cores (PDF) on dedicated kit, but not on virtualized kit, assuming you are only licensing the VM and not the host itself. So if you’re running in a virtualized environment with hyperthreading turned on (Azure, AWS, Rackspace Cloud, for instance), you have two virtual cores for each real processing core, and so you’ll need to pay for twice the number of cores to get the (vaguely) equivalent performance.

Wrapping up

Like I said at the start, I’m no licensing expert, but given the already painful SQL licensing costs, seeing the huge differences we’d be paying in AWS vs other cloud providers is a hard pill to swallow. Please let me know if you spot any mistakes in my calculations!

It would certainly push us away from SQL Server even faster than we were planning, but in the meantime… would be interested to hear any insights as to why there are such big variations and such a huge markup at AWS!

Starting a remote working journey

Today I head to Gran Canaria for a month. Not for holiday, but to work. I’ll be leaving my friends and work colleagues back in London, whilst trying to convince them that this isn’t all about sitting on a beach and surfing all day long.

I’ve always read with admiration and a fair dose of jealousy the stories from various digital nomads around the web. Free to go where they will, work as they please. And yet I’ve never felt able to take the plunge.

While I’m only dipping a toe in to start, this is as much a company challenge as a personal one. At FundApps, we’ve grown to a team of 8 so far, all based in London. We want to foster a great place to work, and realise creating a remote-working friendly environment is a big pull for many people (as it is for ourselves). We’re also planning to expand into the US, and so we know we’ll *have* to soon deal with the practicalities of asynchronous working with a remote team in a different timezone.

We’ve grown as a clustered, centralized unit based in London without having to address these kinds of questions up front — so we’re now having to retrofit a remote-friendly culture. Working from home a day or two a week is pretty easy, when there’s still enough in person interaction to cover up any cracks in your approach to remote working. But when you take away that regular in-person contact, all that effortless information you pick up in the office fades away.

How do you make sure everyone knows what’s going on? Feels included? Feels part of a coherent company culture? How do you keep learning and sharing knowledge? How do you hire and interview? On a personal level, how does the reality stack up? How do you replace the personal contact that you’d normally have in the office with colleagues?

I know to do this well will be hard, especially with the rest of the team still being a core coherent unit back in London. But I’m hoping this will be an opportunity to learn a lot — and share the experience, both from a personal standpoint, and as a startup founder.

Onwards! I have a flight to catch.

PS I would love to hear your own thoughts. Do you care about remote working? What have you tried? What’s worked or not? Or what’s putting you off, or holding you back from trying it — either personally or at your company?

developerFusion community relaunches

As some of you will know, I’ve run the developerFusion community for many years now, as a part-time hobby. Now, some big changes are afoot! 2 months ago I packed in my day job to focus on the site full-time, and have now made the first big step and re-launched the site.

You can check it out at http://www.developerfusion.com/.

This is just the first step along the road, but an exciting one (for me at least!). The new site is going to make it even easier for developers around the world to connect with each other, and discover what’s going on in their local area – be that events, user groups, blogs or just general discussion. We’ll also be bringing a wider range of technical articles and focused developer news.

If you have any feedback, feel free to get in touch – the site is here for you! If you twitter, stay tuned at http://twitter.com/developerfusion for more updates.

Microsoft Generational Roundtable

I took part in an interesting debate today, organised by Microsoft, discussing the latest generation of new graduates, their role in the IT industry – and how they shape it, or are shaped by it. The discussion covered a broad range of issues, and definitely got those brain cells working! Some of the things raised were….

  • How our current education system stimulates (or fails to stimulate) innovation, and whether educational institutions – at all levels – could do more to support this.
  • Establishing closer ties to business, at university level if not earlier – so students can engage with not only academics, but tap into the experience and knowledge of individuals with years of experience in the industry
  • How can we address the huge gender gap in the IT industry – can leading women within the industry to try to break down some of those preconceptions by engaging with potential students at an early stage?
  • Moving towards a increasingly flexi-time, telecommuting business world – will businesses that fail to adapt to accomodate their employees needs struggle to hold on to staff? How will this affect working hours?
  • Looking forward to the next 5-10 years and how technology might further change the way we work.

All in all, a very good morning, with some very interesting folks!

Developer Fusion reaches 1/2 Million Unique Users/month

Forgive me for sounding my own trumpet, so to speak… but this is a significant milestone for me! Developer Fusion has reached over 500,000 unique users* in the last 30 days, which is great news, and the first time it’s broken this (albeit artificial) barrier. Next target: 750,000! Many thanks to everyone who helps out or participates in the community.  I’m really hoping running the site can become a full-time thing now, which should loads more useful features for all our visitors.

In other news, after a few teething problems (ie, pulling my hair out for the last 48 hours), the forums are now using Community Server 2.0 RC1 – keep an eye out for the final release from the Telligent team on 20 Feb. Great stuff!

* Source: Google Analytics