When PortaOne management wakes up to one of those “Good morning, we’ve updated your phone to OS version X” messages, they envy the world’s smartphone vendors and think, “If only updates to PortaSwitch were that easy to control.” Unfortunately, as of Autumn 2022 the share of our customers who run MR95 or MR100 (our latest, actively supported LTS software releases) or regular MRs issued after MR95 is only about one-third. We’re working on it, though. “We blame ourselves,” explains PortaOne CEO Andriy Zhylenko. “And we are doing our best to incentivize our customers and simplify the update procedure.”
Today’s story explains our progress with stimulating those timely updates, overcoming the notorious MR gap, and simplifying the update options available to PortaSwitch customers.
How Is a Softswitch Update Different from a Smartphone Update?
While your smartphone might quietly update itself while you sleep, commercial-grade softswitch software is fundamentally different in three ways:
- It has thousands or even millions of end users instead of one. And all of those users don’t go to sleep at the same time. So, you must either perform a lightning-fast update or have a spare server to direct customer traffic while the update takes place.
- The worst thing that could happen during a smartphone software update is that you lose the keys to your Bitcoin wallet, or a few precious photos of your elder child’s first leaps. While either event would be a terrible personal drama for that one phone owner, the many thousands of co-occurring and equally terrible dramas that might take place in a softswitch update puts you at risk for a class action lawsuit, a galloping churn rate, and a reputational disaster.
- The organization relying on the softswitch update is not some Apple or Google with a multi-million-dollar infrastructure budget. Usually, the small or medium-sized telco involved is counting every dollar as if it’s their last one. (And sometimes it is the last one.)
Update v. Upgrade
“Please be accurate with terms,” cautions Roman Khalenkov, chief commercial officer at PortaOne. For example, in PortaOne terminology, an “update” is a process that results in a customer getting a newer, improved version of PortaSwitch or one of our Add-on Mart modules. In contrast, an “upgrade” is when an existing customer acquires one or more new licenses that cover more sites in new regions or additional capacity to process transactions.
Why Do You Need to Update Your PortaSwitch?
Everything needs updates, even an article titled “Never update anything.” (Scroll down to the last section of the linked article for proof of that 😂) However, we realize that what matters in updates is: (a) the customer’s motivation to update, and (b) the ease of the update procedure. Changing the oil in your engine is very different from changing the radio station on a long-distance trip. In the latter, you might quickly change the station when the sound of static starts to bother you. With the former… well, that’s why car makers invented that annoying “check engine” sign.
Some Motivation to Perform a PortaSwitch Update
So, in lieu of the sound of static, or even some kind of “check engine” sign for your PortaSwitch, here are a few good reasons for taking action and performing an update.
“Fresh Code” 🥬🥕= New and Secure Features to Differentiate Your Business
“Selling corporate tech is similar to selling fruits and veggies at a Sunday market. Fresh stuff gets sold fast,” humorizes Oleksandr Zalugovskiy, our PortaOne project manager in charge of Dual Version (a.k.a. “The Wizard of Dual Version”). The PortaOne code and feature set has evolved with our understanding, and with the novelties that have appeared on the market.
For example, in MR75 we introduced the implementation of the STIR/SHAKEN trusted calling scenarios. STIR/SHAKEN does not add any new business functionality for our customers. Nevertheless, it is essential for proper call compliance in the US and Canada, as well as for avoiding “Scam Likely” notices for the outbound business call traffic our CSP/telco customers process on behalf of their own customers. If you do business in North America and don’t want your end users to see a scary notice when they place a call through your system, you better do an update. A lot of “Scam Likely” notices could simply kill your business, as one unlucky CSP founder (who did not choose PortaSwitch as his platform 😉) relates in this video:
Self-care portals in MR95 are another great example. End users love self-care – especially the freedom and flexibility it empowers. After several telcos seemed unsatisfied with our built-in, “one size fits all” self-care portal (they ended up implementing self-care portals on their own), we harvested that customer feedback and implemented a new set of out-of-the-box self-care portals. Need one? Well, then you need to update to MR95, good friend. We introduced some critical changes to the PortaSwitch API in order to make these portals operate efficiently.
We’ve already covered the Add-on Mart extensively in this blog. You will need to update to MR90 to start using PortaSwitch add-ons. However, here things get slightly tricky. There might be additional MR update requirements to run our newest Add-on Mart apps. We are revamping the PortaSwitch architecture so that you need to update less often. Expect a separate blog post explainer on this some time in Winter 2023.
It’s Easier to Update PortaSwitch When You Do It Regularly ♻️🗓
A bit later in this blog we’ll get into a deeper explanation of the nuances of the update procedure. For now, here’s the upshot: when you update from an LTS (“long-term support release”… that’s any PortaSwitch MR ending with 0 or 5) to the next LTS (for example, MR95 to MR100), we guarantee the compatibility of your data structure. We also guarantee a safe rollback should the update go wrong. This all means you need less effort and fewer resources compared to updates that cover a more significant MR gap (for example, from MR90 to MR100).
It’s like regular jogging or an ongoing gym exercise routine: if you do it a few times a week, the effort is not a problem and you get good results. But when you slack for a few months and then try to get a “beach body” in three weeks before going on vacation? You are guaranteed to get sore muscles (at the very least) and questionable results. Invest in “small steps” to avoid having to run an ultramarathon before the beach season.
Legacy PortaSwitch Installations 🦕🦖 Are More Expensive to Support
“Wasn’t Jurassic Park quite expensive to maintain?” jokes Mr. Zalugovskiy. He is saying that the old MR installations can be compared to dinosaurs. “You should understand that PortaOne released MR24 in 2011, and we are still performing customer migrations from it. Just to compare: Microsoft supported Windows XP for 12 years. And they have 221k employees, while we have less than 300 engineers,” explains Andriy Zhylenko.
Supporting a decade-old build requires keeping software engineers on staff who still know how to use it. (And worse: to upgrade, maintain, and repair it.) That’s why PortaOne charges more for supporting legacy builds of PortaSwitch.
In contrast, keeping MR100 is like changing the oil (or the A/C air filter, if you have an EV that does not require oil) in a shiny new flagman concept model. Everybody knows it, and everybody loves it.
Replicating and Fixing Bugs in Legacy Installations
“We’ve often had situations when people reported a bug in a legacy MR, for example, MR45. We’d then discover that we fixed this bug years later in a newer release, for example, MR85. However, applying a bug fix from MR85 to MR45 selectively will result in a broken system – many other changes have occurred to the code since then (besides fixing that bug),” explains Mr. Zalugovskiy.
So, while selective bug fixes are possible, they require the willing customer to cover the extra development, QA, and support time. In short, the customer pays more. And PortaOne must divert development resources from new features to maintain and patch obsolete code. A timely PortaSwitch update would have made everyone happier.
PortaSwitch Updates Are Free 🍺🤑 (to Customers with PortaCare)
If you are on the PortaCare maintenance and support program, all you need to invest is your employees’ time. And to help you save on this, we’ve implemented several improvements to how your personnel spends their billable hours while updating PortaSwitch.
The PortaSwitch Update Procedure
Curious about those improvements? Here are two features that (we believe) will simplify the PortaSwitch update process for your team.
“Zero” Downtime Updates (ZDU)
The name of this feature makes it evident that ZDU allows for updates to your system with minimal downtime. Of course, like with any marketing gimmick, “zero” is slightly misleading. You do still get downtime. However, it can now be limited to milliseconds – enough to make that downtime negligible even for a high-load system.
To enable ZDU, a PortaSwitch client needs to buy an additional license to enable “site redundancy.” In plain English, that system consists of at least two PortaSwitch sets of servers (we call them “sites”). While you update one site, another serves your customers.
Dual Version is, arguably, the most explained feature of PortaSwitch. It has a dedicated landing page on our website, a white paper, a documentation section, and a 2021 story from this blog. That doesn’t even include the three video explainers… there is a webinar by Andriy Zhylenko (we embedded the video below for your convenience), the one-hour-long walkthrough, and a video presentation by Oleksandr Zalugovskiy during PortaOne vCC21.
In the unlikely event that you still don’t know what Dual Version is (or you stumbled on this story before joining the ranks of happy PortaOne customers) – here’s a one-paragraph explainer. Dual Version takes ZDU to the next level by allowing you to migrate customers in batches from the “old” release to the “new.” And it allows you to do it at your own speed. In telecom, this moves your update process into the major league of “feature flags” and feature experimentation. Besides minimal downtime updates, you can also perform product marketing experiments with various customer cohorts. The latter is a statistics concept popularized by Google Analytics to the lay marketing crowd.
PortaSwitch Update Lubrication
MIT and USC leadership coach Warren Bennis once said, “Trust is the lubrication that makes it possible for organizations to work.” Or, as Andriy Zhylenko explains, “Originally, we created Dual Version to create the next level of trust between the customer who is willing to update and us.”
It turns out that Dual Version arrived at the right time. It was born right before the feature flags hype was spurred by a series of investment rounds among several startups competing heavily in this field. We’ll come back to the role of Dual Version in proving the safety and smoothness of your updates after explaining the update stages and the available update strategies.
3 PortaSwitch Update Strategies
The story of our update strategies for PortaSwitch is a story of leaps and bounds. As we explain all three, we’ll sandwich the riskiest between the two better options.
The “Normal Leap” — A Regular Update to the Next LTS Release
“This strategy is why you should write this text well and with sufficient convincing arguments,” reasons Andriy Zhylenko. “People inventing workarounds for their pains in the neck instead of just going straight are our major problem.”
Indeed, what could be more straightforward than this? You maintain your support and maintenance service (PortaCare), then, once per roughly nine months, you update your PortaSwitch. It’s “boring,” like any well-tuned and financially performing mature business is. If the update is within one “LTS generation” (for example, MR95 to MR100), you can go “all at once.” And PortaOne guarantees data structure integrity and a safe rollback should things go awry for any reason.
Making the “Normal Leap” Even Safer and Smoother
“You can add Dual Version on top of the normal leap,” says Oleksandr Zalugovskiy. “Of course, that’s slightly more expensive. However, the gradual rollout in targeted batches will ensure maximum update smoothness. It will also enable your product marketing team to play with feature experimentation.”
You may notice that we intentionally avoided using the “zero risk” gimmick for this explanation. We didn’t want to scare away any of the rationally thinking technical minds out there.
The “Quantum Leap”
If a software update strategy has a fancy name (say, one rooted in a TV series that first aired in 1989) and needs a ten-minute-long video explainer from a highly skilled support engineer – that’s a “check engine” sign.
“Let me use a dentist analogy,” explains Andriy Zhylenko. “Everybody knows dental hygiene is important, and healthy teeth are essential for a decent life. People watch toothbrush commercials. Teachers at kindergartens and schools educate children about brushing their teeth. However, once in a while, a mature, educated person still ends up in a dentist’s chair pleading with the doctor “to do at least something” after years of neglect. That’s how we got to the Quantum Leap.”
The Quantum Leap Update Mechanics
The video above will give you all the details and is worth a watch. But if you can’t, here’s a summary of Dmytro’s explanation for how we do a Quantum Leap:
- Install another PortaSwitch system using the new version (the “target”), parallel to the current one (the “source”), which runs an older MR.
- Copy the entire database from the source to the target.
- Our support team updates the data structure.
- Now you have a chance to test the new release with real data, but no real customers. (The target system is not live yet.)
- Once all the issues are resolved, steps 2 and 3 are repeated.
- Finally, the “target” system takes over the IP addresses of the old one (source). Now, all the customers get connected to it.
“The Fastest” v. “The Riskiest”
“I should have given more attention to checking on Dmytro’s presentation before our online customer conference in November 2021,” says Andriy Zhylenko in mild regret. There were 13 video presentations and a panel discussion. On top of that, PortaOne has a “respect for varying opinions” culture. Even our CEO prefers discussing what a corporate presentation should look like over just giving orders.
After vCC21, customers started asking our PortaCare team about “the fastest” PortaSwitch update strategy. “True, it is indeed ‘faster’ when you count the time required to copy a database from one installation into another, update the data structure, and take over IP addresses of the old system,” reasons Zhylenko. But yes, there is a “but.” There are two essential elements to take into consideration: the amount of testing to be done by the CSP team, and the number of issues discovered after the switchover. These are inversely connected (i.e., the more testing you do, the fewer issues arise later on). Still, as experience shows, you cannot test everything in the lab. (Hence, Dual Version appears to fix it.)
For Emergency Use Only
So, there might be some dire situation when you need to jump across many releases fast. (Just like Tom Hanks in Castaway had to find an extreme solution for his past poor dental hygiene.) In that case, some may be willing to accept the associated risks. But to avoid these dire situations, it’s better to opt for one of the other two PortaSwitch update strategies (the “Regular” leap, and the “Dual” leap that we are about to explain). They will minimize the risks of losing your customers due to post-update issues. If, on the contrary, you are a fan of adrenaline buzz – our Dmytro is waiting for you.
The “Dual Leap”
A PortaSwitch update via Dual Version is indeed the safest update strategy. However, reasons Mr. Zalugovskiy, “customers should understand that Dual Version is a risk minimization, not a ‘migrate your data fast’ tool.” So, instead, our script called Porter performs the migration.
How Much Time Does the Dual Leap Take? And Why Does It Matter to Have a Good PMA?
How long is a PortaSwitch update via Dual Version? That’s a tricky question. The video presentation we embedded above explains the two most time-consuming stages of the update. These stages are (1) the pre-migration analysis (PMA), and (2) the “porting” procedure, which is the gradual migration using customer batches via Porter. Each stage takes roughly one month for a database covering 20k customers and 1.3M accounts.
“Thorough PMA is the key to a quick porting,” explains Oleksandr Zalugovskiy. “The more you invest in the preparatory stage, the faster and safer the update is.” The PortaOne migration team performs PMA jointly with the technology experts on the customer’s side. The deliverable of this stage is the Update Roadmap. Among other things, this lays down the migration schedule, the criteria for batch selection, and the batch priority (which groups of customers get migrated in what order).
TL;DR: Update Regularly, Please!
If we must sum up the 2,500 words we invested in this story with a single brief sentence, you will find it in the header directly above. Like with any healthy routine, updates will take time and resources (and a few of your nerves). However, the outcome will be bright: you will be able to get the maximum out of your PortaSwitch.
As you read this, we are working on a sequel to this story. It will feature migration stories through the eyes of our customers. We will present both sides of the spectrum: stories from customers who regularly update quietly and seamlessly and stories from our PortaSwitch update champions – customers who have successfully performed the grandest PortaSwitch update leaps in our corporate history. Stay tuned. Meanwhile, please contact firstname.lastname@example.org to get assistance with your next PortaSwitch update.