Nowadays, when hosting is predominantly moving towards the cloud. EpiServer, as a company, is usually on the ball when it comes to new tech trends and cloud computing is no different. In terms of hosting your EpiServer project, you have three main options; traditional self-hosting, cloud hosting, or, Episerver's own offering, the Episerver digital experience (DXC).
A lot of companies I've spoken with are struggling to decide how to host their EpiServer project. Traditionally, a website was hosted on a dedicated server either internally or through a third-party provider like RackSpace, but with Azure and DXC the game has changed and maybe the traditional approach isn't right for you anymore. If you find yourself in this situation, then the aim of today's post is to cover some of the pro's and con's of each solution so you can make an informative decision about what is right for you.
In a traditional hosting environment, a company pays for a server that they effectively own. The company's website files and/or database live on the server and people within the organisation (devs/IT) have access to the box, whatever software required can be installed, log files can be viewed and in essence, people can do whatever they want. This flexibility comes at a cost, these costs include:
- Don't scale, if you have a sudden surge in traffic it may take hours/days/weeks for you to get a new server up and running
- It can be more expensive, a PC is capable of doing a lot of processing at the same time. If you run a single website instance on a server, most of the time it will be sat there waiting for things to do. Regardless of how busy your website is, your monthly maintenance costs will be the same. If you have a very low volume of traffic then you'll be burning money on processing power that you may never need.
- Your company needs IT skills to maintain/back-up and manage the servers
A traditional hosting model isn't all bad... the benefit of using Episerver with traditional hosting include:
- You have complete control over the server. With a cloud environment, you are limited/restricted in the things you can do
- You can install whatever reporting, debugging and sale software you require on the server
In recent years, a lot of companies have heavily invested in cloud architecture and dev-ops jobs are becoming more in demand. In a cloud architecture, your website is hosted in a data centre, hosted and managed by someone else (Amazon, Google, Microsoft, and Rackspace). Instead of having a dedicated box that your company purchases and manages, your website lives on a virtual server that you rent out on a per-needed basis.
- Managed Hosting: When you host your website in the cloud, your website will live on a virtual server. Virtual servers give lots of benefits to companies. First, as the server is virtual you can ramp up or down the amount of processing power available. This pay as you use model gives huge cost savings. Paying for exactly what you use and not for an unused server, storage and processing time saves money.
- Virtual Servers: As the servers are virtual and you can't install software on your server, your dev team is forced to design a scalable architecture and code base. This architecture can help you develop more robust, flexible and less coupled code.
- Scalability. Servers scale up and down automatically depending on the applications needs, unlike traditional hosting where you have to manually add or remove servers as the traffic to your website changes.
- Automatic: The server are managed for you, so anything like Windows updates, anti-virus, firewall upgrades are done without you needing to worry about it
Episerver Digital Experience Cloud Service (DXC)
As DXC is still quite a new offering, I think there is still quite a lot of confusion in the EpiServer community about what exactly DXC has to offer. I started off thinking it was Azure with some managed support, but after talking with David Knipe from EpiSEerver, I've learnt more about the service).
The idea behind DXC is that it's an Episerver hosting solution that has everything a company needs to host an enterprise level website included. You get a license to use EpiFind, Cloud Flare CDN support, Firewall, Azure hosting, New Relic support, SSL certificates and upcoming products like the new A/B features, EpiServer Insights and personalisation will be bundled in automatically without you having to worry.
DXC pricing is based on traffic, page hits and performance and as Episerver is handling more of your IT load, the costs are higher than hosting a solution in Azure and managing everything else in-house. Like Epi-Find the number of content items you have, the number of page views will all determine how much your monthly cost is. If you have limited in-house Episerver and IT infrastructure skills, DXC is a good option as you get a lot of hand-holding that many companies traditionally haven't wanted to deal with.
The benefit of Using EpiServer With DXC
- Compliance Benefits, as the client (or dev team), has no direct access to live) also tends to ring nicely in the ears of organisations under compliance checks. Add auto-scaling in and it plays nicely with anyone who ever runs a campaign too
- Like using Everweb.. but on steroids
- Solution built for scaling, useful if you have sudden spikes in traffic
- No access to the server itself. Will need to implement new ways and customization work in order to log and read application errors.
- If you are not planning on using Epi-Find you're paying for a service you are not using
- As more services are managed for you, the perceived costs are higher than managing it in-house
If you're reading this, then I'm hoping you can see which hosting option is the best can't be answered. Every company will have different digital objectives, different in-house capabilities, and budgets. All of these will factor into which solution is right for them. Personally, I like the offering of DXC and the thought of having everything done for me simplifies my life and lets me concentrate on the things I care about.. creating cool digital products.
If a company has a large IT infrastructure support for other business critical services, then this might be less appealing than a small company in an attic. For me, the main choice depends on the level of control and management you want to have over your website. If you have to have access to a box to install specialist software on then your options might be limited. In most of these cases, though, a look at the architect can usually help. DXC isn't the cheapest option, but then again, that's not what it's designed for. Like anything, you pay for the quality of server and it's up to you to decide what you want to offload externally and what you want to manage internally.