Servers

Storage

Storage is a key part of any application setup. It can involve everything from static assets such as images and scripts, to user-uploaded files and large datasets. The choice of storage solution affects performance, scalability, and cost.

Storage Providers

At Itiden we use different providers depending on project requirements:

  • CDN storage – For globally distributed static assets, we often use Bunny.net or Cloudflare. These services combine storage with a content delivery network (CDN), ensuring fast delivery of assets to users regardless of location.

  • Object storage – For general file storage we commonly use AWS S3 or S3-compatible services such as GleSYS. For Azure-based projects, we use Azure Blob Storage.

  • File system storage – In some cases, files are stored directly on the application server’s file system. This is usually only considered for simpler setups, small projects, or when hosting provider constraints make it the most practical choice.

Object Storage vs File System

Both object storage and traditional file system storage have their pros and cons, and the choice depends on the project’s needs.

Object storage (such as S3 or Azure Blob):
Offers high scalability, durability, and cost efficiency for large amounts of data. It integrates well with CDNs and provides built-in redundancy and replication. However, it comes with higher latency than a local file system and may require more complex integration. Costs can also increase with frequent requests or high bandwidth usage.

File system storage (local or network-mounted disks):
Is simple to implement, fast to access, and works seamlessly with most applications. It can be suitable for smaller projects or when only limited storage is needed. On the downside, it is harder to scale, tied to a specific server, and lacks built-in redundancy unless additional solutions are put in place.

Content Delivery Networks (CDNs)

A Content Delivery Network (CDN) improves performance by caching and distributing files across servers located in different geographic regions. Instead of every request going back to the origin server, users are served files from the location closest to them. This reduces latency, speeds up websites and apps, and lowers the load on the origin server.

We use providers like Bunny.net and Cloudflare, which combine CDN features with storage solutions. This means files can be stored once and automatically distributed worldwide.

Pros of using a CDN:

  • Faster delivery of files for end users across regions

  • Reduced load on the origin server

  • Built-in caching, versioning, and performance optimizations

  • Added security features such as DDoS protection, TLS termination, and firewall rules

  • Analytics and insights into traffic patterns

Cons of using a CDN:

  • Added complexity in configuration (cache invalidation, purge rules)

  • Risk of serving outdated content if cache is not managed correctly

  • Increased costs if traffic volume is very high, especially with bandwidth-heavy applications (large images, videos, or downloads)

  • Requires proper security configuration to prevent exposing private content through CDN endpoints

Costs:
CDNs are typically billed based on storage, bandwidth, and number of requests. For projects with modest traffic, costs are often low and well worth the performance benefits. For applications serving large files (e.g., videos, software downloads) or global audiences, costs can grow significantly. Because of this, CDN usage should always be discussed with the client, with transparency around expected traffic and potential expenses.