DEV Community

Freelancers, do you host and maintain client websites? Why or why not?

Terrance Corley on September 30, 2018

I'm considering diving into freelancing and I've heard opinions on both sides of the fence. Just wanted to know the community's take on it. General freelancing tips are also welcomed.

Thanks!

Collapse
 
erikerskine profile image
Erik Erskine

Maintenance yes; hosting a definite no.

Maintenance is a straightforward relationship, be it either ad-hoc or a regular amout of work. You can provide value here - you know your client and their needs, and you can help them with that in ways that others' can't.

Hosting is problematic as you're reselling someone else's (the hosting provider's) product. They have processes to deal with hardware failures, people that don't pay, domains that expire, security vulnerabilities etc. They also have the volume of customers to cope with this. You can't provide any extra value here.

Hosting is quite commoditised these days. So I pick a service provider and recommend to a client that they sign up and make me an admin. The responsibilities are clearer all round.

But perhaps most importantly is that it gives both of us the freedom to walk away: the client can just stop giving me work, and if I can't take it on, they're in a position to employ someone else.

Collapse
 
terrancecorley profile image
Terrance Corley

Hey Erik,

Thanks for the reply. Yeah, I think I'll leave out self hosting for now. With maintenance though, has that been worth it for you with clients as opposed to just helping them get setup and then leaving any hosting issues that arise to the client and the hosting provider?

Collapse
 
erikerskine profile image
Erik Erskine

Hi Terrance,

It depends a little on what is meant by "maintenance". It's very rare for a website to be finished and then require no work going forward. More likely there’ll be a continuous stream of things to be done, ranging from content/design/structural changes through to software updates and OS/hardware updates, and dealing with unplanned outages.

Some of that work (content, new functionality etc) results in tangible benefits to the client. Other things (security pactches, hardware replacement etc) is pure expense. My experience is that things are better all round when I can focus on the former. But that means putting in place a setup where there's a clear division of responsibilities, and one where I trust the hosting supplier to provide a good service to the client. I find PaaS products more suitable than VMs in this regard.

If something goes wrong I don't want to leave my client in the lurch, but equally there are times when I won't be immediately available to them. The arrangement needs to cater for that.

Good luck!

Thread Thread
 
terrancecorley profile image
Terrance Corley

Hi Erik,

Yeah, I'm thinking I'll definitely go with setting the client up with a reliable hosting platform instead of doing that myself. I'll also offer 30 days of clearly defined support (content changes). Then after 30 days if the client wants more work added I'll draft up a new contract. Maybe I'll just offer the client to pay a monthly price and that'll cover me updating content and making simple style changes...but that could get tricky with the client not knowing the difference between a simple content addition and an entirely new site component.

Collapse
 
ben profile image
Ben Halpern

I haven’t freelanced in years, but have some thoughts.

I always found myself hosting stuff and regretting it later. I think I needed to either avoid this altogether or lean into it more as a core part of my offering. I wound up floating somewhere in the middle.

Collapse
 
darksmile92 profile image
Robin Kretzschmar

That's my experience, too. I often started hosting websites for clients quickly just that they don't have to take care of all that stuff and don't despair.
But over time, problems occur, things break, they have new requirements and all that stuff can get out of range real quick.

Collapse
 
terrancecorley profile image
Terrance Corley

Hey Ben,

Thanks for commenting! Yeah, based off all the responses here I think I'll leave client hosting to the experts for now.

Collapse
 
theoutlander profile image
Nick Karnik

I have worked as an independent consultant on and off and it wasn't until recently that I started to host client applications. It's extra income, builds some loyalty and leads to additional paid work. However, if something goes down you are responsible to ensure it comes back up. At times clients assume that it was a bug in your work and don't want to pay.

This is a nightmare when the pipeline is complex and deployments have to be on a specific cloud provider. I've started to migrate clients onto their own setup as I prefer focusing my time on building applications and getting clients up and running on their own system versus playing devops.

I had answered a few questions related to freelancing on my #AMA that you might find useful.

Collapse
 
terrancecorley profile image
Terrance Corley

Thanks for the response, Nick! That makes sense, if I were to take on freelancing I had planned to start out targeting small business owners, particularly restaurant owners.

I don't think there would be too many complex scenarios I'd have to fix since the sites would be fairly simple in nature and providing longer term support would bring extra income, loyalty, and possibly more paid work as you said. Then again, I'm wondering if it's worth it as you mentioned because I also would prefer spending time building the websites/apps instead of maintaining them. I guess if my projects in the beginning are not too complex then having that residual income and keeping in communication with past clients (which probably leads to more word-of-mouth business), then it wouldn't be a bad idea. On the flip side of that maybe I would be better off spending that time working on new client projects as they'd be more profitable. Decisions, decisions.

Read through your AMA, a lot of great tips on there!

Collapse
 
zackdotcomputer profile image
Zack Sheppard

I was a freelancer in my younger days and have returned to it now. When I started freelancing, I (like you) aimed to be a "one stop shop" for less tech savvy organizations. In my case, though, it was mostly artists and lawyers. I thought that I would do the hosting in addition to the design and coding of their sites and build loyal relationships and pocket a tidy margin for the hosting. However, I dropped that after about a year for a few big reasons:

  1. I wasn't taking enough of a cut to make it worth my time. Unless you're going to be charging ongoing Squarespace-level prices, the overhead of staying on as an SRE for a client is unlikely to be worth any bonus you get to the relationship.
  2. On top of that, I saw no bonuses to the relationships. I had hopes that it would help me close sales and help me gain repeat business from clients. The opposite happened, clients would be worried about me quitting one day and taking their site down with me. I had a much easier time selling my services when it included an account on a "reliable" hosting service that they would have the password and payment info for when we were done.
  3. Finally, it actually wound up hurting my relationship with some clients. While a standard design & build contract had a defined "end" (when the site is accepted and goes live), hosting contracts never did. While this is, in theory, ok because your services should be limited to hosting after the initial build, my experience was that less technical clients didn't understand where the appropriate boundaries were. They failed to understand why I would jump into action if their site was down, but insist on charging them if they wanted me to make design tweaks. This wound up hurting the relationships that being a one-stop-shop was supposed to help and was what finally pushed me to stop pretending to be a hosting company.

All that being said, if you want to own being a hosting company (whereas I was more a design and build focused freelancer who was doing hosting as a "bonus feature"), you might be able to make it work. Just take my story as a caveat.

Collapse
 
terrancecorley profile image
Terrance Corley

Hey Zack,

Thank you for taking the time to respond in full. All of that really resonated with me. Being a brand new freelancer myself that has had no focus in devOps or long term site maintenance, I think I'll heed by your words and stick to just building the projects and setting defined ends.

Thanks again!

Collapse
 
ennor profile image
Enno Rehling (恩諾)

When it comes to maintenance, I think you as the developer are best qualified to do that, and it's best for your client that they don't let someone else do it - I've known a few situations where that goes horribly wrong, and ends in costly rewrites (who likes other people's code, after all?).

