Building a Managed Service Provider Business With Open Source
Tags: opensource, tools
Published: 2024-04-04 16:15:41

Let's start by answering the question you may have off the bat. What is a Managed Service Provider? Instead of trying to explain it, I will [quote from TechTarget](https://www.techtarget.com/searchitchannel/definition/managed-service-provider):

> A managed service provider (MSP) is a third-party company that remotely manages a customer's information technology (IT) infrastructure and end-user systems. Small and medium-sized businesses (SMBs), nonprofits, and government agencies hire MSPs to perform a defined set of day-to-day management services. These services may include network and infrastructure management, security, and monitoring.

## Why Open Source?

This one I am qualified to answer. There are a couple of reasons why you would want to choose open-source when starting your MSP. These include, but are not limited to the following:

- Speed up time to market.
- No need to reinvent the wheel.
- Learn from others who have come before you.
- Cost savings.
- Well-tested and proven to work effectively by real users.
- Transparency, privacy, and security.

## How did this article come about?

Before I go any further, I must let you know that this article is 100% inspired by and features projects mentioned by [Brian McGonagill](https://www.linkedin.com/in/brianmcgonagill/) from [Awesome Open Source](https://www.youtube.com/@AwesomeOpenSource). Brian was a guest on [the Mechanical Ink podcast](https://schalkneethling.substack.com/p/open-source-advocacy-cultivating) and I have been following his work and YouTube channel for some time now.

When I saw him [starting this series](https://youtu.be/zhK0sARGhYc?si=PQ1ekixe_jyz9ihm), I was intrigued and immediately started watching. After the first episode of the series, I thought I would write a post introducing folks to the series, list the tools Brian mentioned in this episode, and highlight an option I feel would be a perfect fit for the SSO portion of the video as Brian did not mention a specific solution here.

{% youtube zhK0sARGhYc %}

## The tools

### A VPN (Virtual Private Network)

This is to ensure the security of your and your customer's data and infrastructure. Some suggestions:

- [WireGaurd](https://www.wireguard.com/)
- [Headscale](https://github.com/juanfont/headscale)
- [Tailscale](https://tailscale.com/)

### Remote Monitoring and Management (RMM)

This is going to be key and the core of the tools you will be using as part of your business so, it is important to choose carefully here. Some suggestions:

- [MeshCentral](https://github.com/Ylianst/MeshCentral)
- [Zabbix](https://www.zabbix.com/)
- [CheckMK](https://checkmk.com/) - [GitHub](https://github.com/Checkmk/checkmk)

### Remote Support (Desktop Support)

Again, another key piece of your business is the ability to not only monitor but be able to log in remotely and provide support to people in real-time on their machines, securely.

- [RustDesk](https://rustdesk.com/) - [GitHub](https://github.com/rustdesk/rustdesk)

### Backups

I do not think I need to say much here. No backups are a sure way to lose clients. As Brian mentions, this will be heavily client-dependent, but some options you may want to consider include:

- [NextCloud](https://nextcloud.com/) - [GitHub](https://github.com/nextcloud)
- [Restic](https://restic.net/) - [GitHub](https://github.com/restic/restic)
- [Kopia](https://kopia.io/) - [GitHub](https://github.com/kopia/kopia)

### Invoicing

You need a way to invoice your clients, keep track of invoicing, and collect payments. This aspect of a business is often overlooked by those of us who would prefer to code, design, or manage infrastructure. That said, if you let this slip, your business will quickly become a drain on your energy and your wallet. Some suggestions:

- [InvoiceNinja](https://invoiceninja.com/) - [GitHub](https://github.com/invoiceninja/invoiceninja)
- [Crater](https://crater.financial/) - [GitHub](https://github.com/crater-invoice/crater)

### Single Sign-On (SSO)

This brings us to single sign-on or SSO for short which I mentioned at the top of the article. Why would you need SSO? Other than the obvious security benefit of not having to manage multiple accounts across services, SSO improves the user experience for the very same reason.

In addition, having and supporting single sign-on will be a requirement should you ever want to do business with enterprise companies. As you onboard new employees, easily provisioning and de-provision accounts through a combination of SSO and Directory Sync will make your life and business security much easier and save you money. My suggestion:

- [BoxyHQ SAML Jackson](https://boxyhq.com/enterprise-sso) - [GitHub](https://github.com/boxyhq/jackson)

> **Say Thank You:** Do as I did and as you go through these amazing open-source projects. Visit their home on GitHub and give them a star to show your support and appreciation. It is how others find and support them.

---

This is going to get you off to a great start and ready for the rest of Brian's series. Are there any other tools you would recommend? Did Brian or I miss anything? Let me know in the comments.