By
Mendy Green
December 18, 2022
•
20 min read
Business

“Should my business be going to Cloud?”
This is one of the most popular questions that comes up in my conversations with clients, and like every other question I get, I like to answer it with “It depends”.
Before we can address this, we need to address the ongoing struggle between IT Professionals and Marketing Professionals. This was cleverly outlined in the classic Project Management meme

We won’t get too far into the specifics of this as Marketing can be a post all by itself, but suffice to say, the…let’s call it exuberance to sell something new, tends to make for overly aggressive messaging targeting the Stakeholders which does not generate tingly-friendly feelings on the people who actually have to implement, support, or answer questions about the technical specifics. This is true no matter if the “Expert” person is at your company or the company the marketing person is sitting at. If you need a further demonstration of what this looks like you can watch the skit on YouTube called “The Expert” which should give you an idea of what frame of mind to approach this question with
Keeping this in mind we need to immediately increase our level of skepticism when we hear about Cloud Computing (or really any new technology).
Let’s switch tracks for a moment. One of the things I always talk about is how there’s at least two sides to everything. Literally you can take a specific item, scenario, concept, etc. examine it and you’ll see two or more sides that reflect or are directly opposite to each other. In business finances for example we have Operating costs and Cost of Goods Sold (COGS). Traditionally Operating costs were made up of things like Rent for the office, Utilities, supplies and things like that. Supplies would include the cost of equipment (such as computers) Utilities would include cost of the internet and so on. COGS would be made up of how much money the business would need to spend, in order to provide the service that they offer. This is essentially two sides to the same thing (money being spent), but you track them separately because they help you break down the cost of running the business vs the cost of providing services.
In other words, Operating Expenses can be broken down to the point where you would assign a Per Dollar amount for each Employee that you have, and COGS would be broken down and assigned a Per Dollar amount for each Customer
Now let’s get back to the point of this. Cloud, like everything else, has 2 or more (way more actually) sides. There’s Infrastructure as a Service offerings, Platform as a Service, Software as a Service, and so on and so forth and all of these items get mixed up and placed into the “Cloud” category. If you dig into what Cloud actually is, you’ll find that it’s just…rented computers. Really. If you’re skeptical, you can read more on this here from one of the bigger software platforms on their reasons why they’re leaving the cloud.
The questions we’d want to answer so that we can determine if you should be moving to the cloud are as follows.
Would you be moving your Operating Expenses to the cloud or your COGS. Specifically, are you providing an online service to your clients that requires you to rapidly scale up if you were to grow, or that allows you to measure out the cost of running in the cloud against the number of users you’re servicing?
Running in almost any cloud has pricing that is broken down to the minute, generally speaking. This is one of the big things marketing likes to tout “Scale up or down as needed, so it’s very cost effective”. Cost effective compared to running them 24/7 sure, but not cost effective compared to buying hardware. Marketing is selling you on the idea that if you needed to turn down services, you can do rapidly and save money with it off, but if you never need to turn down services, and your scaling doesn’t happen rapidly, then you’re actually spending way more over the same period of time of hardware life. Up to 4 or 5 times the amount potentially.
Do you have a need either from a compliance standard or your own security policy for enhanced security, physical auditing, a requirement to be highly available or a guaranteed uptime of 4 or more 9s (99.99%)?
Here is where it starts making sense to consider, although the question of finding a datacenter that will rent you hardware or allow you to place hardware vs running in something like Google Cloud, Azure, or AWS is still debatable. In the end the level of redundancies that exist in the cloud or datacenter are harder to build (read, more costly) than using an infrastructure that is already built and essentially being shared. This isn’t a new phenomenon, if you’ve read my article on the MSP Business Fallacy, or even just paid attention in the world the idea of pooling resources to save on costs is a well-established and very successful pattern. This is something that can range on a spectrum from sharing power costs, to sharing full on hardware and running your services on segregated containerized workloads.
Are you concerned about control of your data. Specifically, does it matter to you if your data is physically on equipment that you solely own and control, or is your business okay with the data being placed onto equipment owned and controlled by a trusted Third Party
Data sovereignty is an important part of the equation, even if you do trust it to a third party, the question of which region and where it is physically located is still an issue. In the end the agreements you sign with vendors and clients state that the data you hold for them is your responsibility to protect and keep safe and you do not have the right to assign that responsibility to anyone else. These are all concerns that should be evaluated and addressed in your assessment of moving to cloud.
In the end there’s no real good right answer, as most of these questions are ones you’ll need to decide for your business. I’ve outlined a table below to help with the decision matrix, but it is still only just a suggestion.