As their trusted developer, you can help your client navigate the jungle of different hosting options, and find the service that is best for them, but you probably should not undertake hosting yourself.

Do they need something that can scale to tens of thousands of users eventually? Do they need fast page loads, high uptime, mailing lists, or the ability to add more domain names easily for future campaigns? As the person who developed their site, you know best how to pick the right provider. Maybe you're comfortable setting up Wordpress and don't need the one-button install that some providers offer? Maybe some provider doesn't have experience hosting the Magento site you've built, and you don't trust them to do it well? Do you need lots of space for static pages, or a fast database? Does the site need email services, and what kind? Is DNS going to be hosted elsewhere, or do you need that, too? Is the site easy to cache, do you rely on pagespeed or any other Apache extensions? Will it be serving a single geographic region, or do you need a service with a global CDN?

The answers to each these questions are where your input provides value. But because they are likely different for each of your clients (unless you work in a specialized niche), the best hosting solution is also going to be different in each case.

Full Disclosure: I work for servebolt.com, where we provide hosting for e-commerce sites, with a focus on fast page loads. I'm obviously biased, but many of our clients have previously hosted their clients' sites, and are now moving to our service to focus on maintenance, and not have to deal with hosting.

Collapse
 
bgadrian profile image
Adrian B.G.

I would not recommend it, and usually developers don't know much sys admin/devops in order to do a proper job, especially in security and performance settings. Also you have to consider the moral and legal implications of keeping their data, visitors and clients private data, and so on.

