Brut may provide segments to interface with email, cloud storage, background jobs, etc

Accepted

Created

Context

Although Brut will not have a first-class API for stuff like email or background jobs, Brut can still provide optional setup to make it easier to use such providers.

Concerns or Issues

We don't want people to think Brut disallows sending email or using background jobs.

Decision

Brut may provide segments that configure specific background job APIs, cloud APIs, or email ability. These segments will be assured by Brut as working as desired, but will still only provide direct API access and not a Brut wrapper around the API.

Options Considered, but Not Chosen

Brut will not follow Rails' pattern of providing simpler wrappers around APIs. In practice, you end up having to learn the cloud provider/background job API and Rails' and this doesn't have a lot of value.

System Qualities or Desired Consequences

Brut will be compatible with, and provide direct support for various cloud offerings, third party APIs, and more. But they won't be part of Brut's API footprint.

Downsides

In theory, a wrapper API can be easier to learn than a provider's or third party's. In practice, you end up having to learn the provider/third party API anyway, but without a simple wrapper to get started, there is more friction.

Additional Rationale

This is partly to clarify that cloud APIs, emails, and background jobs are possible and totally a thing that can be done in a Brut app, even if Brut doesn't provide wrappers APIs for them.

Adjust Control Icon