Episode 20 of By the [run]Book dives into HaloPSA v2.214 with a mix of practical improvements and some quirky additions. Connor and Mendy walk through everything from new dollar variables and asset controls to Avalara fixes and portal enhancements—highlighting what actually matters for day-to-day MSP operations. This episode is especially useful for MSPs refining workflows, automation, and reporting accuracy in Halo.
Watch Now: By the [run]Book: Episode 20
For easier tracking, check out haloreleases.remmy.dev to filter and search HaloPSA updates by ID, version, and keyword.
Mendy and Connor noted this was very useful.
Highlighted during the user action demo as a practical workflow improvement.
Called out as a genuinely useful UI improvement.
Allows more flexibility in how incoming emails are matched to tickets.
Enables automation of asset configuration through API usage.
Introduces a new variable to output custom fields in Q&A format.
Improves visibility into asset changes over time.
Returns the email address of the user associated with a purchase order.
Enhances usability and visibility of search results in the portal.
Provides control over configuration synchronization.
Ensures correct popup behavior when multiple rules trigger.
Makes ticket source available for reporting and filtering.
Adds safeguards when configuring email matching tags.
Allows distribution lists to target all email addresses tied to a user.
Improves clarity in Avalara transaction records.
Adds control over visibility of user actions in the portal.
Improves flexibility when using Accounts and Prospects.
Enables dynamic fields based on asset lifecycle status.
Ensures asset tagging consistency during stock processes.
Adds control over Avalara synchronization scope.
Allows a predefined score for surveys.
Improves visibility when prorating billing items.
Automatically generates a ticket alongside sales orders.
Allows column width customization in list views.
Changes ordering of lists in the team view.
Adds asset status as a usable variable in buttons.
Improves flexibility when viewing lists.
Allows visual customization of buttons.
Enables distribution lists based on ticket criteria.
Adds control over forecast data ranges.
Enhances performance of Azure/Entra sync.
Improves visibility of ticket closure information.
Optimizes webhook performance and payload handling.
Refines permissions for asset management.

Episode 19 walks through HaloPSA v2.212 and v2.214, covering a wide range of quality-of-life improvements, admin controls, and workflow enhancements. Connor and Robbie highlight updates around ticket forms, invoicing, templates, and automation, making this especially useful for MSPs looking to tighten processes and improve day-to-day efficiency.
Watch Now: By the [run]Book: Episode 19
For easier tracking, check out haloreleases.remmy.dev to filter and search HaloPSA updates by ID, version, and keyword.
Allows assets to be linked directly to a client instead of only via a site.
Improves tracking of report usage across dashboards.
Adds control over end-user assignment in templates.
Prevents actions on tickets for stopped clients or sites.
Allows updating custom fields directly via actions.
Prevents approval of expired quotes.
Adds variables for original customer addresses.
Ensures hidden fields do not retain values.
Adds advanced relative date filtering.
Adds preview functionality for templates.
Allows editing of existing meter readings.
Improves grouping of invoice items.
Enables merging duplicate assets.
Displays number of related tickets.
Enhances monitoring integration mapping.
Adds more control to purchase order lifecycle.
Enables workflows triggered by agent emails.
Adds mapping and geolocation features.
Introduces guided project setup.
Allows updating ticket fields post-creation in chat.
Prevents deletion of populated top-level structures.
Improves timesheet usability.
Fixes inconsistent quote PDF behavior.
Aligns quote email behavior with configuration.
Adds access to billing profiles from invoice screen.
Allows use of quote data in actions.
Adds new automation trigger.
Adds rich text support for asset fields.
Prevents closure when tasks remain open.
Adds approvals to activity feed.
Removes agent login option from portal.
Adds ordering control to lookup codes.
Adds planning field to releases.
Enables guided onboarding tools.
Adds note field to consignment lines.
Expands team visibility.
Extends accessibility tools to main app.
Displays previous invoice values.
Exposes billing data to API.
Adds search to selection fields.
Aligns call screen logic with ticket settings.
Links credit lines to original sales orders.
Improves invoice ID handling.
Introduces role-based API identity.

In this episode of By the Runbook, the team continues through the HaloPSA 2.212 release notes and spends time unpacking what several of these changes actually mean in practice. The conversation covers workflow design, mail campaigns, ticket views, reporting, and automation behavior, with especially useful commentary for MSPs trying to decide what to enable, what to ignore, and what to be careful with.
Watch Now: By the [run]Book: Episode 18
For easier tracking, check out haloreleases.remmy.dev to filter and search HaloPSA updates by ID, version, and keyword.
Check out MSP Blueprint for info on runbooks: MSPBlueprint
This allows the ticket screen to automatically refresh when a background automation completes.
Expands qualification matching to include custom field criteria.
Adds delayed and retry-based webhook processing options.
This change limits the available “From” addresses on a ticket action to mailboxes the assigned team can actually access.
Adds Email Address as another attribute option for follower behavior on the portal.
Allows changes to Mail Campaigns after they have started.
Restricts pipeline stages based on opportunity type.
Adds webhook processing options including delayed and retry handling.
Adds the ability to hide tickets from the change calendar.
Adds Service Users as a selectable option in distribution and user lists.
Allows campaigns to be sent from sales mailboxes.
Adds a warning when an action email will fail.
Adds asset relationship mapping during SQL imports.
Adds an isRunning field to asset discovery.
Expands qualification matching with custom field rules.
Allows ticket view to auto-refresh after automation runs.
Adds ability to update currency values on quotes.
Requires comments for negative KB feedback.
Adds control for showing nested tickets.
Enhances AI reporting capabilities.
Restricts KB edits to owners only.
Adds translation support in the portal.
Adds secondary MAC address support.
Adds character limits to text fields.
Adds more fields for OLA and rule reporting.
Prevents approvals from email replies.
Extends field copying to deeper ticket levels.
Adds primary asset as a runbook condition.
Adds AgentID variable for lookups.
Adds reporting changes to config tracking.
Adds filter profiles to child ticket views.
Adds more configuration options to other open tickets view.