There is also a mix, having a hosting account (AWS or whatever) and both parties have access to it, and you can take extra responsibilities on it (like setup, maintenance etc), but you will take some of the responsabilities out of you, and you can always end the contract without any complications.

Collapse
 
terrancecorley profile image
Terrance Corley

Hey Adrian,

Yup, you're right. Because as of right now I know little to none about sys admin/devops haha. I'll stick to providing my future clients with reputable hosting solutions and focusing myself on doing my best work on the projects themselves. Thanks for commenting!

Collapse
 
jackharner profile image
Jack Harner 🚀

Still starting out in the freelance game (If anyone needs any WordPress work done, hit me up!) but from the couple projects I've worked on it's been easiest just to have them sign up for a Hosting package through NameCheap, or wherever, then I just have to load the site up and let their hosting provider deal with uptime and updates and security.

It'd be interesting to have some sort of auto-billing connected DigitalOcean droplets. Charge their credit card every month, if it fails try again after x amount of time, suspend the website after y days, if it keeps failing spin down the droplet after z amount of time. That way you only end up eating like 1 months worth of server costs for that one project. That way you can generate another revenue stream for your clients with only some up front time cost setting all of that up.

Collapse
 
gsto profile image
Glenn Stovall

" you can generate another revenue stream for your clients with only some upfront time cost setting all of that up."

I addressed this in my post, but I think this line of thinking is a trap. If there is an issue with the client's site/hosting, they are going to hold you accountable. There is an additional cost to the upfront time: the risk you take on.

Collapse
 
terrancecorley profile image
Terrance Corley

Hey Jack,

I wish I knew more about DigitalOcean processes right now haha, but having some sort of automated fail cycle based on payment does sound pretty nifty. Thanks for the response, I don't think I'll be hosting my own clients based off the consensus here.

Collapse
 
jackharner profile image
Jack Harner 🚀

Ya, I have no idea how it would work either, all I know is that DigitalOcean has an API, and that Stripe has their recurring billing API. So it'd be connecting those two somehow to manage the droplets.

Definitely easier to just sign them up with someone else.

Collapse
 
gsto profile image
Glenn Stovall

I feel like there are three approaches:

1) Don't host your client's websites. You can set them up for them, but afterward, you give them the credentials. Simplest and cleanest way to do it, and the way I prefer to work.

2) Host your client's site for a nominal fee. It feels like free money until it isn't. Getting an extra 20-30 buck per month/client will quickly not be worth it when the client is sending you an angry text at 2 am because their site is down.

3) Offering a recurring service package that makes it worth it for both of you. You aren't just providing hosting, you are providing availability and insurance. You could bundle this with an ongoing retainer that also includes some combination of support, consulting, or ongoing development. I wouldn't start considering an offering like this until we are talking $500/month minimum. At that point, hosting makes sense. But you still need a handoff plan in case the client ever decides to go in another direction.

Collapse
 
terrancecorley profile image
Terrance Corley

Hey Glenn,

Thanks for breaking that down. Yeah, at this point in time I see myself going with option 1.

Collapse
 
rhymes profile image
rhymes • Edited

Nope, I've never done it before. It never occurred to me honestly to propose I host their websites. They usually have their own infrastructure or I suggest using a commercial option. I've even referred clients to WordPress specialists because of requirements that didn't need a custom made web app (or even SquareSpace) :-)

Though I would probably start exploring the option of a static website in the future, with something like Hugo

Collapse
 
terrancecorley profile image
Terrance Corley

Hey Rhymes,

Yeah, I don't think I'm going to host either, at least not for now. Those static site generators are interesting. Might play around with Hugo or Jekyll someday myself.

Collapse
 
erebos-manannan profile image
Erebos Manannán

I can recommend and set up a hosting environment for clients, i.e. environments they own and control themselves, but I would never host them myself. If they pay me separately to go check for updates I might do that, but I'd rather just not set up an environment that requires that. Setting up a script to easily do a Docker build based on Alpine Linux can save you a lot of trouble.

