# Concepts: the decision before the tool

> The decision before the tool. What to weigh before you pick a technology: the construct, its trade-offs, and when the answer changes with scale. By Nicolas Dao, Cloudless Labs (Sydney): 12 decisions explained, each ending with the technology for each answer.

- Web page: https://cloudlesslabs.com/concepts/

Choosing a technology is rarely the hardest call. Choosing the construct is: a queue or a log, a rule or a model, paying for the work or paying to be ready. Get that right and the tool follows; get it wrong and no tool saves you.

Each page here teaches one of those decisions. It starts with the problem in plain words, compares the options on a concrete scenario, gives the rule of thumb and how the answer changes with scale, and ends with the technology I'd use for each answer, from [The Stack](https://cloudlesslabs.com/stack/brief.md). Every page opens with what you'll be able to decide after reading it.

## [Moving data between services](https://cloudlesslabs.com/concepts/areas/moving-data/index.md)

Events, messages and records travelling from the code that knows to the code that acts.

- [Messaging or streaming?](https://cloudlesslabs.com/concepts/messaging-or-streaming/index.md): Should the pipe remember a message after it has been delivered?
- [At least once, and idempotency](https://cloudlesslabs.com/concepts/delivery-guarantees/index.md): Every pipe on AWS can deliver the same message twice. How does the consumer stay correct when it does?

## [Putting AI into software](https://cloudlesslabs.com/concepts/areas/ai/index.md)

Which kind of intelligence each step of a feature needs, and what happens when it's unsure.

- [Ask an LLM, or call a decision API?](https://cloudlesslabs.com/concepts/llm-or-decision-api/index.md): When my app needs a yes, a no, a label or a score, should it prompt a general model or call a model built to decide?
- [System 1 or System 2?](https://cloudlesslabs.com/concepts/system-1-or-system-2/index.md): Which steps of an AI feature should be fast and cheap, which should think, and how does one hand over to the other?
- [How much freedom should an AI step get?](https://cloudlesslabs.com/concepts/ai-autonomy/index.md): Should each AI step act on its own, ask someone first, or not be AI at all, and what decides it?
- [How should a model get your company's knowledge?](https://cloudlesslabs.com/concepts/progressive-disclosure/index.md): Do you put your documents in the prompt, build retrieval, fine-tune a model, or let it find what it needs?

## [Paying for it](https://cloudlesslabs.com/concepts/areas/cost/index.md)

Where the money goes before a single request arrives, and when that's worth it.

- [Pay for the work, or pay to be ready?](https://cloudlesslabs.com/concepts/pay-to-be-ready/index.md): Should this part of the system cost nothing when it's idle, or run all the time so it's always ready?

## [Security, access and residency](https://cloudlesslabs.com/concepts/areas/security/index.md)

Where the data may go, who can reach it, and what runs where it can't do harm.

- [Where may the data go?](https://cloudlesslabs.com/concepts/data-residency/index.md): Must the data, the prompts and the logs stay in Australia, and what does each service do with them by default?
- [Where should code nobody reviewed run?](https://cloudlesslabs.com/concepts/sandboxing/index.md): Where does code written by a model or a customer run, so it can't reach your credentials, your network or the next user's files?
- [One AWS account, or many?](https://cloudlesslabs.com/concepts/accounts-as-walls/index.md): Should everything run in one AWS account with careful policies, or behind walls of accounts, one per environment and workload, with the backups in an account of their own?
- [Who holds your keys, and for how long?](https://cloudlesslabs.com/concepts/keys-and-secrets/index.md): Should people, pipelines and apps carry long-lived keys or borrow short-lived roles, where does each secret live, and which code you didn't write runs next to them?
- [Coming in, or going out?](https://cloudlesslabs.com/concepts/private-access/index.md): Should your people come into the private network, or should one service go out to the public, and is anything still listening on a public address?

## Related

- [The Stack, in one file](https://cloudlesslabs.com/stack/brief.md): the tools behind every answer
- [Every decision guide](https://cloudlesslabs.com/stack/guides/index.md)
- [Map of every Markdown file on cloudlesslabs.com, with what each one answers](https://ask.cloudlesslabs.com)
