It depends on how serious you are about not losing what you want to keep, what exactly you want to keep, how much you need to keep now, and how much you intend to keep over time to come.
Personally, I'm VERY serious about not losing what I want to keep, I want to keep everything from the RAWs to the TIFFs to the PSDs to the JPGs to the various print sizes, I have a LOT of it, and I expect to have a LOT more over time.
For that, I start with a hard drive array utilizing exterior hard drive enclosures. Two 4-drive bays with another single-bay drive on top of each of them, for a total of 5 drives each. Each 5-bay array has two 4TB drives, one 2TB drive, and two 1TB drives, for a total of 12TB for each side. What's on a drive in the array on the left-side is mirrored in a drive in the right-side array. When I originally built it, they were all 1TB drives, as that's what was available.
As a hard drive dies (and they ALL eventually die), I immediately copy the contents from its clone to other drives in the system temporarily, until it is replaced with a new hard drive and the contents from its drive's clone are copied to the new drive, then I can delete the temporary copies. In this way, I ensure that all local data is always backed up.
When replacing an old drive with a new one, I upgrade to larger drives since they're getting cheaper all the time. Thus the 2TB and 4TB drives that are now in place in those arrays. This allows my capacity to grow over time, in order to accommodate my future needs.
Those drives are connected via SATA cables to a port multiplier per each array set of 5, left and right, and each of the two port multipliers is connected via SATA cable to my main system unit.
In addition, I have four more drives in my main system unit totalling 3.75TB that I use for the operating system, oddball stuff that I don't necessarily feel a need to ensure (if I lose them, it's okay), temp space, etc. I also have one additional 1TB drive up on the shelf that has just my operating system and my core programs on it, to make it easy to swap out if my operating system drive goes wonky in any way. I just swap them out and I'm back up and running in a few minutes.
That's a total of 15 hard drives currently that I'm using. Excluding the drive up on the shelf with the redundant emergency operating system, they total up to 27.75TB, though the actual space you get from a hard drive is less than the claimed capacity because of the way they use up some space when they format. So, a 1TB drive actually yields .931TB. That said, my actual capacity is currently 25.355TB. Of that, I'm currently using 13.673TB (about 54%) and have 11.682TB free to still be used.
That takes care of my storage needs locally.
But what if a catastrophic event were to occur that wipes out my whole local system? Tornado, fire, theft, etc.; something that leaves me NOTHING to recover from? To deal with that contingency, I use off-site cloud services.
For $5 per month, I also maintain my files off-site with a cloud service. Actually, I use two of them at $5 each, so my total cost for that is $10 per month. More than some want to pay, but I'm fine with that relatively low cost in my monthly budget to gain a bit more peace of mind for the cost of a couple of Starbucks coffees. Again, it depends on how serious you are about not losing what you want to keep, and I'm VERY serious.
Yes, it took a LONG time for the initial upload to the cloud services, as I had a LOT of files to upload. But it ran in the background without bothering me, and eventually they were all uploaded. Now it just uploads anything new or changed for me, and it all happens automatically. And even though I keep EVERYTHING, as I noted above, I still don't generate enough that it can't keep up, and even if I generated more in a day than it could upload in a couple days, in a few days it'd have them all done anyway. It's okay with me if it takes a little more time once in a while to catch up because I generated a pile of fresh files after a big shoot and want to keep EVERYTHING.
But that's just me.