Static pages ftw here, if it can be hosted on S3/GitHub Pages/similar there's little need to worry about hosting.

Collapse
 
kayis profile image
K

Depends on how you intend to make money.

If you host and maintain stuff that makes you 100€ a month and only takes you 5h a year, you can get a bunch of those and live of them.

If you want to make money with new cool stuff, you take on greenfield projects.

I do a mix of both.

Maintainence pays the rent, new projects the shiny new things, hehe

Collapse
 
blackcat_dev profile image
Sasha Blagojevic

I have one that I host pro bono, and another one in the making is paid hosting. I offer it as part of my service. This can be a good source of income as well, because you can bill maintenance, if they don't want to pay, they are free to move it anywhere they want :)

Collapse
 
laviku profile image
Lavinia

Hi! I'm not a full time freelancer, but I don't offer hosting or domains to my clients, because are little tasks that sometimes take too much time. I do offer maintainance and support for a small period of time.

Collapse
 
terrancecorley profile image
Terrance Corley

Hi Lavinia,

Thanks for commenting! Yeah, I'm thinking of doing something like that where I offer some support for 30 days post-project that will be clearly outlined in my contracts.

Collapse
 
offendingcommit profile image
Jonathan Irvin

I've done freelancing in the past and you have your pros and cons.

The pro is that if something is wrong, you can easily fix it.
The con is that if something is wrong, you can be liable for it.

Nowadays, you're better off setting the client up on their own hosting and letting them handle the billing. Most hosting providers can do several years in advance and you can include that in your initial contract. You write the code for them and they pay for the fees. If you decide to part ways in the future, it's no problem for you because they're already in possession of the code. If they decide to cut off your access, you can professionally bow out as well.

Collapse
 
elcotu profile image
Daniel Coturel

Hi Terrance,
I think developing and hosting are two very different kind of services. In developing, you don't have to worry about availability, security and continuity of a lot of things implied on hosting. This aspects require you to plan and deploy a support structure and give it some attention.
So, if you are starting, I would say don't get into hosting. It's something you could evaluate 2-3 years in the future.
Saludos,

Collapse
 
terrancecorley profile image
Terrance Corley

Hey Daniel,

Thanks for responding! I think you're right. This seems to be the consensus based off people's answers here.

Collapse
 
jeroen1205 profile image
Jeroen Jacobs

As a freelance system-engineer, let me ask you a few questions:

  • Do you know how to tune database servers and web servers for performance?
  • Do you know enough about security to make sure your hosts are not easily compromised?
  • Do you know how to check for intrusions?
  • Do you know what to do if your client's site becomes a victim of a (D)DOS attack?
  • Do you know how to perform backups, and test your restores as well?
  • Can you offer a DRP solution for the rare circumstance your datacenter goes up in flames?
  • Can you perform system updates with a minimum of downtime?

If the answer to those questions is "no", don't start your own hosting. I'm sure it works fine, unless one of the things I mentioned above comes up. Installing and deploying software is the easiest part of being a sysops, it's when things go (horribly) wrong your client will demand a fast solution. And they will look at you to provide it.

In your case, I would go for a managed-hosting partner.

Collapse
 
terrancecorley profile image
Terrance Corley

Hey Jeroen,

Yup, my answer was nope for most of those haha. Thanks for the response, I'll be going the route of using a hosting provider and helping my clients get setup on there but ultimately leave that on them post-project.

Collapse
 
tyteen4a03 profile image
Timothy Choi • Edited

I don't. I make them sign up for PlanetHoster (affiliate link), then they can play around with the cPanel.

If they want support it's extra.

Collapse
 
tobto profile image
Yuri Polchenko

That is a free add-on to my services. Because it is easy for me and convenient for a clients.

Collapse
 
defman profile image
Sergey Kislyakov • Edited

Not a freelancer, but I think that if you'll work with this client more in the future, you can host things for them. They will likely pick you for their next project.

Collapse
 
terrancecorley profile image
Terrance Corley

Hi Alex,

Thanks for your response! Interesting, I'll keep this in mind-- thanks!