Controlling Costs Controlling Costs

Controlling Costs

For most customers it’s important to control costs for service services. iconik provides some mechanisms for doing so, but if you integrate with other third parties it’s also needed to make sure that you utilize their mechanisms in conjunction with what iconik allows. Remember iconik only charges you for what you use.

Restricting access using iconik

iconik gives you grainular access to ACLs and roles. By defining who can do what in iconik you can make sure that you can give the appropriate access to those that have the knowledge to not create operations that could cause large amounts of resource usage. Typically this is done in three ways:

  • Use of roles on Groups (legacy) or Teams
  • Using Access Control to restrict the content that the user has access
  • Setting the correct user type (Browse/Standard/Power) for the user.

Costs areas in iconik

Using iconik involves resource usage both within the platform and across any connected systems. This is particularly relevant when working with cloud-based Storage Buckets, as well as external services integrated with iconik. Key areas to consider include:

  • File Movement:
    When transferring files between different storage locations, such as between cloud providers or from a cloud provider to the public internet, egress costs may be incurred.
    iconik will attempt direct storage-to-storage transfers whenever possible. However, if direct access is not available, iconik can route the transfer through its servers. When enabled, iconik will act as a proxy to complete the transfer.
    Note: Transferring files through iconik can lead to additional egress costs—both from your storage provider and from iconik itself.
  • Exporting files:
    When exporting assets, iconik will automatically read the full file from the source storage. If the destination storage cannot be accessed directly, the file will be routed through iconik’s infrastructure.
    To reduce egress costs, ensure the source and destination storages can access each other directly, avoiding unnecessary data routing through iconik.
  • Transcode operations:
    When an asset is transcoded, the entire source file is read from its storage location. This can result in access and bandwidth charges from your cloud provider, depending on their pricing model.
  • AI Processing:
    Running AI on assets typically requires reading the entire file and can incur additional charges based on the AI service used. Since these operations can also be triggered in bulk, it’s important to consider the potential cost impact of scanning an entire storage.

Third party costs

These are the areas that you need to look into when bringing your own services to iconik:

  • Costs of storage bandwidth - typically egress (download from the cloud service) costs are high.
  • Costs using 3rd party transcoders. If the users have access to upload an unlimited amount of files, these files might all be sent to the third party transcoders.
  • Costs for AI systems such as AWS rekognition or Google Cloud AI services.

Managing third party costs

iconik doesn’t explicitly have costs control for third party services as it has no knowledge of the costs of these services, but it does through roles and ACLs have the ability to restrict users from performing certain actions. You should use this ability with the functions available from the third party to control and monitor costs from them. If they do not have this facility we would strongly suggest choosing another service.

Overall advice

  • Setup a unique user / access key for use by iconik.
  • If possible setup even more restrictions around this user based on the facilities available in the third-party such as the total amount of usage allowed each month.
  • Turn on billing monitoring and make sure that you have the facilities to respond in a timely manner to these notifications.
  • Train your staff if they have access to cost areas to make sure they understand the implications of what they are doing.

Amazon AWS

Amazon AWS has excellent support for monitoring the costs for using their services, typically using https://aws.amazon.com/aws-cost-management/ and the Billing Dashboard. You can also set AWS budgets that can alert you when certain thresholds.

AWS Billing limits are probably the best way of controlling the absolute costs.

Backblaze B2

With Backblaze B2 you can setup both Caps and Alerts and you should do this if you are using B2 in production. Their help article will explain more. We particularly like the ability to setup Download Bandwidth Caps.

Google Cloud

Google Cloud allows you to set up billing alerts as part of their billing system. You can also setup triggers based upon reach certain thresholds, though this is perhaps a more involved way of stopping billing getting out of control it is a very powerful mechanism. We suggest making sure that multiple users have the ability to get notifications of billing alerts.

IBM Cloud

IBM Cloud allows you to also setup billing alerts but at the time of writing there doesn’t seem to be a way of putting a hard limit on spending with them.

Microsoft Azure

Microsoft Azure spending limits are for certain tiers when running with free credits or offers and unfortunately does not allow you to set a custom amount in other cases. However they do allow setting up quotas for a department to get alerts more information is available here.