Recently, I have replaced my old Hard Disk Drive (HDD) in my 2012 Macbook Pro 15 with a 512GB Samsung 850 Pro Solid State Drive (SSD). The reason for doing so was to prolong the service life of this machine to its maximum. I disliked not using a device to its maximum capabilities (either by upgrading it or planned configuration) before deciding to either replace it with newer models or retire the unit entirely. The new SSD has definitely brought performance boosts to my machine and the benefits of having one in your system are definitely not new to any tech enthusiast. This post is not about reasons to replace your existing storage media with a new SSD, as there are surely many other dedicated articles on the web, which would address this topic much better.
Upgradeable components (e.g. ram and storage) on portable devices such as laptops were rather common a few years back. My 6-years old Fujitsu laptop was brought back to life by simply switching parts (ram and new HDD) to help cope with tasks such as programming and computer aided drawing. Although laptop's physical specifications are getting thinner and lighter, which is something I really liked, it sacrifices the ability to upgrade components internally, meaning you are pretty much stuck with the component configuration of your laptop from the time you purchased it. This, in turn, will change your considerations in buying a new hardware.
Since upgrading your new beloved machine is out of the question, a sensible approach would be to plan a component configuration that would help ensure the maximum serviceability of your devices before it becomes inefficient in its tasks. A point to note is that this is not "future proofing" your computer; personally, I dislike the term "future proofing" and will discuss that in a future post, if given the chance.
Whenever you buy a new piece of hardware, a common practice would be to ask yourself the purpose of the machine and how fast/efficient you need the machine to perform. If the unit you're looking for provides the potential to upgrade internal components after considering these factors, then purchase a specification you can afford comfortably and upgrade when needed, such as when you need more storage or perform heavier multi-tasking workload.
Assuming that the unit you're interested in does not provide upgradability, then understanding your needs for the machine is at its utmost priority. To illustrate, if you're using the laptop for document processing and occasional video editing, chances are you do not need the most decked out specs laptop out there. Something that is well within the software‘s manufacturer (e.g. video editing) hardware configuration specification would be reasonable. To simplify, take the most intensive tasks you have planned for your machine and consider that with the hardware requirements.
Although majority of the laptops are no longer upgradable, there is a solution that might actually counter this problem. Thunderbolt docking stations have been around the market for quite a few years and its unique approach in terms of connectivity has definitely shown potential in allowing devices to perform intensive tasks that it was not able to execute before. Many thunderbolt stations provide the solution of incrementing i/o ports. This brings forth a suitable configurable "rig" for the heavy workload tasks you wish to execute. For instance, you wish to do some multi-track recording on your machine and process it (or mix) afterwards. A common practice is to connect all your recording peripherals into a docking station (e.g. audio interface, external SSD for recorded audio tracks, and video output for an external screen) and link it with your laptop through a thunderbolt cable. This is possible because of the high bandwidth transmission thunderbolt technology provides. In addition, you can disconnect from the docking station once you're done with your work and the laptop retains its characteristic of being lightweight and portable.
An exciting development in thunderbolt peripheral is the external GPU station by Razer. Such solution allows the device to take advantage of the processing power of a full-fledged graphic card when needed. This is definitely a new avenue to explore as it helps to bring out new capabilities of a machine that is limited in terms of internal processing power.