The internet has always been a leveller of playing fields. Tiny companies have the power to compete with industry titans; ideas have the power to gather momentum and movements have the power to change the world, all thanks to the incredible egalitarian nature of the internet, and the world wide web.
‘The Cloud’ is a notional application of the internet, where we delegate the details of managing complex and challenging tasks to software and services powered by the the internet and delivered via the world-wide-web. Yes, they’re three separate things.
I remember being asked at a job interview ‘what is the internet?’ and it’s a question I’ve trotted out myself on a few occasions. Understanding the subtle differences is important when you’re a developer that creates web-based applications. Here’s the very briefest of explanations of the three concepts
- The internet is the network of computers and other devices that are all interconnected globally and exchange information including web pages, emails, video calls, streaming video, remote desktop and many other applications. At the end of the day, the internet is just he communication mechanism. It’s useless without these applications layered on top. The internet can trace its roots back to ARPANET created for the US military in the 1950s and 1960s.
- The world wide web is what you are using right now. Created by Sir Tim Berners-Lee in 1989 to help scientists share information, the web is one application on the internet that is used to deliver pages of content that act as information, or as a user interface for applications.
- The cloud is a more recent concept, primarily from the 21st Century, that is a bit more abstract than the other two. It’s predicated on the idea of shared resources that are owned and operated by providers, and users consuming these resources on demand. This allows scalability and redundancy beyond what traditional web applications provide, and massively lowers the barrier to entry.
Let me illustrate a simple example. With the internet, but no cloud, corporate email used to mean investing in a physical server with enough memory and storage space to cope with a particular amount of users. Then you bought a licence for email server software, and paid an IT expert to install, configure and manage it. If you could afford to – you might have two servers in case you have a fault – and you probably took regular backups daily and weekly. This is expensive, and open to all kinds of failures and risks. As the organisation grows, you have to invest an an entire new server to cope with demands. This is insanely expensive!
With the cloud, we pay a small fee per user – perhaps £5 – per month, and delegate the whole affair to a cloud provider such as Google or Microsoft. These companies buy, configure and run hundreds of thousands of servers. They invest vast sums of money in backup and load balancing and extremely complex software to manage all the possible risks imaginable. We can configure these relatively easily, and once set up they require little to no maintenance. Total cost of ownership is low, and flexibility to grow or shrink with our organisational demands is high. What’s not to love?
I’ve heard arguments from company CEOs in the past – unbelievably from the CEO of a popular website – that having everything on a single physical server in a data centre they can walk into at any time was much more secure, reliable and I suppose palatable than hosting it in the public cloud where it can scale, handle failures, be backed-up and upgraded with a few mouse clicks. I just can’t believe this is still considered an even remotely valid reason not to move to the cloud.
I’ve had experience in previous roles of selecting, buying and operating cloud solutions for the business, as well as designing and building cloud solutions for my customers. When I formed Relative in 2018, it was a no-brainer to go all-cloud.
From the beginning, our business has been built entirely on cloud-based services. We have a physical office – and it has a comms room with a 20U rack filled with communications equipment – but not a single server.
Let me walk you through some of the solutions we’ve adopted to run the business entirely on cloud software.
We adopted Xero as our accounting package as soon as the business grew beyond one customer. Xero links to our bank accounts and credit cards and automatically imports all of the transactions for Sarah, my wife and our Office Manager, to reconcile easily. It also allows our accountant to log in and perform the necessary work on our books at any time. We can also file our VAT returns and PAYE filings automatically from the software, and it acts as our HR platform facilitating holiday bookings and expenses claims from our employees. No servers, no backups, no licences and no headaches.
Even our Bank is cloud-based. Starling Bank has no branches, we filled in no paperwork, and we were up and running in a matter of hours. As mentioned above, our bank talks directly to Xero, and the bank themselves use AWS public cloud to host their entire infrastructure.
Mail, Calendar & Shared Files
Traditionally, companies use Microsoft Exchange for mail and calendar services, and Microsoft Windows for file sharing. We chose Google’s G-Suite as our primary office productivity suite and it gives us incredible tools. Gmail is very powerful – it allows us to have all the ‘grown-up’ features we require such as a custom domain name, centralised spam and virus checking, mail groups and shared inboxes, incredible search-ability, and many many more things besides. Apart from just mail, G-Suite comes with Google Calendar which allows us to create resources like meeting rooms and shared equipment (TVs, projectors) that can be booked into meetings, and comes with the awesome Google Meet which allows us to host video conferences with almost no effort. Google Meet is a tool that we use dozens of times per day, every day. During the Covid-19 lockdown, the world went crazy for Zoom and Microsoft Teams as everyone suddenly had to get to grips with remote working and teleconferencing. For us, this was already a part of every day life, and Google Meet gave us the confidence to send our staff home long before it was mandatory. For file sharing, we use Google Drive. It’s centrally hosted, so no complex networking had to be setup for everyone to access what the need. It also allows us to have a permissions-based file structure to control access to sensitive files, while making it a breeze to collaborate and share information. Which leads me to…
Documents, Spreadsheets & Slides
Again – Microsoft Office is the defacto standard here and it’s awesome. But G-Suite comes with Google Docs, Sheets and Slides – rolled into the price. All of these run in your web browser – just like Mail, Calendar and Meet do, and give us the power to create and edit documents together from opposite sides of the world. The Google applications are not as full-featured or polished as Microsoft Office – but we very rarely come across something we need that G-suite doesn’t have and the integration between all of the applications makes them a joy to use.
We’re a software company, and for us, project management and knowledge sharing are two things that are core to our business. We chose Atlassian’s suite of tools as the core of our development operations, and as we use Scrum as our project management methodology, Jira is indispensable. Jira is pretty much the industry standard when it comes to agile software delivery. There was a time when you needed your own Jira server – and had to administer it, back it up and manage complex licensing. Now, there’s Jira Cloud. It gives us all the power of Jira, with no system administration or hardware costs. We also use Confluence from Atlassian for knowledge sharing. Like Jira, it’s a veritable industry standard, and the cloud edition is incredibly powerful with no infrastructure or management headaches.
Source Code Management & Continuous Delivery
If project management and knowledge sharing are core to our business; source code management is the very heart. Again, we went with Atlassian’s awesome Bitbucket. Sure, the whole world knows and loves Github, but I personally prefer Bitbucket. It’s a much more polished and user-friendly system, and comes with fantastic integrations into Jira and many other tools. For me, the most powerful feature of Bitbucket, is Pipelines, the built-in Continuous Delivery tool. Bitbucket pipelines allows us to automatically build and test every check-in to source code, and manage the integration, testing and deployment of features from the first commit, through to the production release.
We have surprisingly simple telephony requirements; but we have a powerful platform behind it. We chose a hosted Asterisk system for our core telephony system, and we have no on-site infrastructure besides a really good internet connection and Cisco SPA504g handsets. We also have softphones that connect into the system, and it can all be administered from anywhere. For our actual inbound and outbound VOIP trunks, we use Flextel. This gives us the ability to change the routing of our calls at any time. We can reroute all inbound calls from the PBX to, say, a mobile phone, in a disaster situation. We’ve also backed up our own telephone answering with a company called Moneypenny. They answer calls on our behalf when we are unable to and can take messages or direct calls to individuals – even 24×7 if we need it. Not strictly a cloud service, but it feels like it!
Business Development Tools
Every business needs a way to manage the sales process. We’ve chosen Pipedrive to help keep track of ours, and it’s incredibly simple – but best of all it integrates with the proposals software we use. Better Proposals is an incredible online proposals system that allows me to create breathtaking presentations for potential clients, and know when they’ve opened and viewed them so I can follow up in a timely manner. But shhh… that’s my secret weapon.
Another thing that gives our teams incredible superpowers is Slack. The chat platform keeps everyone in our organisation connected continuously. We have a number of employees distributed around the world, and coupled with Google Meet, Slack makes our world an awful lot smaller. Slack also allows us to conduct quick polls of people’s opinions, make announcements, gather lunch orders, and even act as a lightning rod for important notifications like production incidents, and releases.
My favourite part…
We have a lot of systems for people to log in to – and security is top priority for our business, which is why we invested in becoming ISO27001 accredited. JumpCloud is my favourite part of our entire cloud infrastructure. Combined with Google Sign-in, JumpCloud allows our team to log in to every cloud system, as well as cloud-hosted servers belonging to us and our customers, our Wifi networks, our VPN and lots more with just a single set of credentials.
When all of these incredible tools are put together in just the right way, the result is a hyper-connected, productive and flexible organisation that punches well above its weight in terms of IT capability. What’s more, some of these tools are free, but all of them are very low cost compared with the incredible benefits we get from them. All of the tools and services I’ve listed here cost a combined total of less than £500 per month, in an organisation of 13 people – and it’s possible to trim back on that cost further.
Because we’re so dependent on the cloud, our office is equipped with a redundant internet connection consisting of a standard fibre broadband link at 70mbps, backed up by a 4G connection with a similar speeed – with failover handled by our Draytek Vigor 2862ac router. The Vigor also provides a VPN which allows us to secure resources further, and this is authenticated using Jumpcloud as explained above. We also have an awesome office wifi network powered by the fantastic Ubiquiti AC-PRO access points, which again, are cloud managed.
Any business can benefit from moving to the cloud, and if you’ve been inspired by our ‘complete cloud’ IT infrastructure, and would like advice on where to begin, get in touch and I’ll be happy to help you find a solution.