# Best practices

{% hint style="warning" %}
This page is "work-in-progress", it will be updated soon
{% endhint %}

* For best possible results, consider running SnowKill every minute.
* For ease of maintenance, you may run SnowKill as basic serverless application (AWS Lambda, Fargate, etc.). One CPU core and a few hundred Mb of RAM should be sufficient.
* For better security, consider using private key authentication method for SnowKill [administration user](https://docs.snowkill.net/implementation-details/administration-user). Try to avoid using password for users with programmatic access.
* Consider using an additional queue (SNS, SQS, Pub/Sub, etc.) for notifications to avoid losing messaged if your notification channel is temporary not available.
* Consider using OLTP database for log storage (e.g. [Postgres table](https://docs.snowkill.net/storage/built-in-storages/postgres-table)) instead of [Snowflake table](https://docs.snowkill.net/storage/built-in-storages/snowflake-table). Snowflake table helps to get you started, but it is not the most efficient setup for production.
