We know what cloud storage is - you can safely say, your other computer is a data center! Most of us are using at least one cloud storage provider or file sharing service - and there are several to choose from - be it Google Drive, iCloud, Microsoft OneDrive, SpiderOak, Box, or even AWS S3. Why do we need a package manager to store our software packages then? Surely any one of these could do the job of repository management? What if we use a content delivery network to speed things up? Do we still need a package manager?
What is package management?
A package is a combination of metadata, configuration, and software. Package management is a technique of managing software systematically. This approach allows for better control of software versions and dependencies while making it easier to work with multiple software packages.
There are various types of package management systems, but they all share some common features. A package manager typically provides a way to install, update and remove software packages from a system in an automated manner. It also usually includes a tool to resolve dependencies, which includes automatically installing any other software packages that are required for the package being installed to work properly.
Package managers are usually specific to one operating system or package format, and they allow you to install, update, and remove packages. They typically include a search function so you can find the right package for your needs, as well as a repository of packages that can be installed.
One of the most popular package management clients is Debian's APT (Advanced Package Tool). APT is used by many Linux distributions, including Ubuntu and Mint. Other popular package management systems include RPM (RPM Package Manager) and YUM (Yellowdog Updater Modified).
Can I just use CDNs instead?
Er.. no. Note the 'Content' part of CDN - content delivery networks typically help serve internet content faster. A CDN typically consists of several servers distributed across the globe; based on where the user is at, a CDN transfers content from the server closest to the user. Most websites you can think of, streaming services like YouTube or Netflix, social media sites, or news sites, rely on CDN. CDNs are used to deliver content from a central location to multiple locations. They can be used to improve the performance of websites and applications by caching content at locations closer to users. CDNs will typically have commonly available
If you are serving packages to users, you still need a package manager to do the heavy lifting. A CDN will not help with source control or versioning, dependency management, checks, metadata management, software bill of materials, and so on.
Tldr; Package management is all about managing software packages, while content delivery networks focus on delivering content. Package management systems like aptitude, yum, and DNF allow you to track which software packages are installed on your system and easily install, update, or remove them. CDNs like Amazon CloudFront and Akamai distribute content worldwide so users can access it more
The answer, as it turns out, is yes. You need a package manager even if you are using cloud storage or a CDN.