Doesn’t matter if you sell t-shirts, sunglasses, shoes or toys. Whatever your business model is, if you want to launch it online there’s a key decision that will immediately pop up the second you open your browser to write that very first Google search:
Should I go with a hosted solution (a website like Shopify that runs the e-commerce software and database on their own servers) or manage my own e-commerce platform?
Let’s take a step back
Think on it like deciding between buying a car or taking the public transports in your everyday life. The car lets you go anywhere you want, anytime you want without being restricted by schedules, frequency or reach of the public transports network. You can also paint it, customize it’s speed, performance and virtually any change that the law of your country allows you to. However if you are a car owner you get a nice set of potential problems as well: you have to choose the right car and buy it (bigger initial investment), you have to pay your own gas, yearly taxes and maintenance, invest in car parks to decrease the risk of getting robbed or see your property damaged, etc.
On the other hand, the public transports come with a nice set of advantages themselves: they go where most people wants to go, they run at decent speed (in some cases even beating cars) and the maintenance is free. Nevertheless, you can’t change anything on the bus, sometimes the trip is very uncomfortable because you have to deal with the “humanity” of all the other passengers and if you change the city or country you have to learn a completely new transport system.
But what this has to do with E-Commerce?
I don’t know about you but I personally don’t know much about cars, only enough to keep them running. However, I acquired a very solid knowledge on how to launch and scale self-managed e-commerce platforms, while leading software teams over the past 5 years. In the end, it all comes down to a much more simple question than the one you asked yourself in the beginning:
Are you able to take on the responsibility of keeping your software/hardware safe, healthy and scale it as well as you scale your business?
Let me share a few more insights into both options before you answer.
The good, the bad and the ugly about Hosted
If we take one of the many hosted solutions out there like Shopify as an example, let’s outline a few advantages and disadvantages that will allow us to take an informed decision:
Advantages of a Hosted Solution
- Easy to use: for the most widely used platforms, go live with your online store it’s as complex as creating a Facebook account.
- Technical support: instead of having only the typical support of your cloud hosting provider you get support also for the software. This means you don’t have to worry about any technical aspect of your online store, including bugfix, downtimes and quality control over new features.
- Lower costs for human resources: to maintain a hosted solution you don’t need to hire an expensive IT team. What you need instead are tech-savy employees that know their way around the web and understand your target audience. Essentially they’ll need to create and keep your website content updated. The daily concerns will be around static content, images, enabling/disabling products, install and configure new modules and customer support.
- Upgrades: you don’t need to worry about upgrading software or adding new features since everything is managed by the platform team you choose. However, bare in mind that this can suddenly become a disadvantage in the case you want to customize or install a feature that it’s not provided by the hosted solution. It will certainly happen and you’ll certainly be frustrated.
Disadvantages of a Hosted Solution
- Limited customization: since you don’t control the source code, you lose a great deal of flexibility in adapting the e-commerce software to your business needs. Either you sell t-shirts, shoes or any other very straight-forward business model supported out of the box, or you are in deep trouble.
- Transaction fees: be careful with transaction fees if you choose to go with a hosted solution. It can easily become a big issue on the long run, specially for products with low margins.
- Go Global: If you plan to launch a global business with multi-store and multi-language the last thing you need is restrictions on your ability to scale and adapt the website features to the new markets. Also, hosted solutions do not manage efficiently stores in multiple countries, specially when it comes to domains and their SSL protection.
- Ownership: rules can change and you know it. Whatever is true today maybe it’s not so true tomorrow and few changed lines on their terms and conditions can easily make your business plan as useful as yesterday’s newspaper.
- Your own domain for checkout: Some hosted solutions will not allow you to use your own shop domain during the checkout process, since it would require very complex SSL rules to achieve, so you use their company url instead.
- Integrate additional systems: the hosted solutions sometimes provide integration with 3rd party software to help you manage your e-commerce business however in most cases it’s not enough. If you already have a CRM or ERP systems you’ll most likely not be able to seamlessly integrate them with your hosted platform since you don’t control their codebase.
The other side of the coin
Besides the clear advantages of self-managed solutions we learned so far, let’s not jump into conclusions just yet, not before taking a closer look to what’s waiting for you a few months down the road. Hiring or managing an overseas outsourcing firm to deliver you the core of your business can be risky and sometimes highly stressful. You’ll have to worry about:
- Higher setup costs: you need to invest a lot more in the beginning to find the right team for the launch and first months of product development and support. Nothing bad about it, just not as easy as insert your credit card data and click “Create account”.
- Configuration: Your team will need to configure web servers, maintain linux packages, manage servers load and their availability, maintain your databases, manage their replication, backups, recovery, etc. It’s a very long list that needs a set of experienced hands taking good care of it everyday. Make sure you have a technical co-founder or some senior developer you trust to guide you along this sometimes bumpy road.
- Setup and monitoring: You’ll also need to setup and keep track of monitoring tools for the entire system. This includes not only the servers but also quality assurance frameworks to make sure that every addition to your codebase keeps the platform healthy and doesn’t break the experience for your customers.
- Security: You need also to worry about protecting the platform against fraud, DDoS (denial of service) attacks, SQL injection, etc. There’s no one to call besides your tech lead when the monster gets out of the closet during the night.
As you probably understood by now, there’s not a right answer to this issue. The best advice I can give you is to use your common sense for a good honest look to your team, grab our initial question and follow the diagram below: