Before committing to any ecosystem, check what you can export and what happens when you leave. Some of these let you pull your own history as a file, some show it to you in an app and nowhere else, and one I used deleted my history when I closed the account rather than handing it over. If you intend to keep years of data, that is a purchasing criterion, not a footnote.
Yusuf
@yaml_yusuf
Runs small clusters for a living and has read more manifests than novels.
102 credit Trusted
- From answers
- 0
- From questions
- 102
The second trigger is backfills. When you need to rerun a specific date range across several systems in order, hand rolled scripts stop being funny very quickly.
The trigger is not model count, it is cross system dependencies. While everything you care about lives inside one warehouse and one dbt project, dbt's own dependency graph is your orchestrator and it is a good one. The moment you need to say run this only after that connector finished, then when the models are done push a file to a partner, retrigger the reverse ETL, and notify someone if any step fails, you now have a graph that spans systems and nothing inside dbt can see it. That is the day you want an orchestrator, and it can happen at ten models or never happen at seven hundred.
This is what I settled on too. The unexpected benefit was that deploys stopped depending on whatever half installed state my laptop was in.
Numbers from the free tier so you can plan: one concurrent build, low queue priority, a 45 minute build timeout, and an allowance of up to 15 iOS and 15 Android builds a month. That allowance sounds generous until you spend an afternoon fighting a config plugin and burn six builds on typos. The next tier up is 19 a month plus usage, and the thing you are actually buying is queue priority and concurrency rather than raw build count.
Scheduling being the actual product rather than the deploy tooling is a useful reframing. At two boxes I do not have a placement problem.
Motorway miles are your friend, so do not be scared of a high number on a well serviced car. Look underneath at the sills and the rear arches, look for a cold start rather than an engine that is already warm when you arrive, and get the belt receipt. Everything else is negotiable.
Good point on holding across awaits, I don't need to, the lookup returns a small Copy struct.
That p99 point is the sort of thing I wouldn't have caught in a benchmark of averages. Thanks.
Be aware the word means different things in different buildings and that is why the question feels weird. In a lot of enterprises ETL is not a description of data flow, it is the name of a department and a toolchain: SSIS packages, Informatica jobs, a scheduler somebody has run since 2011, and a team whose job title contains the letters. If the interviewer came up through that world, hearing no from you means you have never touched their stack, and hearing yes plus a description of Fivetran and dbt tells them exactly what you know. Answer the question they meant rather than the one about acronyms.
Slight disagreement with letting the tooling own everything, at least for teams. Generated credentials living only in the build service is fine for a solo dev and awkward the day someone else needs to ship while you are away. Export the keys and keep them somewhere your future collaborator can reach, even if that is just a password manager entry with a note.
Hard cap of 400 changed lines per PR, enforced by a bot that refuses to assign a reviewer above it, with an explicit override that requires a sentence explaining why. Our median PR went from 610 lines to 180 within three weeks, review turnaround went from about 19 hours to under 4, and total merged volume stayed roughly the same. The interesting part was that the cap changed how people prompted rather than how they split PRs, because they stopped asking for whole features in one go. It has held for eight months.
One boring thing: confirm your April migration kept 301s from every old product URL. If a page lost its history it's effectively a brand new URL competing with nothing to its name, and thin new URLs are exactly what gets parked in that report.
The shared runner IP thing is why it always looks random. Two green builds then a failure with no change on your side.
The one that bites people is returning to the same employer. Plenty of schemes have rules about how long you must be genuinely separated before you can do paid work for them again, and some suspend payments if you go back in any capacity inside that window, contractor status included. I did the two days a week thing for a different company entirely and nothing broke at all. Before you sign the package, ask the scheme administrator in writing what happens if you contract back to them, and do not accept a verbal from your manager who wants you to say yes.
154 to 9 is useful, thank you. Were the 9 mostly from job boards or people you knew?
Split the problem by what each piece actually is. Orchestration, meaning what runs when and what happens on failure, goes to Step Functions since you already run it and your team already knows the failure modes. The Spark shaped work, meaning the EMR job, is the only piece Glue is genuinely for, and Glue is worth it if that job is real Spark rather than a shell script that happens to run on a cluster. Do not put simple S3 to Redshift copies into Glue just because it is the named alternative, you will be paying for a Spark environment to run something Redshift can do itself with a COPY and a manifest.
If you genuinely need Rc, tokio::task::spawn_local on a LocalSet works and keeps everything on one thread. It's a real option for per-connection actors, just be aware you've now decided that task never migrates, which is fine until you want it to be.
This is the number that decides it. People try a NAS on a Pi 3, get 5MB/s and blame the SD card.
I use both and split them by knife. Everyday stuff, bread knife, the serrated things, the knife I let guests use, all go to a service because I do not want to spend my Sunday on them. The gyuto and the petty I do myself, because they need a specific angle and I would rather control it. Mail in services that specialise are genuinely good, they will fix chips and reset a bevel properly, but you pay for that and you lose the knife for a week or two, so it is a once a year thing not a maintenance routine.
Ran that. 40 pages, 14 clusters, and four of those clusters are just location variants of the same service.
One thing that trips people: if the predicate itself borrows something with a shorter life than self, no signature will save you and you genuinely do need to restructure. Passing the filter criteria in by value, as above, is what makes the simple signature possible.
Position 6 for both might not be cannibalisation at all, it might just be that neither is good enough to be top 3 and they're taking turns at the bottom of the pile. Worth being honest about that before spending a weekend on redirects.
It's mostly hours, but the hours count for more if you read the error message properly instead of scanning for the line number. They tell you which borrow, where it started and where it ends. I ignored the middle of those messages for my whole first month.