Equip the team; don’t replace their judgement.
Five services, one contract: whatever leaves an engagement must be readable, reproducible and signable by an in-house engineer. A deliverable without a handover procedure is not a deliverable.
What runs in production, and what each piece does. The choice follows the client’s constraint, not a preference — a stack an in-house team cannot take over is not a stack.
Storage, query, transformation and reporting. The choice follows the client’s constraint — an existing cloud contract, sovereignty, in-house skills — not a preference.
A SQL query engine that reads files sitting on S3 directly — no database to load, no server to maintain. Billing follows the volume scanned, which puts partitioning at the centre of the design rather than at the end.
Hadoop, Spark and Trino clusters provisioned on demand, for workloads that do not fit on one machine. Existing Spark code ports across without a rewrite — often the reason to pick it.
Azure’s serverless service: code triggered by a dropped file, a schedule or an HTTP call, with no server to size. Suited to short steps in a chain; ruled out for long-running jobs, where per-second billing becomes the subject.
Microsoft’s relational engine, widespread in existing enterprise systems. In a migration it is almost always the source to read and the constraint to respect, rarely the target.
The default target when nothing mandates a proprietary engine: open licence, portable across clouds. Its extensions — PostGIS for geospatial, pgvector for vector search — avoid adding a second system for a single need.
The GPT models, called through the API directly or via Azure OpenAI to stay inside an existing Azure contract. Used for extraction, classification and assisted writing; never to settle an engineering decision in an engineer’s place.
Anthropic’s Claude models, called through the direct API or via AWS Bedrock, Google Vertex AI and Microsoft Foundry — so the cloud provider already in place does not dictate the choice of model. Used for document analysis, assisted writing and tool-using agents.
Two products under one name: GitHub Copilot for in-editor code assistance, and Microsoft Copilot — with Copilot Studio — for business agents on Azure. The latter is the base for the agents built at Egis Group.
A warehouse that separates storage from compute: each is sized independently and compute is paid per use. Available on all three major clouds, which avoids tying the warehouse to the infrastructure provider.
Several model families behind a single API, without data leaving the AWS account. The model chosen stays an architecture decision — documented and revisable — not a setting.
Ingestion, warehouse, notebooks and reporting in one product, on shared storage (OneLake). Integration is the gain; lock-in to the Microsoft ecosystem is the price, and it is decided at scoping.
Semantic models, reports and dashboards — the layer business teams handle themselves. It is also where an ambiguous metric definition becomes visible, which makes it a good indicator of the quality of the model upstream.
Three languages, chosen because an in-house team can read them with no special training.
The language of data processing and machine learning, from the ingestion script to the model service. Its ecosystem — pandas, PySpark, scikit-learn — covers the whole chain without switching tools midway.
The only language both business and technical teams read. A transformation written in SQL stays readable years later; that is rarely true of a pipeline written in code.
Describes cloud infrastructure in versioned files, applied reproducibly. Without it, a platform’s configuration exists only in a console: not readable, not transferable, not auditable.
Two providers run in production. The third — GCP — is certified but not listed here, for lack of a recent engagement to cite.
The widest catalogue of data services: S3, Athena, EMR, Bedrock. The default route when the company does not already have a Microsoft contract deciding for it.
The provider for companies already on Microsoft 365 and Entra ID: identity, billing and compliance are already settled there. Fabric, Functions App and Azure OpenAI are its common data building blocks.
The same chain in every engagement. One switching point: that is where the decision is made, and the only place worth instrumenting.
- An engineering decision automated with no accountability framework.
- A deliverable no in-house engineer can read.
- A figure announced without a measurable source.
- Scaling up before a pilot has held for three months.