<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Boris Gigovic</title>
    <description>The latest articles on DEV Community by Boris Gigovic (@borisgigovic).</description>
    <link>https://dev.to/borisgigovic</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1092140%2Fe3707445-51cd-4c47-a14f-131f046eda53.jpeg</url>
      <title>DEV Community: Boris Gigovic</title>
      <link>https://dev.to/borisgigovic</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/borisgigovic"/>
    <language>en</language>
    <item>
      <title>Purview DLP rollout without business disruption: pilot design, exceptions, tuning loop, and adoption metrics</title>
      <dc:creator>Boris Gigovic</dc:creator>
      <pubDate>Tue, 29 Sep 2026 12:00:32 +0000</pubDate>
      <link>https://dev.to/borisgigovic/purview-dlp-rollout-without-business-disruption-pilot-design-exceptions-tuning-loop-and-33ke</link>
      <guid>https://dev.to/borisgigovic/purview-dlp-rollout-without-business-disruption-pilot-design-exceptions-tuning-loop-and-33ke</guid>
      <description>&lt;p&gt;&lt;strong&gt;A Purview DLP rollout fails for one of two reasons:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;It’s too weak, so it becomes a checkbox nobody trusts.&lt;/li&gt;
&lt;li&gt;It’s too aggressive, so it blocks real work and users route around it.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The goal isn’t “turn on DLP.” The goal is &lt;strong&gt;reduce data risk without slowing the business down&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;This guide gives you a rollout approach that works in production: a pilot design, an exception strategy that doesn’t become chaos, a tuning loop, and adoption metrics you can defend.&lt;/p&gt;

&lt;h2&gt;
  
  
  1) Start with outcomes, not policies
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Before you write a single DLP rule, define:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;What data are you protecting (PII, financial, HR, IP, customer data, regulated data)?&lt;br&gt;
What are the top 3–5 “bad outcomes” you’re trying to prevent?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;accidental external sharing&lt;/li&gt;
&lt;li&gt;sending sensitive info to personal email&lt;/li&gt;
&lt;li&gt;copying sensitive data into unmanaged apps&lt;/li&gt;
&lt;li&gt;uploading sensitive files to unsanctioned cloud storage&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Where does that data live today (SharePoint, OneDrive, Exchange, Teams, endpoints)?&lt;/p&gt;

&lt;p&gt;If you can’t answer those, you’ll write policies that look impressive and perform badly.&lt;/p&gt;

&lt;h2&gt;
  
  
  2) Pilot design: prove value with minimal blast radius
&lt;/h2&gt;

&lt;p&gt;A good pilot is small enough to control, but real enough to learn from.&lt;br&gt;
Choose a pilot group that represents reality&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pick users who:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;handle sensitive data daily&lt;/li&gt;
&lt;li&gt;are willing to give feedback&lt;/li&gt;
&lt;li&gt;include at least one “power user” who will find edge cases fast&lt;/li&gt;
&lt;li&gt;include at least one manager who can validate business impact&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Avoid pilots that are “too clean” (only IT, only security). You’ll learn nothing.&lt;br&gt;
Start in audit mode (then move to soft enforcement)&lt;/p&gt;

&lt;h3&gt;
  
  
  Phase your rollou
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Phase A: Audit-only&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;detect and log policy matches&lt;/li&gt;
&lt;li&gt;validate signal quality (false positives/negatives)&lt;/li&gt;
&lt;li&gt;build your exception patterns&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Phase B: User education (policy tips / warnings)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;show users what triggered the policy&lt;/li&gt;
&lt;li&gt;give a safe path forward (encrypt, justify, use approved location)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Phase C: Targeted blocking&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;block only the highest-risk actions&lt;/li&gt;
&lt;li&gt;keep a fast exception path for legitimate work
This sequencing is how you avoid “day one disruption.”&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  3) Exception strategy: the difference between “governance” and “chaos”
&lt;/h2&gt;

&lt;p&gt;Exceptions are not a failure. They’re part of the design.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The failure is when exceptions become:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;undocumented&lt;/li&gt;
&lt;li&gt;permanent&lt;/li&gt;
&lt;li&gt;granted by whoever shouts loudest&lt;/li&gt;
&lt;li&gt;impossible to review
Build an exception model before enforcement&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Define:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;who can approve exceptions (role-based, not person-based)&lt;/li&gt;
&lt;li&gt;how long exceptions last (time-bound by default)&lt;/li&gt;
&lt;li&gt;what evidence is required (business justification, ticket ID, owner)&lt;/li&gt;
&lt;li&gt;how exceptions are reviewed (weekly/monthly)&lt;/li&gt;
&lt;li&gt;how exceptions are removed (expiry + renewal process)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Use “safe alternatives” before “allow”&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;When users hit DLP friction, give them a safe path:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;approved locations (SharePoint sites, Teams channels)&lt;/li&gt;
&lt;li&gt;approved sharing methods (guest access vs public links)&lt;/li&gt;
&lt;li&gt;approved encryption / labeling workflows&lt;/li&gt;
&lt;li&gt;approved devices (compliant endpoints)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If the only option is “blocked,” users will route around you.&lt;/p&gt;

&lt;h2&gt;
  
  
  4) The tuning loop: treat DLP like a product, not a project
&lt;/h2&gt;

&lt;p&gt;DLP is not “set and forget.” It’s a control system.&lt;br&gt;
A practical tuning loop looks like this.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Weekly (early rollout):&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;review top triggers by volume&lt;/li&gt;
&lt;li&gt;classify false positives vs true positives&lt;/li&gt;
&lt;li&gt;identify top business processes impacted&lt;/li&gt;
&lt;li&gt;adjust conditions (sensitivity info types, thresholds, locations)&lt;/li&gt;
&lt;li&gt;refine user messaging (what they should do instead)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Monthly (steady state):&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;review exception inventory (who has them, why, expiry)&lt;/li&gt;
&lt;li&gt;review high-risk trends (exfil attempts, repeated triggers)&lt;/li&gt;
&lt;li&gt;align changes with business cycles (quarter-end finance, HR periods)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;The key is to tune toward precision:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;fewer false positives&lt;/li&gt;
&lt;li&gt;higher confidence detections&lt;/li&gt;
&lt;li&gt;clearer user guidance&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  5) Adoption metrics: prove it’s working without gaming the numbers
&lt;/h2&gt;

&lt;p&gt;If you measure the wrong thing, you’ll “succeed” while risk stays the same.&lt;br&gt;
Metrics that matter (operational + behavior)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Policy signal quality&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;% true positives vs false positives (sampled)&lt;/li&gt;
&lt;li&gt;top 10 triggers by policy and location&lt;/li&gt;
&lt;li&gt;repeat offenders (patterns, not blame)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;User behavior change&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;reduction in risky sharing patterns over time&lt;/li&gt;
&lt;li&gt;increase in use of approved locations/methods&lt;/li&gt;
&lt;li&gt;decrease in “workarounds” (e.g., personal email forwarding, unmanaged storage)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Operational load&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;number of helpdesk tickets caused by DLP&lt;/li&gt;
&lt;li&gt;time-to-resolution for DLP incidents&lt;/li&gt;
&lt;li&gt;exception requests per week (and approval time)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Business impact&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;blocked actions that were legitimate (should trend down)&lt;/li&gt;
&lt;li&gt;user satisfaction feedback from pilot group&lt;/li&gt;
&lt;li&gt;productivity impact signals (qualitative + ticket trends)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Adoption targets (practical, not theoretical)
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Early rollout success often looks like:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;audit-only phase identifies the top 3–5 real risk patterns&lt;/li&gt;
&lt;li&gt;warning phase reduces risky behavior without blocking work&lt;/li&gt;
&lt;li&gt;enforcement phase blocks only the “no debate” scenarios&lt;/li&gt;
&lt;li&gt;exceptions are time-bound and shrinking, not growing&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  6) What breaks first (so you can prevent it)
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Here’s what typically breaks first in DLP rollouts:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;policies trigger on too many benign cases (false positives explode)&lt;/li&gt;
&lt;li&gt;users don’t understand the message, so they open tickets or bypass&lt;/li&gt;
&lt;li&gt;exceptions become permanent and unreviewed&lt;/li&gt;
&lt;li&gt;security pushes blocking too early, business pushes back hard&lt;/li&gt;
&lt;li&gt;the rollout lacks a feedback loop, so trust collapses&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  If you plan for these failure modes, you’ll keep momentum.
&lt;/h3&gt;

&lt;p&gt;Build DLP and information protection skills &lt;a href="https://www.eccentrix.ca/en/courses/microsoft/security/microsoft-certified-information-security-administrator-associate-sc401" rel="noopener noreferrer"&gt;(SC-401)&lt;/a&gt;&lt;br&gt;
If you’re responsible for Purview DLP, sensitivity labels, and information protection controls, SC-401 is the structured path that ties these concepts into real implementation practice. &lt;/p&gt;

&lt;p&gt;Alternatively, the &lt;a href="https://www.eccentrix.ca/en/courses/microsoft/security/microsoft-certified-identity-and-access-administrator-associate-sc300" rel="noopener noreferrer"&gt;SC-300&lt;/a&gt; is used to help you with identity controls that often intersect with governance.&lt;/p&gt;

&lt;h3&gt;
  
  
  Related readings
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://dev.to/borisgigovic/information-classification-in-microsoft-purview-a-step-by-step-guide-167k"&gt;Information classification in Microsoft Purview: a step-by-step guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://medium.com/@boris.gigovic/compliance-governance-path-from-audit-panic-to-an-audit-ready-system-d8b4986412cc" rel="noopener noreferrer"&gt;Compliance governance path: from audit panic to an audit-ready system&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  FAQ
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Should we start by blocking?&lt;/strong&gt;&lt;br&gt;
No. Start with audit-only, then warnings, then targeted blocking. Blocking too early is the fastest way to lose trust.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How do we stop exceptions from becoming a loophole?&lt;/strong&gt;&lt;br&gt;
Make them time-bound, require business justification, and review them regularly. Exceptions are a control surface, not a favor.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What’s the best first pilot scope?&lt;/strong&gt;&lt;br&gt;
A small group that handles sensitive data daily (finance/HR/legal) plus at least one high-volume operational team. You need real workflows, not a “clean” pilot.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How do we show success to leadership?&lt;/strong&gt;&lt;br&gt;
Show reduced risky behavior trends, stable operational load, and a shrinking exception inventory, plus a clear narrative of what changed and why.&lt;/p&gt;

</description>
      <category>datarisk</category>
      <category>cloudstorage</category>
      <category>purviewdlp</category>
    </item>
    <item>
      <title>Hub-and-spoke Azure networking checklist (DNS, routing, NSGs, firewalls)</title>
      <dc:creator>Boris Gigovic</dc:creator>
      <pubDate>Wed, 23 Sep 2026 11:50:49 +0000</pubDate>
      <link>https://dev.to/borisgigovic/hub-and-spoke-azure-networking-checklist-dns-routing-nsgs-firewalls-3ea8</link>
      <guid>https://dev.to/borisgigovic/hub-and-spoke-azure-networking-checklist-dns-routing-nsgs-firewalls-3ea8</guid>
      <description>&lt;p&gt;Hub-and-spoke is one of the most common Azure networking patterns and one of the easiest to get “mostly right” while still shipping a design that breaks under real traffic, real DNS needs, and real security requirements.&lt;/p&gt;

&lt;p&gt;This guide is a practical checklist you can use to validate (or design) a hub-and-spoke network in Azure, with the failure points called out explicitly: DNS, routing, NSGs, and firewalls.&lt;/p&gt;

&lt;p&gt;If you’re building this pattern as part of a real Azure network engineering role, this is exactly the type of implementation detail covered in the &lt;a href="https://www.eccentrix.ca/en/courses/microsoft/azure/microsoft-certified-azure-network-engineer-associate-az700/" rel="noopener noreferrer"&gt;AZ-700&lt;/a&gt; (Azure Network Engineer) training.&lt;/p&gt;

&lt;h2&gt;
  
  
  What you’ll learn
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;The minimum components of a production hub-and-spoke design&lt;/li&gt;
&lt;li&gt;A DNS checklist that prevents the “everything resolves except…” problem&lt;/li&gt;
&lt;li&gt;Routing rules that avoid asymmetric routing and blackholes&lt;/li&gt;
&lt;li&gt;NSG patterns that scale without becoming unreadable&lt;/li&gt;
&lt;li&gt;Firewall placement decisions (and what breaks when you choose wrong)&lt;/li&gt;
&lt;li&gt;A “common mistakes” section you can use as a pre-flight review&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The baseline: what hub-and-spoke is trying to solve
&lt;/h2&gt;

&lt;p&gt;Hub-and-spoke is not just “central VNet + peered VNets.” It’s a way to centralize:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;shared services (DNS, identity services, jump hosts, tooling)&lt;/li&gt;
&lt;li&gt;security controls (firewall, inspection, egress control)&lt;/li&gt;
&lt;li&gt;connectivity (VPN/ExpressRoute, on-prem, partner networks)&lt;/li&gt;
&lt;li&gt;governance boundaries (consistent routing and policy)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A good hub-and-spoke design makes it easy to answer:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How does traffic flow between spokes?&lt;/li&gt;
&lt;li&gt;How does traffic reach on-prem?&lt;/li&gt;
&lt;li&gt;How does internet egress happen?&lt;/li&gt;
&lt;li&gt;Where does DNS resolution happen?&lt;/li&gt;
&lt;li&gt;Where do we inspect traffic?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you can’t answer those clearly, you don’t have a design, you have a diagram.&lt;/p&gt;

&lt;h2&gt;
  
  
  Checklist 1: Topology and peering (the “it works on paper” layer)
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1) Define the hub’s responsibilities
&lt;/h3&gt;

&lt;p&gt;Decide what the hub is for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;central firewall / inspection?&lt;/li&gt;
&lt;li&gt;VPN/ExpressRoute gateway?&lt;/li&gt;
&lt;li&gt;DNS services?&lt;/li&gt;
&lt;li&gt;shared services subnet(s)?&lt;/li&gt;
&lt;li&gt;both ingress and egress, or egress only?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Decision rule:&lt;/strong&gt; if the hub does everything, it becomes a bottleneck. If it does nothing, it’s pointless.&lt;/p&gt;

&lt;h3&gt;
  
  
  2) VNet peering is not transitive (plan for it)
&lt;/h3&gt;

&lt;p&gt;A classic early failure:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Spoke A is peered to Hub&lt;/li&gt;
&lt;li&gt;Spoke B is peered to Hub&lt;/li&gt;
&lt;li&gt;Team assumes Spoke A can talk to Spoke B “through the hub”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That’s not automatic. You need explicit routing and (often) inspection design.&lt;/p&gt;

&lt;h3&gt;
  
  
  3) Peering settings checklist
&lt;/h3&gt;

&lt;p&gt;For each spoke↔hub peering, validate:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Allow forwarded traffic&lt;/strong&gt; (if you’re doing NVA/firewall inspection)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Allow gateway transit / use remote gateways&lt;/strong&gt; (if hub has the gateway)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Naming/metadata is consistent&lt;/strong&gt; (you will have many peerings)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Common mistake:&lt;/strong&gt; enabling gateway transit inconsistently → some spokes reach on-prem, others can’t.&lt;/p&gt;

&lt;h2&gt;
  
  
  Checklist 2: DNS (where hub-and-spoke breaks first)
&lt;/h2&gt;

&lt;p&gt;DNS is the silent killer of “working” networks.&lt;/p&gt;

&lt;h3&gt;
  
  
  1) Decide your DNS model early
&lt;/h3&gt;

&lt;p&gt;Pick one of these models intentionally:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Azure-provided DNS only&lt;/strong&gt; (simple, limited)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Custom DNS in the hub&lt;/strong&gt; (VM-based or managed)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Azure DNS Private Resolver&lt;/strong&gt; (common modern approach)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hybrid DNS&lt;/strong&gt; (on-prem + Azure integration)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2) Private endpoints and private DNS zones
&lt;/h3&gt;

&lt;p&gt;If you use private endpoints, you need a plan for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;private DNS zones creation and linking&lt;/li&gt;
&lt;li&gt;zone links to the right VNets (hub and/or spokes)&lt;/li&gt;
&lt;li&gt;resolution from on-prem (if required)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Common mistake:&lt;/strong&gt; private endpoint works in one VNet but not another because zone links are incomplete.&lt;/p&gt;

&lt;h3&gt;
  
  
  3) Spoke-to-hub DNS resolution path
&lt;/h3&gt;

&lt;p&gt;If spokes use hub DNS, confirm:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;DHCP options (VNet DNS settings) point to the right resolver&lt;/li&gt;
&lt;li&gt;Resolver is reachable (NSGs/UDRs don’t block it)&lt;/li&gt;
&lt;li&gt;Forwarding rules exist for on-prem domains (if needed)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Common mistake:&lt;/strong&gt; routing forces DNS queries through a firewall that blocks/doesn’t allow the resolver path → intermittent name resolution failures.&lt;/p&gt;

&lt;h3&gt;
  
  
  Checklist 3: Routing (UDRs) and traffic flow (where “mostly right” becomes broken)
&lt;/h3&gt;

&lt;p&gt;Routing is where hub-and-spoke either becomes a clean, enforceable pattern—or a maze of exceptions.&lt;/p&gt;

&lt;h4&gt;
  
  
  1) Map the 4 traffic types explicitly
&lt;/h4&gt;

&lt;p&gt;Before writing a single UDR, document how these flows should work:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Spoke → Internet (egress)&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Spoke → On-prem&lt;/strong&gt; (VPN/ER)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Spoke → Spoke&lt;/strong&gt; (east-west)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Spoke → Hub shared services&lt;/strong&gt; (DNS, jump hosts, tooling)
If you don’t map these, you’ll end up “fixing” routing reactively.&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  2) Decide: forced tunneling or split tunneling?
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Forced tunneling:&lt;/strong&gt; all internet-bound traffic goes through hub security (firewall/NVA)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Split tunneling:&lt;/strong&gt; internet traffic exits directly from spokes; only private traffic goes through hub&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Decision rule:&lt;/strong&gt; forced tunneling gives stronger control, but increases complexity and cost. Split tunneling is simpler, but you must accept less centralized inspection.&lt;/p&gt;

&lt;h4&gt;
  
  
  3) UDR checklist (per spoke subnet)
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;For each spoke subnet, confirm:&lt;/li&gt;
&lt;li&gt;Default route (0.0.0.0/0) behavior is intentional (forced vs split)&lt;/li&gt;
&lt;li&gt;Routes to on-prem prefixes are correct (and not overridden by a broad default)&lt;/li&gt;
&lt;li&gt;Routes to hub shared services subnets exist (if needed)&lt;/li&gt;
&lt;li&gt;Routes to other spokes exist (if you allow spoke-to-spoke)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Common mistake:&lt;/strong&gt; a broad 0.0.0.0/0 route to firewall causes unexpected hairpinning and breaks services that expect direct internet access (updates, SaaS endpoints, time sync, etc.).&lt;/p&gt;

&lt;h4&gt;
  
  
  4) Asymmetric routing check (the #1 “it connects but breaks” problem)
&lt;/h4&gt;

&lt;p&gt;Asymmetric routing happens when:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;traffic goes one way through the firewall/NVA&lt;/li&gt;
&lt;li&gt;return traffic goes a different way (or bypasses inspection)&lt;/li&gt;
&lt;li&gt;stateful devices drop the return path&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Checklist&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;If you’re using a firewall/NVA, ensure both directions of the flow traverse it (or neither does)&lt;/li&gt;
&lt;li&gt;Validate return routes from hub and from on-prem back to spokes&lt;/li&gt;
&lt;li&gt;Confirm SNAT behavior where required (especially for internet egress)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Common mistake:&lt;/strong&gt; “Spoke can reach on-prem, but some apps time out” → return path is different.&lt;/p&gt;

&lt;h4&gt;
  
  
  5) Route propagation and gateway transit (hybrid connectivity)
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;If the hub has the VPN/ER gateway:&lt;/li&gt;
&lt;li&gt;spokes must be configured to use remote gateways&lt;/li&gt;
&lt;li&gt;hub must allow gateway transit&lt;/li&gt;
&lt;li&gt;you must decide whether you rely on propagation or explicit UDRs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Common mistake:&lt;/strong&gt; mixing propagation + UDRs without a clear rule → unpredictable routing during changes.&lt;/p&gt;

&lt;h3&gt;
  
  
  Checklist 4: NSGs (security that scales without becoming unreadable)
&lt;/h3&gt;

&lt;p&gt;NSGs are where good intentions go to die if you don’t standardize.&lt;/p&gt;

&lt;h4&gt;
  
  
  1) Use a tiered NSG model
&lt;/h4&gt;

&lt;p&gt;A scalable pattern:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Subnet-level NSG&lt;/strong&gt;: broad rules for the workload tier (web/app/data/shared services)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;NIC-level NSG&lt;/strong&gt; (optional): only for special cases, not as a default&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Common mistake:&lt;/strong&gt; putting everything at NIC level → impossible to audit at scale.&lt;/p&gt;

&lt;h4&gt;
  
  
  2) Standardize on “allow lists” with explicit denies
&lt;/h4&gt;

&lt;p&gt;In Azure, NSGs are stateful and default-deny inbound. That’s good—but you still need clarity.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Practical approach&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Define inbound rules by source (hub, on-prem, specific spokes)&lt;/li&gt;
&lt;li&gt;Define outbound rules intentionally for sensitive tiers (data subnets, management subnets)&lt;/li&gt;
&lt;li&gt;Use service tags where appropriate (but don’t blindly allow “Internet”)&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  3) NSG checklist questions (per subnet)
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;What are the allowed inbound sources? (hub, on-prem, specific spokes)&lt;/li&gt;
&lt;li&gt;What are the allowed inbound ports? (only what’s needed)&lt;/li&gt;
&lt;li&gt;Are management ports restricted to jump hosts / management subnet?&lt;/li&gt;
&lt;li&gt;Is outbound restricted for sensitive tiers?&lt;/li&gt;
&lt;li&gt;Are you relying on “Any/Any” rules anywhere? (if yes, why?)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Common mistake:&lt;/strong&gt; “temporary allow any-any” rules that never get removed.&lt;/p&gt;

&lt;h4&gt;
  
  
  4) Don’t confuse NSGs with firewalls
&lt;/h4&gt;

&lt;p&gt;NSGs are not a full inspection device. They’re access control. If you need:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;TLS inspection&lt;/li&gt;
&lt;li&gt;URL filtering&lt;/li&gt;
&lt;li&gt;centralized egress control&lt;/li&gt;
&lt;li&gt;threat intel-based blocking
…that’s firewall/NVA territory.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Checklist 5: Spoke-to-spoke: allow, deny, or inspect?
&lt;/h3&gt;

&lt;p&gt;You need a policy decision:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Deny by default&lt;/strong&gt; (simplest, strongest segmentation)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Allow directly&lt;/strong&gt;(fast, but reduces central control)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Allow through hub inspection&lt;/strong&gt; (best control, most complexity)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Decision rule:&lt;/strong&gt; if you allow spoke-to-spoke, you must be able to explain why and how it’s controlled.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Common mistake:&lt;/strong&gt; spoke-to-spoke becomes “accidentally allowed” via broad routes and permissive NSGs.&lt;/p&gt;

&lt;h3&gt;
  
  
  Checklist 6: Firewall / inspection (where you decide what you control)
&lt;/h3&gt;

&lt;p&gt;If you’re serious about controlling egress, inspecting traffic, or enforcing segmentation, you need a clear firewall story.&lt;/p&gt;

&lt;h4&gt;
  
  
  1) Decide what the firewall is responsible for
&lt;/h4&gt;

&lt;p&gt;Common responsibilities:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;internet egress control (who can go out, to where)&lt;/li&gt;
&lt;li&gt;east-west inspection (spoke-to-spoke)&lt;/li&gt;
&lt;li&gt;hybrid traffic inspection (spoke-to-on-prem)&lt;/li&gt;
&lt;li&gt;DNS proxying / DNS filtering (optional)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Common mistake:&lt;/strong&gt; deploying a firewall but not forcing traffic through it consistently.&lt;/p&gt;

&lt;h4&gt;
  
  
  2) Placement patterns (pick one intentionally)
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Pattern A: Centralized egress only (simpler)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Spokes send internet-bound traffic to hub firewall&lt;/li&gt;
&lt;li&gt;Spoke-to-spoke may be denied or allowed separately&lt;/li&gt;
&lt;li&gt;Good when you mainly want egress control&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Pattern B: Full inspection hub (strong control, more complexity)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Spokes route internet + east-west + hybrid through hub firewall/NVA&lt;/li&gt;
&lt;li&gt;Requires careful UDR design to avoid asymmetry&lt;/li&gt;
&lt;li&gt;Good when segmentation and inspection are core requirements&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Pattern C: Distributed inspection (advanced)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Some spokes have dedicated inspection devices&lt;/li&gt;
&lt;li&gt;Used for high-isolation workloads&lt;/li&gt;
&lt;li&gt;More operational overhead&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  3) Firewall checklist
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Are UDRs forcing the intended traffic types through the firewall?&lt;/li&gt;
&lt;li&gt;Are return routes symmetric?&lt;/li&gt;
&lt;li&gt;Is SNAT configured appropriately for egress?&lt;/li&gt;
&lt;li&gt;Do you have rule ownership and change control?&lt;/li&gt;
&lt;li&gt;Are logs enabled and being reviewed?&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Common mistakes(use this as a pre-flight review)
&lt;/h4&gt;

&lt;p&gt;If you want a fast “are we about to regret this?” scan, check these:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;DNS model undefined&lt;/strong&gt;→ private endpoints break in random places&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Private DNS zones not linked consistently →&lt;/strong&gt;“works in hub, fails in spoke”&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Assuming peering is transitive →&lt;/strong&gt;spoke-to-spoke surprises&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Forced tunneling without planning →&lt;/strong&gt;SaaS endpoints/timeouts/update failures&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Asymmetric routing →&lt;/strong&gt; intermittent app failures and dropped sessions&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Gateway transit inconsistent →&lt;/strong&gt; some spokes reach on-prem, others can’t&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;NSGs inconsistent across subnets →&lt;/strong&gt; impossible to audit, easy to bypass&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Firewall deployed but not enforced →&lt;/strong&gt; false sense of control&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No logging baseline →&lt;/strong&gt; you can’t prove what happened during incidents&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No change discipline →&lt;/strong&gt; “what changed?” becomes the main incident question&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Next steps (if you’re implementing this for real)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Build and validate hub-and-spoke networking patterns (DNS, routing, security, connectivity) in &lt;a href="https://www.eccentrix.ca/en/courses/microsoft/azure/microsoft-certified-azure-network-engineer-associate-az700" rel="noopener noreferrer"&gt;AZ-700 (Azure Network Engineer)&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;If you’re operating the environment day-to-day (governance, monitoring, incident patterns), the &lt;a href="https://www.eccentrix.ca/en/courses/microsoft/azure/microsoft-certified-azure-administrator-associate-az104" rel="noopener noreferrer"&gt;AZ-104 Azure Administrator&lt;/a&gt; training path complements it perfectly.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Related reading(s)
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://dev.to/borisgigovic/solving-complex-network-issues-a-network-engineers-journey-1bb7"&gt;Solving Complex Network Issues: A Network Engineer's Journey&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://medium.com/@boris.gigovic/understanding-the-difference-between-vpn-and-vnet-peering-in-azure-7f76e49753c9" rel="noopener noreferrer"&gt;Understanding the Difference Between VPN and VNet Peering in Azure&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://eccentrixtrainings.blogspot.com/2025/01/solving-complex-network-issues-real.html" rel="noopener noreferrer"&gt;Solving Complex Network Issues: Real-World Solutions That Work&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  FAQ (practical questions)
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Do I always need a firewall for hub-and-spoke?&lt;/strong&gt;&lt;br&gt;
No, but you do need a clear decision about egress control and inspection. If you must control outbound destinations, inspect traffic, or enforce segmentation centrally, a firewall/NVA becomes hard to avoid.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What breaks first in hub-and-spoke designs?&lt;/strong&gt;&lt;br&gt;
DNS especially with private endpoints and hybrid name resolution. If DNS isn’t explicitly designed, you’ll get intermittent failures that look like “network flakiness.”&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Should I allow spoke-to-spoke traffic?&lt;/strong&gt;&lt;br&gt;
Default answer: deny unless you have a clear business need. If you allow it, decide whether it’s direct or inspected, and enforce it consistently with routes and NSGs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Is forced tunneling worth it?&lt;/strong&gt;&lt;br&gt;
It depends. Forced tunneling gives stronger centralized control but increases complexity and cost. If you choose it, plan for SaaS dependencies and ensure routing symmetry.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How do I keep NSGs from becoming unmanageable?&lt;/strong&gt;&lt;br&gt;
Standardize by tier (web/app/data/shared services), keep most rules at subnet level, and avoid NIC-level rules except for rare exceptions. Treat “temporary any-any” rules as incidents with expiry dates.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What’s the fastest way to validate an existing design?&lt;/strong&gt;&lt;br&gt;
Start with: DNS model + private DNS zone links, then routing (UDRs + symmetry), then NSG consistency, then firewall enforcement/logging. Those four areas reveal most production issues quickly.&lt;/p&gt;

</description>
      <category>dns</category>
      <category>routing</category>
      <category>firewalls</category>
      <category>az700</category>
    </item>
    <item>
      <title>AZ-104 vs AZ-305: admin vs architect (responsibilities, mindset, deliverables)</title>
      <dc:creator>Boris Gigovic</dc:creator>
      <pubDate>Fri, 11 Sep 2026 13:03:50 +0000</pubDate>
      <link>https://dev.to/borisgigovic/az-104-vs-az-305-admin-vs-architect-responsibilities-mindset-deliverables-5980</link>
      <guid>https://dev.to/borisgigovic/az-104-vs-az-305-admin-vs-architect-responsibilities-mindset-deliverables-5980</guid>
      <description>&lt;p&gt;People compare AZ-104 and AZ-305 like they’re “level 1” and “level 2.” They represent two different jobs.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AZ-104 (Azure Administrator) is about operating Azure: keeping services healthy, secure, and consistent day-to-day.&lt;/li&gt;
&lt;li&gt;AZ-305 (Azure Solutions Architect) is about designing Azure: making tradeoffs, creating patterns, and producing architecture that survives scale, change, and risk.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you’re planning training (or mapping a team’s roles), the best question isn’t “which is harder?” It’s: Are you responsible for running the platform or for designing what the platform should be?&lt;/p&gt;

&lt;h2&gt;
  
  
  The simplest framing: operator vs designer
&lt;/h2&gt;

&lt;h3&gt;
  
  
  AZ-104: “Make it work, keep it working”
&lt;/h3&gt;

&lt;p&gt;You’re responsible for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;implementing resources correctly&lt;/li&gt;
&lt;li&gt;enforcing baseline governance&lt;/li&gt;
&lt;li&gt;monitoring and responding to incidents&lt;/li&gt;
&lt;li&gt;maintaining consistency across subscriptions and environments&lt;/li&gt;
&lt;li&gt;troubleshooting real issues under time pressure&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  AZ-305: “Make it make sense”
&lt;/h3&gt;

&lt;p&gt;You’re responsible for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;designing the target architecture&lt;/li&gt;
&lt;li&gt;aligning technical choices with business requirements&lt;/li&gt;
&lt;li&gt;balancing cost, security, resilience, and delivery speed&lt;/li&gt;
&lt;li&gt;producing artifacts others can implement and operate&lt;/li&gt;
&lt;li&gt;creating patterns that scale across teams and time&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Responsibilities: what you own in the real world
&lt;/h2&gt;

&lt;h3&gt;
  
  
  AZ-104 responsibilities (day-2 operations ownership)
&lt;/h3&gt;

&lt;p&gt;Common ownership areas:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Identity and access implementation (RBAC assignments, access hygiene)&lt;/li&gt;
&lt;li&gt;Resource provisioning and configuration (compute, storage, networking)&lt;/li&gt;
&lt;li&gt;Backup and recovery operations&lt;/li&gt;
&lt;li&gt;Monitoring, alerting, and incident response&lt;/li&gt;
&lt;li&gt;Patch/update processes (where applicable)&lt;/li&gt;
&lt;li&gt;Cost visibility and basic cost controls&lt;/li&gt;
&lt;li&gt;Standard runbooks and operational documentation&lt;/li&gt;
&lt;li&gt;Troubleshooting: “why is this failing right now?”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Success metric: stability, uptime, predictable operations, fewer incidents, faster recovery.&lt;/p&gt;

&lt;h3&gt;
  
  
  AZ-305 responsibilities (architecture ownership)
&lt;/h3&gt;

&lt;p&gt;Common ownership areas:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Requirements translation (business → technical constraints)&lt;/li&gt;
&lt;li&gt;Landing zone / subscription strategy (management groups, policies, identity model)&lt;/li&gt;
&lt;li&gt;Network architecture (hub-spoke, segmentation, connectivity patterns)&lt;/li&gt;
&lt;li&gt;Security architecture (defense-in-depth, identity boundaries, key management)&lt;/li&gt;
&lt;li&gt;Resilience design (availability zones, DR strategy, RTO/RPO decisions)&lt;/li&gt;
&lt;li&gt;Data and integration patterns (where data lives, how it moves, how it’s protected)&lt;/li&gt;
&lt;li&gt;Cost model design (not just “reduce cost,” but “design for cost predictability”)&lt;/li&gt;
&lt;li&gt;Governance model (guardrails that enable teams without chaos)&lt;/li&gt;
&lt;li&gt;Architecture documentation and decision records&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Success metric: systems that can be implemented and operated safely, with clear tradeoffs and fewer “surprises” later.&lt;/p&gt;

&lt;h2&gt;
  
  
  Mindset shift: what changes when you move from AZ-104 to AZ-305
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. From “tasks” to “tradeoffs”
&lt;/h3&gt;

&lt;p&gt;Admins execute tasks. Architects make tradeoffs.&lt;br&gt;
Example tradeoffs architects must own:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;speed vs control (self-service vs approvals)&lt;/li&gt;
&lt;li&gt;cost vs resilience (single region vs multi-region)&lt;/li&gt;
&lt;li&gt;simplicity vs flexibility (standard patterns vs bespoke solutions)&lt;/li&gt;
&lt;li&gt;security vs usability (tight boundaries vs operational friction)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The architect’s job is not to pick the “best” option. It’s to pick the right option for the constraints and document why.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. From “fixing” to “preventing”
&lt;/h3&gt;

&lt;p&gt;Admins are often measured by how quickly they fix issues.&lt;br&gt;
Architects are measured by how rarely the same class of issue happens again.&lt;br&gt;
That means designing:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;consistent identity boundaries&lt;/li&gt;
&lt;li&gt;predictable network routing&lt;/li&gt;
&lt;li&gt;standardized deployment patterns&lt;/li&gt;
&lt;li&gt;guardrails that stop risky configurations early&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. From “my subscription” to “the organization”
&lt;/h3&gt;

&lt;p&gt;AZ-104 can be executed within a subscription scope.&lt;br&gt;
AZ-305 thinks across:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;multiple subscriptions&lt;/li&gt;
&lt;li&gt;multiple environments (dev/test/prod)&lt;/li&gt;
&lt;li&gt;multiple teams with different maturity levels&lt;/li&gt;
&lt;li&gt;long-term operations and ownership&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Deliverables: what you produce (and what others depend on)
&lt;/h2&gt;

&lt;h3&gt;
  
  
  AZ-104 deliverables (operational outputs)
&lt;/h3&gt;

&lt;p&gt;Typical deliverables:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;configured resources (VMs, storage, VNets, NSGs, etc.)&lt;/li&gt;
&lt;li&gt;operational runbooks (“how to restore,” “how to rotate,” “how to respond”)&lt;/li&gt;
&lt;li&gt;monitoring dashboards and alert rules&lt;/li&gt;
&lt;li&gt;incident notes and remediation steps&lt;/li&gt;
&lt;li&gt;baseline documentation for what exists and how it’s managed&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These deliverables are execution-focused.&lt;/p&gt;

&lt;h2&gt;
  
  
  AZ-305 deliverables (architecture outputs)
&lt;/h2&gt;

&lt;p&gt;Typical deliverables:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;reference architectures (diagrams + rationale)&lt;/li&gt;
&lt;li&gt;landing zone design (management groups, policies, identity integration)&lt;/li&gt;
&lt;li&gt;network topology decisions (hub-spoke, DNS strategy, egress control)&lt;/li&gt;
&lt;li&gt;security model (identity boundaries, key vault usage, logging strategy)&lt;/li&gt;
&lt;li&gt;resilience plan (DR approach, RTO/RPO targets, failover design)&lt;/li&gt;
&lt;li&gt;cost model assumptions and guardrails&lt;/li&gt;
&lt;li&gt;architecture decision records (ADRs) and standards&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These deliverables are decision-focused—and they shape how everyone else works.&lt;/p&gt;

&lt;h2&gt;
  
  
  “What breaks first?” - the admin to architect reality check
&lt;/h2&gt;

&lt;p&gt;If you’ve only done AZ-104 work, the first surprises when stepping into AZ-305 are usually:&lt;/p&gt;

&lt;p&gt;Networking complexity (routing, DNS, hybrid connectivity, egress control)&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Identity boundaries (who owns what, how access is delegated safely)&lt;/li&gt;
&lt;li&gt;Governance at scale (policies, standardization, exceptions management)&lt;/li&gt;
&lt;li&gt;Operational ownership (who supports it at 2am, and how that changes design)&lt;/li&gt;
&lt;li&gt;Cost predictability (not just cost cutting—cost design)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Architects who ignore operations create beautiful diagrams that fail in production.&lt;br&gt;
Admins who ignore architecture create stable systems that don’t scale cleanly.&lt;br&gt;
The best teams connect both.&lt;/p&gt;

&lt;h2&gt;
  
  
  Who should take which (practical guidance)
&lt;/h2&gt;

&lt;h3&gt;
  
  
  AZ-104 is a fit if you:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;implement and manage Azure resources daily&lt;/li&gt;
&lt;li&gt;respond to incidents and operational tickets&lt;/li&gt;
&lt;li&gt;maintain monitoring, backups, and access controls&lt;/li&gt;
&lt;li&gt;need strong “how Azure works in production” fundamentals&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  AZ-305 is a fit if you:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;design solutions and set standards for others&lt;/li&gt;
&lt;li&gt;own cross-team architecture decisions&lt;/li&gt;
&lt;li&gt;are accountable for security, governance, and resilience design&lt;/li&gt;
&lt;li&gt;need to justify tradeoffs to technical and non-technical stakeholders&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The common path
&lt;/h2&gt;

&lt;p&gt;Many professionals do:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;AZ-104 to build operational credibility&lt;/li&gt;
&lt;li&gt;AZ-305 to formalize architecture thinking and decision-making&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Train for the role you want to perform
&lt;/h2&gt;

&lt;p&gt;If you’re building an operator foundation, &lt;a href="https://www.eccentrix.ca/en/courses/microsoft/azure/microsoft-certified-azure-administrator-associate-az104/" rel="noopener noreferrer"&gt;AZ-104&lt;/a&gt; is the right training anchor. If you’re moving into design ownership, &lt;a href="https://www.eccentrix.ca/en/courses/microsoft/azure/microsoft-certified-azure-solutions-architect-expert-az104-305/" rel="noopener noreferrer"&gt;AZ-305&lt;/a&gt; is where the mindset shifts.&lt;/p&gt;

&lt;h4&gt;
  
  
  Related readings
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://dev.to/borisgigovic/azure-administrator-essentials-your-path-to-az-104-success-28ma"&gt;Azure Administrator Essentials: Your Path to AZ-104 Success&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://medium.com/@boris.gigovic/understanding-the-difference-between-vpn-and-vnet-peering-in-azure-7f76e49753c9" rel="noopener noreferrer"&gt;Understanding the Difference Between VPN and VNet Peering in Azure&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="https://eccentrixtrainings.blogspot.com/2024/07/it-governance-in-azure.html" rel="noopener noreferrer"&gt;IT Governance in Azure &lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  FAQ
&lt;/h3&gt;

&lt;h3&gt;
  
  
  Can I do AZ-305 without AZ-104?
&lt;/h3&gt;

&lt;p&gt;You can, but you’ll be weaker in operational realism. AZ-305 decisions land better when you understand what admins will have to run and troubleshoot.&lt;/p&gt;

&lt;h3&gt;
  
  
  Is AZ-305 just “more Azure services”?
&lt;/h3&gt;

&lt;p&gt;Not really. It’s more about designing systems: governance, networking, identity, resilience, and cost models plus documenting decisions.&lt;/p&gt;

&lt;h3&gt;
  
  
  Which one helps more for career growth?
&lt;/h3&gt;

&lt;p&gt;AZ-104 strengthens execution roles (admin, cloud ops, platform ops). AZ-305 strengthens design roles (architect, platform architect, cloud lead). The fastest growth usually comes from being able to speak both languages.&lt;/p&gt;

</description>
      <category>designingsystems</category>
      <category>solutionsarchitect</category>
      <category>azure</category>
      <category>cloudarchitecture</category>
    </item>
    <item>
      <title>Microsoft Sentinel KQL: A Practical Introduction for Threat Hunting</title>
      <dc:creator>Boris Gigovic</dc:creator>
      <pubDate>Tue, 01 Sep 2026 14:20:42 +0000</pubDate>
      <link>https://dev.to/borisgigovic/microsoft-sentinel-kql-a-practical-introduction-for-threat-hunting-29d1</link>
      <guid>https://dev.to/borisgigovic/microsoft-sentinel-kql-a-practical-introduction-for-threat-hunting-29d1</guid>
      <description>&lt;p&gt;Threat hunting isn’t about waiting for an alert. It’s about proactively testing hypotheses against your telemetry looking for weak signals that automated detections may miss.&lt;/p&gt;

&lt;p&gt;Microsoft Sentinel is built for this style of work, but the real unlock is KQL (Kusto Query Language). You don’t need to memorize everything. You need a small set of commands, a repeatable workflow, and a library of patterns you can adapt.&lt;/p&gt;

&lt;h2&gt;
  
  
  What you’ll learn
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;How threat hunting differs from detection and investigation&lt;/li&gt;
&lt;li&gt;Where to hunt in Sentinel (tables, time windows, and fields)&lt;/li&gt;
&lt;li&gt;The essential KQL “hunter’s kit”&lt;/li&gt;
&lt;li&gt;Reusable hunting query patterns (copy/paste)&lt;/li&gt;
&lt;li&gt;How to interpret results without fooling yourself&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Threat hunting vs detection vs investigation (in 30 seconds)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Detection: analytics rules generate alerts from known patterns.&lt;/li&gt;
&lt;li&gt;Investigation: you follow an alert and reconstruct the timeline.&lt;/li&gt;
&lt;li&gt;Threat hunting: you start with a hypothesis (e.g., “quiet lateral movement”) and search data for traces.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Hunting is proactive. It’s how mature SOCs find real issues before they become incidents.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prerequisites (so hunting is useful)
&lt;/h2&gt;

&lt;p&gt;Before writing queries, make sure you have:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The right connectors enabled (Microsoft 365, Azure, Defender, Windows, etc.)&lt;/li&gt;
&lt;li&gt;Enough retention to see patterns (7 days is often not enough)&lt;/li&gt;
&lt;li&gt;A naming/tagging convention for workspaces, tables, and VIP accounts&lt;/li&gt;
&lt;li&gt;A clear objective: “reduce time to detect,” “detect exfiltration,” “find persistence,” etc.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Where to hunt: Sentinel tables and the datastore
&lt;/h2&gt;

&lt;p&gt;In Sentinel, your data lives in Log Analytics as tables. Each connector feeds one or more tables.&lt;br&gt;
Quick ways to discover what you have&lt;br&gt;
Start broad, then narrow:&lt;/p&gt;

&lt;h3&gt;
  
  
  1) Global search (when you only have a clue)
&lt;/h3&gt;

&lt;p&gt;kql&lt;br&gt;
search "keyword"&lt;br&gt;
| where TimeGenerated &amp;gt; ago(24h)&lt;br&gt;
| take 200&lt;/p&gt;

&lt;h3&gt;
  
  
  2) Always time-bound your hunts
&lt;/h3&gt;

&lt;p&gt;kql&lt;br&gt;
| where TimeGenerated &amp;gt; ago(24h)&lt;/p&gt;

&lt;h3&gt;
  
  
  3) Project only what you need
&lt;/h3&gt;

&lt;p&gt;kql&lt;br&gt;
| project TimeGenerated, Computer, Account, IPAddress, OperationName&lt;br&gt;
Tip: begin with 1 hour → expand to 24 hours → then 7 days. Don’t start with “all time.”&lt;/p&gt;

&lt;h2&gt;
  
  
  The KQL hunter’s kit (commands you’ll use constantly)
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;where (filter)&lt;/strong&gt;&lt;br&gt;
kql&lt;br&gt;
| where Account contains "admin"&lt;br&gt;
| where IPAddress startswith "10."&lt;br&gt;
project (select columns)&lt;br&gt;
kql&lt;br&gt;
| project TimeGenerated, Account, IPAddress, ActionType&lt;br&gt;
&lt;strong&gt;extend (create a field)&lt;/strong&gt;&lt;br&gt;
kql&lt;br&gt;
| extend Hour = datetime_part("hour", TimeGenerated)&lt;br&gt;
&lt;strong&gt;summarize (aggregate)&lt;/strong&gt;&lt;br&gt;
kql&lt;br&gt;
| summarize count() by Account&lt;br&gt;
| summarize dcount(IPAddress) by Account&lt;br&gt;
&lt;strong&gt;order by and take&lt;/strong&gt;&lt;br&gt;
kql&lt;br&gt;
| order by TimeGenerated desc&lt;br&gt;
| take 50&lt;br&gt;
&lt;strong&gt;join (correlate across tables)&lt;/strong&gt;&lt;br&gt;
kql&lt;br&gt;
| join kind=inner (...) on DeviceId&lt;br&gt;
&lt;strong&gt;parse / extract (pull structured values out of text)&lt;/strong&gt;&lt;br&gt;
Use these when fields are semi-structured (common in custom logs).&lt;br&gt;
&lt;strong&gt;mv-expand (expand arrays)&lt;/strong&gt;&lt;br&gt;
Use this when a field contains a list (IPs, URLs, recipients, etc.).&lt;/p&gt;

&lt;h2&gt;
  
  
  Hunting query patterns (copy/paste and adapt)
&lt;/h2&gt;

&lt;p&gt;These are &lt;strong&gt;patterns&lt;/strong&gt;, not “one-size-fits-all.” Tables depend on your connectors (Defender, Entra ID, M365, etc.).&lt;/p&gt;

&lt;h3&gt;
  
  
  Pattern A: abnormal authentication (multiple countries)
&lt;/h3&gt;

&lt;p&gt;kql&lt;br&gt;
SigninLogs&lt;br&gt;
| where TimeGenerated &amp;gt; ago(24h)&lt;br&gt;
| where ResultType == 0&lt;br&gt;
| summarize Countries = make_set(LocationDetails.countryOrRegion) by UserPrincipalName&lt;br&gt;
| where array_length(Countries) &amp;gt; 1&lt;br&gt;
When it’s useful: spotting impossible travel, unusual access locations, or compromised credentials.&lt;/p&gt;

&lt;h3&gt;
  
  
  Pattern B: MFA/sign-in failures with eventual success (brute force + success)
&lt;/h3&gt;

&lt;p&gt;kql&lt;br&gt;
SigninLogs&lt;br&gt;
| where TimeGenerated &amp;gt; ago(24h)&lt;br&gt;
| summarize Failures = countif(ResultType != 0), Success = countif(ResultType == 0) by UserPrincipalName&lt;br&gt;
| where Failures &amp;gt; 10 and Success &amp;gt; 0&lt;br&gt;
| order by Failures desc&lt;br&gt;
Why it matters: repeated failures followed by success can indicate password spraying, MFA fatigue, or credential stuffing.&lt;/p&gt;

&lt;h3&gt;
  
  
  Pattern C: broad search when you only have one indicator
&lt;/h3&gt;

&lt;p&gt;kql&lt;br&gt;
search "rundll32"&lt;br&gt;
| where TimeGenerated &amp;gt; ago(7d)&lt;br&gt;
| take 200&lt;br&gt;
Use this early in an investigation when you’re hunting for a known LOLBin, file name, or suspicious string.&lt;/p&gt;

&lt;h3&gt;
  
  
  Pattern D: suspicious PowerShell execution (common attacker behaviors)
&lt;/h3&gt;

&lt;p&gt;DeviceProcessEvents&lt;br&gt;
| where TimeGenerated &amp;gt; ago(24h)&lt;br&gt;
| where FileName in~ ("powershell.exe", "pwsh.exe")&lt;br&gt;
| where ProcessCommandLine has_any ("-enc", "IEX", "DownloadString", "FromBase64String")&lt;br&gt;
| project TimeGenerated, DeviceName, AccountName, ProcessCommandLine&lt;br&gt;
| order by TimeGenerated desc&lt;/p&gt;

&lt;h3&gt;
  
  
  Pattern E: correlate a successful sign-in with device logons (join)
&lt;/h3&gt;

&lt;p&gt;kql&lt;br&gt;
let suspiciousUsers = SigninLogs&lt;br&gt;
| where TimeGenerated &amp;gt; ago(24h)&lt;br&gt;
| where ResultType == 0&lt;br&gt;
| summarize by UserPrincipalName;&lt;/p&gt;

&lt;p&gt;DeviceLogonEvents&lt;br&gt;
| where TimeGenerated &amp;gt; ago(24h)&lt;br&gt;
| join kind=inner suspiciousUsers on $left.AccountUpn == $right.UserPrincipalName&lt;br&gt;
| project TimeGenerated, DeviceName, AccountUpn, LogonType&lt;/p&gt;

&lt;h2&gt;
  
  
  Why it matters: correlation turns “a list” into “a story.”
&lt;/h2&gt;

&lt;h3&gt;
  
  
  How to analyze results (without fooling yourself)
&lt;/h3&gt;

&lt;p&gt;Avoid classic false positives&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Service accounts and automation accounts&lt;/li&gt;
&lt;li&gt;VPN/proxy hops (same user, different IP)&lt;/li&gt;
&lt;li&gt;Internal scanning tools and scheduled jobs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Move from “list” to “story”&lt;br&gt;
A good hunting result should let you answer:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Who&lt;/strong&gt; did it? (account)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;What&lt;/strong&gt; happened? (action)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Where&lt;/strong&gt; did it occur? (device, IP, country)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;When&lt;/strong&gt; did it happen? (timeline)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;What next?&lt;/strong&gt; (potential impact / follow-on activity)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you can’t tell the story, you’re not done hunting yet—you’re just collecting rows.&lt;/p&gt;

&lt;h3&gt;
  
  
  Next steps (turn hunts into repeatable capability)
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Pick one hypothesis (e.g., encoded PowerShell execution).&lt;/li&gt;
&lt;li&gt;Run the query over 24 hours, then 7 days.&lt;/li&gt;
&lt;li&gt;Add one correlation (join) to enrich context.&lt;/li&gt;
&lt;li&gt;Convert the best hunts into reusable assets: saved queries, workbooks, or analytics rules (where appropriate).&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Recommended training path (Eccentrix)
&lt;/h2&gt;

&lt;p&gt;If you want your team to hunt and investigate effectively (not just run canned queries), training matters.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.eccentrix.ca/en/courses/microsoft/security/microsoft-certified-security-operations-analyst-associate-sc200/" rel="noopener noreferrer"&gt;Microsoft SC-200: Microsoft Security Operations Analyst&lt;/a&gt; (Sentinel + Defender + investigation)&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.eccentrix.ca/en/courses/microsoft/security/microsoft-certified-security-compliance-and-identity-fundamentals-sc900/" rel="noopener noreferrer"&gt;Microsoft SC-900: Security, Compliance, and Identity Fundamentals&lt;/a&gt; (for baseline knowledge)&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.eccentrix.ca/en/courses/microsoft/security/configure-siem-security-operations-using-microsoft-sentinel-sc-5001/" rel="noopener noreferrer"&gt;SC-5001: Configure SIEM security operations using Microsoft Sentinel&lt;/a&gt; (specialized Sentinel configuration)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;h4&gt;
  
  
  Do I need to be a developer to use KQL?
&lt;/h4&gt;

&lt;p&gt;No. KQL is designed for log analytics. With a small set of commands (where, project, summarize), you can produce meaningful hunts quickly.&lt;/p&gt;

&lt;h4&gt;
  
  
  What’s the difference between a hunting query and an analytics rule?
&lt;/h4&gt;

&lt;p&gt;A hunting query is exploratory and hypothesis-driven. An analytics rule is automated detection that generates alerts.&lt;/p&gt;

&lt;h4&gt;
  
  
  Which tables should I start with?
&lt;/h4&gt;

&lt;p&gt;Start with the tables tied to your core connectors (e.g., SigninLogs, AuditLogs, and Defender tables such as DeviceProcessEvents, DeviceNetworkEvents, etc.).&lt;/p&gt;

&lt;h4&gt;
  
  
  How do I reduce false positives?
&lt;/h4&gt;

&lt;p&gt;Use time bounds, create allowlists for known automation, add context with join, and tune thresholds with summarize.&lt;/p&gt;

</description>
      <category>kql</category>
      <category>microsoftdefender</category>
      <category>siem</category>
      <category>loganalytics</category>
    </item>
    <item>
      <title>How Remote Desktop Services (RDS) Work: Architecture, Security, and Troubleshooting</title>
      <dc:creator>Boris Gigovic</dc:creator>
      <pubDate>Fri, 14 Aug 2026 10:58:04 +0000</pubDate>
      <link>https://dev.to/borisgigovic/how-remote-desktop-services-rds-work-architecture-security-and-troubleshooting-4dl5</link>
      <guid>https://dev.to/borisgigovic/how-remote-desktop-services-rds-work-architecture-security-and-troubleshooting-4dl5</guid>
      <description>&lt;p&gt;Remote Desktop Services (RDS) looks simple from the outside—open a client, sign in, get a desktop or an app—but under the hood it’s a full platform: brokering, gateways, session hosts, licensing, identity, and a lot of operational “gotchas.”&lt;/p&gt;

&lt;p&gt;Even in 2026, RDS is still everywhere: legacy line-of-business apps, shared desktops for contractors, secure access to internal tools, and “keep it running” environments where rebuilding the app isn’t realistic.&lt;/p&gt;

&lt;p&gt;This Dev.to version is designed to be easy to read and practical: what each role does, how a connection really flows, what to secure first, and what breaks most often.&lt;/p&gt;

&lt;h2&gt;
  
  
  What you’ll learn
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;The core RDS roles (Session Host, Broker, Gateway, Web Access, Licensing)&lt;/li&gt;
&lt;li&gt;The real connection flow (step-by-step)&lt;/li&gt;
&lt;li&gt;Common deployment patterns (single server, farm, HA)&lt;/li&gt;
&lt;li&gt;Security hardening priorities (MFA, TLS, NLA, segmentation)&lt;/li&gt;
&lt;li&gt;Troubleshooting playbooks (logon failures, black screens, printing, performance)&lt;/li&gt;
&lt;li&gt;Where RDS fits in a modern Windows Server hybrid strategy&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  RDS in one sentence
&lt;/h2&gt;

&lt;p&gt;Remote Desktop Services is a set of Windows Server roles that lets you publish remote desktops and applications to users, while running the workloads centrally on servers.&lt;br&gt;
It’s not “just RDP.” It’s a platform.&lt;/p&gt;

&lt;h2&gt;
  
  
  The core RDS roles (and why they exist)
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1) RD Session Host (RDSH)&lt;/strong&gt;&lt;br&gt;
Where users actually land. It hosts:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;full session desktops&lt;/li&gt;
&lt;li&gt;RemoteApp programs (published apps)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Think “compute layer for user sessions.”&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2) RD Connection Broker&lt;/strong&gt;&lt;br&gt;
The traffic controller. It:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;routes users to the right Session Host&lt;/li&gt;
&lt;li&gt;reconnects users to existing sessions (huge for stability)&lt;/li&gt;
&lt;li&gt;load balances across hosts&lt;/li&gt;
&lt;li&gt;enables high availability designs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you’re running more than one Session Host, Broker is usually non-optional.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3) RD Web Access&lt;/strong&gt;&lt;br&gt;
The user-facing portal:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;shows published apps/desktops&lt;/li&gt;
&lt;li&gt;provides the RemoteApp feed and .rdp launch experience&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;4) RD Gateway&lt;/strong&gt;&lt;br&gt;
The secure bridge for external access. It:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;tunnels RDP over HTTPS (TCP 443)&lt;/li&gt;
&lt;li&gt;avoids exposing 3389 to the internet&lt;/li&gt;
&lt;li&gt;becomes your “front door” for remote access&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you remember one thing: don’t expose 3389 to the internet. Use Gateway (or a modern secure access layer).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5) RD Licensing&lt;/strong&gt;&lt;br&gt;
RDS requires licensing (RDS CALs). The licensing server:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;issues/tracks CALs&lt;/li&gt;
&lt;li&gt;prevents “it worked for a while and then stopped” surprises&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How an RDS connection really works (the flow)
&lt;/h2&gt;

&lt;p&gt;A typical RemoteApp / desktop connection looks like this:&lt;br&gt;
&lt;strong&gt;1. User launches the connection&lt;/strong&gt;&lt;br&gt;
Remote Desktop client, Web Access, or RemoteApp feed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Authentication happens&lt;/strong&gt;&lt;br&gt;
Usually AD DS-based, sometimes layered with MFA depending on your design.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3.Broker selects a host (if Broker is used)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;reconnect to an existing session if present&lt;/li&gt;
&lt;li&gt;otherwise pick a Session Host based on load/availability&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;4. Gateway tunnels the session (for external users)&lt;/strong&gt;&lt;br&gt;
RDP is encapsulated over HTTPS and forwarded internally.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Session starts on the Session Host&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;profile loads&lt;/li&gt;
&lt;li&gt;GPO applies&lt;/li&gt;
&lt;li&gt;RemoteApp launches (or desktop appears)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;6. Session lifecycle matters&lt;/strong&gt;&lt;br&gt;
Disconnect vs logoff changes resource usage and user experience.&lt;br&gt;
This is why RDS troubleshooting is often multi-layer: identity, gateway, broker, host health, and profiles.&lt;/p&gt;

&lt;h2&gt;
  
  
  Common deployment patterns (and when to use them)
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Pattern A: Single-server RDS&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Everything on one server (often even Gateway/Web).&lt;br&gt;
&lt;strong&gt;Good for:&lt;/strong&gt;Labs, very small teams, temporary setups&lt;br&gt;
&lt;strong&gt;Risk:&lt;/strong&gt;one failure takes everything down, security separation is weak&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pattern B: Session Host farm + Broker&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Multiple Session Hosts, Broker handles routing + reconnection.&lt;br&gt;
&lt;strong&gt;Good for:&lt;/strong&gt; real production&lt;br&gt;
&lt;strong&gt;Benefit:&lt;/strong&gt; scale + stability&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pattern C: High availability (HA)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Broker HA (database-backed)&lt;/li&gt;
&lt;li&gt;multiple Gateway/Web Access servers&lt;/li&gt;
&lt;li&gt;multiple Session Hosts&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Good for&lt;/strong&gt;: environments where downtime is expensive&lt;br&gt;
&lt;strong&gt;Tradeoff:&lt;/strong&gt; more moving parts, more operational discipline required&lt;/p&gt;

&lt;h2&gt;
  
  
  Security hardening: what to fix first (practical priorities)
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1) Stop exposing RDP directly&lt;/strong&gt;&lt;br&gt;
Use RD Gateway (443), VPN, or ZTNA. Direct 3389 exposure is a common breach path.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2) Enforce Network Level Authentication (NLA)&lt;/strong&gt;&lt;br&gt;
NLA reduces attack surface and helps prevent pre-auth abuse.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3) Use strong TLS and valid certificates&lt;/strong&gt;&lt;br&gt;
deploy trusted certs consistently (Gateway/Web/Hosts)&lt;br&gt;
disable weak protocols/ciphers where possible&lt;br&gt;
keep certificate renewal documented (this breaks silently)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4) Add MFA for external access&lt;/strong&gt;&lt;br&gt;
MFA is non-negotiable for internet-facing remote access. Common approaches:&lt;br&gt;
MFA at the Gateway layer (e.g., NPS + MFA extension)&lt;br&gt;
Conditional Access patterns depending on identity architecture&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5) Segment access and reduce blast radius&lt;/strong&gt;&lt;br&gt;
restrict who can access RDS (groups, least privilege)&lt;br&gt;
separate admin access paths&lt;br&gt;
monitor privileged logons and unusual patterns&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6) Patch and monitor like it’s a high-value system&lt;/strong&gt;&lt;br&gt;
Because it is. Track:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;failed logons / brute force attempts&lt;/li&gt;
&lt;li&gt;unusual geographies&lt;/li&gt;
&lt;li&gt;privilege escalation activity&lt;/li&gt;
&lt;li&gt;changes to RDS config and certificates&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The “boring” operational stuff that causes most outages
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Profiles: the silent performance killer&lt;/strong&gt;&lt;br&gt;
Many “RDS is slow” issues are profile issues:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;slow logons&lt;/li&gt;
&lt;li&gt;black screens&lt;/li&gt;
&lt;li&gt;apps failing to launch&lt;/li&gt;
&lt;li&gt;“Please wait…” forever
If profiles live on file shares or containers, storage latency becomes user experience.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Printing and peripherals&lt;/strong&gt;&lt;br&gt;
Printing is a top complaint. The fix is usually:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;driver strategy&lt;/li&gt;
&lt;li&gt;redirection settings&lt;/li&gt;
&lt;li&gt;print server health&lt;/li&gt;
&lt;li&gt;spooler stability on Session Hosts&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Session limits and cleanup&lt;/strong&gt;&lt;br&gt;
Disconnected sessions consume resources. Set policies for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;idle session timeouts&lt;/li&gt;
&lt;li&gt;disconnected session limits&lt;/li&gt;
&lt;li&gt;logoff windows (careful with user impact)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Troubleshooting playbook (symptom → likely cause → what to check)
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Symptom: “User can’t log in”&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Likely causes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;account lockout / password expired&lt;/li&gt;
&lt;li&gt;NLA issues&lt;/li&gt;
&lt;li&gt;licensing limits reached&lt;/li&gt;
&lt;li&gt;Gateway policy mismatch&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Check:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Windows Security logs (failed logons)&lt;/li&gt;
&lt;li&gt;RD Gateway logs&lt;/li&gt;
&lt;li&gt;licensing status&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Symptom: Black screen after login&lt;/strong&gt;&lt;br&gt;
Likely causes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;profile load issues&lt;/li&gt;
&lt;li&gt;GPO/logon scripts hanging&lt;/li&gt;
&lt;li&gt;shell initialization problems&lt;/li&gt;
&lt;li&gt;storage latency to profile location&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Check:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;profile path/permissions&lt;/li&gt;
&lt;li&gt;logon duration&lt;/li&gt;
&lt;li&gt;Session Host CPU/RAM/disk&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Symptom: Apps open slowly or freeze&lt;/strong&gt;&lt;br&gt;
Likely causes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;host resource contention&lt;/li&gt;
&lt;li&gt;disk latency (profiles/app data)&lt;/li&gt;
&lt;li&gt;AV scanning not tuned&lt;/li&gt;
&lt;li&gt;network latency to dependencies&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Check:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;perf counters (CPU/memory/disk queue)&lt;/li&gt;
&lt;li&gt;AV exclusions for profile paths&lt;/li&gt;
&lt;li&gt;network path to file shares/app backends&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Symptom: Random disconnects&lt;/strong&gt;&lt;br&gt;
Likely causes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Gateway timeouts&lt;/li&gt;
&lt;li&gt;firewall idle timeouts&lt;/li&gt;
&lt;li&gt;unstable network paths&lt;/li&gt;
&lt;li&gt;host instability&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Check:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Gateway health + event logs&lt;/li&gt;
&lt;li&gt;firewall/session timeout settings&lt;/li&gt;
&lt;li&gt;host patch level and resource pressure&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  RDS vs modern alternatives (what to consider)
&lt;/h2&gt;

&lt;p&gt;RDS still works—but modernization can reduce risk and operational overhead.&lt;br&gt;
Options to evaluate:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Azure Virtual Desktop (AVD) for cloud-hosted session desktops/apps&lt;/li&gt;
&lt;li&gt;Windows 365 for cloud PCs&lt;/li&gt;
&lt;li&gt;App modernization (web/SaaS replacement)&lt;/li&gt;
&lt;li&gt;ZTNA for secure access without classic VPN patterns&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The right answer depends on app compatibility, latency, compliance, and cost.&lt;/p&gt;

&lt;h2&gt;
  
  
  Next steps (practical)
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Inventory your current RDS roles and single points of failure.&lt;/li&gt;
&lt;li&gt;Confirm your external access posture: Gateway + MFA, no exposed 3389.&lt;/li&gt;
&lt;li&gt;Review Session Host sizing and profile strategy (top cause of “slow RDS”).&lt;/li&gt;
&lt;li&gt;Document a troubleshooting runbook (logon failures, black screens, printing, disconnects).&lt;/li&gt;
&lt;li&gt;Decide whether to optimize RDS or plan a phased move to AVD/Windows 365.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Training path (Eccentrix)
&lt;/h2&gt;

&lt;p&gt;Even without a dedicated “RDS course,” RDS lives inside real Windows Server hybrid administration: identity, networking, security, and operations.&lt;br&gt;
&lt;a href="https://www.eccentrix.ca/formations/microsoft/azure/microsoft-certified-windows-server-hybrid-administrator-associate-az800-801/" rel="noopener noreferrer"&gt;Windows Server Hybrid Administrator Associate (AZ-800/801)&lt;/a&gt;&lt;/p&gt;

</description>
      <category>remotedesktop</category>
      <category>sysadmin</category>
      <category>itoperations</category>
      <category>debugging</category>
    </item>
    <item>
      <title>DP-600 vs DP-700 vs DP-750 vs DP-800: Which Microsoft Data Certification Should You Choose?</title>
      <dc:creator>Boris Gigovic</dc:creator>
      <pubDate>Wed, 29 Jul 2026 21:32:53 +0000</pubDate>
      <link>https://dev.to/borisgigovic/dp-600-vs-dp-700-vs-dp-750-vs-dp-800-which-microsoft-data-certification-should-you-choose-4320</link>
      <guid>https://dev.to/borisgigovic/dp-600-vs-dp-700-vs-dp-750-vs-dp-800-which-microsoft-data-certification-should-you-choose-4320</guid>
      <description>&lt;p&gt;Data certifications evolve fast, and that’s exactly why choosing the right one feels harder than it should.&lt;/p&gt;

&lt;p&gt;Microsoft Fabric is accelerating the convergence between BI, data engineering, and governance. At the same time, SQL + AI is becoming a real differentiator for teams building modern data applications. And for many organizations, Databricks remains the standard for large-scale Spark workloads.&lt;/p&gt;

&lt;p&gt;This guide is designed for one thing: helping you choose the right certification (and the right training) based on your role, your goals, and your technical context.&lt;/p&gt;

&lt;h2&gt;
  
  
  Editor’s note (continuity)
&lt;/h2&gt;

&lt;p&gt;This article extends our dedicated DP-600 vs DP-700 comparison. If you want the deep dive on those two Fabric roles first, &lt;a href="https://www.eccentrix.ca/en/eccentrix-corner/microsoft-fabric-certifications-dp-700-vs-dp-600-choosing-your-data-career-path/" rel="noopener noreferrer"&gt;start here&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  What you’ll learn
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;The real difference between DP-600 (Fabric Analytics Engineer) and DP-700 (Fabric Data Engineer)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;When DP-800 (SQL + AI Developer) is the better move than a Fabric-first track&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;When DP-750 (Databricks Data Engineer) is the best choice (even if you’re considering Fabric)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A simple decision framework: “if you are X / if your organization is Y, choose Z”&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The 60-second decision
&lt;/h2&gt;

&lt;p&gt;Choose:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;DP-600 if you want to own the analytics layer in Fabric (semantic model, BI, metrics, governance).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;DP-700 if you want to own the data engineering layer in Fabric (pipelines, lakehouse, orchestration, reliability).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;DP-800 if your day-to-day is SQL + development + AI (data apps, integration, performance, AI features around SQL).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;DP-750 if your environment is Spark / Databricks-first or you need deep at-scale platform expertise.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why these certifications matter (in real projects)
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1) Fabric reduces time-to-value
&lt;/h3&gt;

&lt;p&gt;Fabric is designed to reduce friction between ingestion, transformation, modeling, analytics, governance, and delivery.&lt;/p&gt;

&lt;p&gt;The practical outcome: teams ship faster with fewer tools and fewer handoffs.&lt;/p&gt;

&lt;h3&gt;
  
  
  2) Teams want hybrid profiles
&lt;/h3&gt;

&lt;p&gt;Roles are converging:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Data Engineers are expected to understand analytics usage.&lt;/li&gt;
&lt;li&gt;Analytics Engineers are expected to understand data constraints.&lt;/li&gt;
&lt;li&gt;SQL developers are expected to integrate AI and governance.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3) The ROI is in delivery, not theory
&lt;/h3&gt;

&lt;p&gt;These certifications map to outcomes that leadership actually cares about:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;better data quality,&lt;/li&gt;
&lt;li&gt;lower operational cost,&lt;/li&gt;
&lt;li&gt;higher BI adoption,&lt;/li&gt;
&lt;li&gt;fewer pipeline incidents,&lt;/li&gt;
&lt;li&gt;faster decisions.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  DP-600 - Fabric Analytics Engineer Associate
&lt;/h2&gt;

&lt;p&gt;Who it’s for&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;BI / Analytics Engineers&lt;/li&gt;
&lt;li&gt;Advanced Power BI profiles&lt;/li&gt;
&lt;li&gt;“Data + business” roles responsible for metrics and semantic modeling&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You’ll like DP-600 if…&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You want to turn data into decisions (not just tables).&lt;/li&gt;
&lt;li&gt;You’re the person who reconciles numbers across teams.&lt;/li&gt;
&lt;li&gt;You want to own the analytics experience end-to-end.
What changes at work&lt;/li&gt;
&lt;li&gt;More reliable dashboards (fewer debates about “which number is correct”).&lt;/li&gt;
&lt;li&gt;Stronger metrics governance.&lt;/li&gt;
&lt;li&gt;Higher BI adoption because the model is consistent and maintainable.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  DP-700 - Fabric Data Engineer Associate
&lt;/h2&gt;

&lt;p&gt;Who it’s for&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Data Engineers focused on ingestion, transformation, and orchestration&lt;/li&gt;
&lt;li&gt;Teams building pipelines, lakehouse, and data products&lt;/li&gt;
&lt;li&gt;People accountable for reliability, freshness, quality, and performance&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You’ll like DP-700 if…&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You build robust flows (not just “make it run once”).&lt;/li&gt;
&lt;li&gt;You work with multiple sources, big volumes, and SLAs.&lt;/li&gt;
&lt;li&gt;You want to be the person who makes data stable and usable.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What changes at work&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;More reliable pipelines (fewer incidents and “data breaks”).&lt;/li&gt;
&lt;li&gt;Better observability.&lt;/li&gt;
&lt;li&gt;Stronger ability to scale and industrialize.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  DP-800 - SQL + AI Developer (Associate)
&lt;/h2&gt;

&lt;p&gt;Who it’s for&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;SQL developers and data application developers&lt;/li&gt;
&lt;li&gt;Profiles combining database engineering + application logic&lt;/li&gt;
&lt;li&gt;Teams modernizing SQL workloads with AI capabilities
When DP-800 is the best choice&lt;/li&gt;
&lt;li&gt;Your work is development-focused, not primarily pipelines.&lt;/li&gt;
&lt;li&gt;You care about SQL performance, design, integration, and security.&lt;/li&gt;
&lt;li&gt;You want a strong differentiator: SQL + AI.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What changes at work&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You ship more modern data applications.&lt;/li&gt;
&lt;li&gt;You understand AI patterns applied to SQL workloads.&lt;/li&gt;
&lt;li&gt;You become more versatile across data + app + AI projects.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  DP-750 - Azure Databricks Data Engineer
&lt;/h2&gt;

&lt;p&gt;Honest positioning: DP-750 (Databricks) is not “Fabric.” It’s the best option if:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Your organization is already Databricks-first.&lt;/li&gt;
&lt;li&gt;You run heavy Spark workloads.&lt;/li&gt;
&lt;li&gt;You need platform-oriented, at-scale data engineering expertise.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Why it belongs in this comparison: Because many organizations compare Fabric and Databricks or use both. The right choice depends on your stack and your direction.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to choose (a clear framework)
&lt;/h2&gt;

&lt;p&gt;If your goal is Analytics &amp;amp; BI at scale, choose DP-600.&lt;/p&gt;

&lt;p&gt;You’ll be credible on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;semantic model,&lt;/li&gt;
&lt;li&gt;metrics governance,&lt;/li&gt;
&lt;li&gt;analytics experience,&lt;/li&gt;
&lt;li&gt;business adoption.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If your goal is reliable, industrialized data engineering, choose DP-700.&lt;/p&gt;

&lt;p&gt;You’ll be credible on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;ingestion and transformation,&lt;/li&gt;
&lt;li&gt;orchestration,&lt;/li&gt;
&lt;li&gt;lakehouse,&lt;/li&gt;
&lt;li&gt;quality and performance.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If your goal is building modern SQL + AI solutions, choose DP-800.&lt;/p&gt;

&lt;p&gt;You’ll be credible on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;SQL engineering,&lt;/li&gt;
&lt;li&gt;application integration,&lt;/li&gt;
&lt;li&gt;AI patterns around SQL,&lt;/li&gt;
&lt;li&gt;optimization and robustness.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If your goal is Spark / large-scale platform data engineering, choose DP-750.&lt;/p&gt;

&lt;p&gt;You’ll be credible on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;platform-oriented data engineering,&lt;/li&gt;
&lt;li&gt;Spark workloads,&lt;/li&gt;
&lt;li&gt;at-scale lakehouse patterns.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Common mistakes (and how to avoid them)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Choosing DP-600 because “it’s more BI” while your job is mostly pipelines → pick DP-700.&lt;/li&gt;
&lt;li&gt;Choosing DP-700 because “data engineering is more technical” while your value is the analytics layer → DP-600 is more aligned.&lt;/li&gt;
&lt;li&gt;Ignoring DP-800 when you’re a SQL/dev profile → you miss a major differentiator (SQL + AI).&lt;/li&gt;
&lt;li&gt;Choosing Databricks by default without checking whether your org is moving toward Fabric → align with the real direction.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Training links (Eccentrix)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.eccentrix.ca/en/courses/microsoft/azure/microsoft-certified-fabric-analytics-engineer-associate-dp600/" rel="noopener noreferrer"&gt;DP-600 (Fabric Analytics Engineer Associate)&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.eccentrix.ca/en/courses/microsoft/azure/microsoft-certified-fabric-data-engineer-associate-dp700/" rel="noopener noreferrer"&gt;DP-700 (Fabric Data Engineer Associate)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.eccentrix.ca/en/courses/microsoft/azure/ms-sql-ai-developer-associate-dp800/" rel="noopener noreferrer"&gt;DP-800 (SQL + AI Developer Associate)&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.eccentrix.ca/en/courses/microsoft/azure/ms-azure-databricks-data-engineer/" rel="noopener noreferrer"&gt;DP-750 (Azure Databricks Data Engineer)&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Is DP-600 easier than DP-700?
&lt;/h3&gt;

&lt;p&gt;Not necessarily. DP-600 is “analytics-layer hard” (semantic modeling, metrics, governance). DP-700 is “engineering-layer hard” (pipelines, orchestration, reliability). Choose based on your role.&lt;/p&gt;

&lt;h3&gt;
  
  
  Can I do DP-600 and DP-700?
&lt;/h3&gt;

&lt;p&gt;Yes—many teams benefit from both skill sets. A common approach is to pick the one that matches your current job, then add the second as you move toward a more hybrid role.&lt;/p&gt;

&lt;h3&gt;
  
  
  Where does DP-800 fit if I’m working with Fabric?
&lt;/h3&gt;

&lt;p&gt;DP-800 is a great fit when your value is in SQL engineering + application integration, especially if you’re building features that combine data + AI.&lt;/p&gt;

&lt;h3&gt;
  
  
  Should I choose Databricks (DP-750) if my company is moving to Fabric?
&lt;/h3&gt;

&lt;p&gt;If the direction is clearly Fabric-first, DP-600/DP-700/DP-800 may align better. If Databricks remains strategic (or you’re Spark-heavy), DP-750 is still a strong investment.&lt;/p&gt;

&lt;h2&gt;
  
  
  What should I do if I’m not sure?
&lt;/h2&gt;

&lt;p&gt;Write down your dominant work for the last 30 days (analytics modeling, pipelines, SQL app dev, Spark platform work). That usually makes the right choice obvious.&lt;/p&gt;

&lt;h2&gt;
  
  
  Your next steps
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Identify your dominant role today (BI/Analytics, Data Engineering, SQL/Dev, Databricks/Spark).&lt;/li&gt;
&lt;li&gt;Choose one primary track (DP-600 or DP-700 or DP-800 or DP-750).&lt;/li&gt;
&lt;li&gt;Reach out for the corresponding training.&lt;/li&gt;
&lt;li&gt;If you’re hesitating, share your role and context (stack, goals, level) and we’ll recommend the best path.&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>microsoftfabric</category>
      <category>certification</category>
      <category>dataanalytics</category>
    </item>
    <item>
      <title>Fileless Malware Explained: What It Is, How It Works, and What It Abuses (Attack Chain + Windows Components)</title>
      <dc:creator>Boris Gigovic</dc:creator>
      <pubDate>Mon, 01 Jun 2026 12:11:05 +0000</pubDate>
      <link>https://dev.to/borisgigovic/fileless-malware-explained-what-it-is-how-it-works-and-what-it-abuses-attack-chain-windows-kd0</link>
      <guid>https://dev.to/borisgigovic/fileless-malware-explained-what-it-is-how-it-works-and-what-it-abuses-attack-chain-windows-kd0</guid>
      <description>&lt;p&gt;Fileless malware isn’t “magic malware that leaves no trace.” It’s a strategy: attackers execute and persist using legitimate tools and in-memory techniques so they can avoid traditional “drop-a-file, scan-a-file” detection.&lt;/p&gt;

&lt;p&gt;If you’re defending Windows environments (or building detections in a SOC), understanding fileless malware means understanding two things at the same time:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The attack chain (how the intrusion progresses end-to-end)&lt;/li&gt;
&lt;li&gt;The components it abuses (PowerShell, WMI, scheduled tasks, registry, LOLBins, memory injection, cloud identity, etc.)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This guide gives you both: a clean mental model, the essential building blocks, and a practical checklist for detection and hardening.&lt;/p&gt;

&lt;h2&gt;
  
  
  What you’ll learn
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;A clear definition of fileless malware (and what it is not)&lt;/li&gt;
&lt;li&gt;The typical fileless attack chain from initial access to impact&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The Windows and Microsoft ecosystem components fileless attacks commonly abuse&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Practical detection ideas and hardening steps you can apply immediately&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  What is fileless malware (really)?
&lt;/h3&gt;

&lt;p&gt;Fileless malware is a technique where malicious activity is executed primarily through:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Memory-resident payloads (code runs in RAM)&lt;/li&gt;
&lt;li&gt;Legitimate system tools (PowerShell, WMI, rundll32, mshta, regsvr32, etc.)&lt;/li&gt;
&lt;li&gt;Script-based execution (PowerShell, JavaScript, VBScript)&lt;/li&gt;
&lt;li&gt;Non-traditional persistence (registry, WMI event subscriptions, scheduled tasks)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal is to reduce or eliminate a traditional malicious executable on disk.&lt;/p&gt;

&lt;h3&gt;
  
  
  What fileless malware is not
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;It’s not “no artifacts.” There are almost always artifacts in logs, memory, registry, event traces, network telemetry, and identity trails.&lt;/li&gt;
&lt;li&gt;It’s not always “no files ever.” Many real-world intrusions are hybrid: initial access may drop something small, then later stages go fileless.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Why fileless techniques work so well
&lt;/h3&gt;

&lt;p&gt;Fileless tradecraft is effective because it:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Blends in with admin behavior (PowerShell and WMI are normal in enterprise)&lt;/li&gt;
&lt;li&gt;Moves faster (no need to compile/deploy a full binary)&lt;/li&gt;
&lt;li&gt;Avoids classic AV patterns (less reliance on known hashes)&lt;/li&gt;
&lt;li&gt;Reduces forensic clarity (payloads live in memory and can disappear after reboot)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That’s why defenders need to think in terms of behavior + telemetry, not just “malicious file found.”&lt;/p&gt;

&lt;h2&gt;
  
  
  The fileless attack chain (end-to-end)
&lt;/h2&gt;

&lt;p&gt;Below is a practical chain you’ll see repeatedly. Not every incident includes every step, but most fileless intrusions follow this shape.&lt;/p&gt;

&lt;h3&gt;
  
  
  1) Initial access (how it starts)
&lt;/h3&gt;

&lt;p&gt;Common entry points:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Phishing leading to credential theft or malicious script execution&lt;/li&gt;
&lt;li&gt;Exploited public-facing app (web server / VPN / appliance)&lt;/li&gt;
&lt;li&gt;Malicious Office document or HTML attachment (often used as a launcher)&lt;/li&gt;
&lt;li&gt;Stolen credentials + MFA fatigue / token theft&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Defender mindset: initial access is often “boring.” The fileless part becomes obvious in step 2–4.&lt;/p&gt;

&lt;h3&gt;
  
  
  2) Execution (how code runs without a classic EXE)
&lt;/h3&gt;

&lt;p&gt;Execution is where fileless techniques shine:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;PowerShell download cradle (fetch + execute in memory)&lt;/li&gt;
&lt;li&gt;mshta / rundll32 / regsvr32 abuse to run script or DLL entry points&lt;/li&gt;
&lt;li&gt;WMI process creation&lt;/li&gt;
&lt;li&gt;Script engines (wscript/cscript)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Key idea: attackers try to execute through trusted binaries.&lt;/p&gt;

&lt;h3&gt;
  
  
  3) Discovery (learning the environment)
&lt;/h3&gt;

&lt;p&gt;Once running, attackers quickly enumerate:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Who am I? Am I admin?&lt;/li&gt;
&lt;li&gt;Domain membership, users, groups&lt;/li&gt;
&lt;li&gt;Security tooling present&lt;/li&gt;
&lt;li&gt;Network shares and high-value hosts&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Discovery is often done via:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;PowerShell cmdlets&lt;/li&gt;
&lt;li&gt;WMI queries&lt;/li&gt;
&lt;li&gt;Native Windows commands (whoami, nltest, net, ipconfig)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  4) Credential access (getting reusable access)
&lt;/h3&gt;

&lt;p&gt;Fileless intrusions frequently aim for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;LSASS credential dumping (often via memory techniques)&lt;/li&gt;
&lt;li&gt;Token theft / session hijacking&lt;/li&gt;
&lt;li&gt;Browser credential extraction&lt;/li&gt;
&lt;li&gt;Kerberos abuse (Pass-the-Ticket / Golden Ticket scenarios in advanced cases)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Defender mindset: credential access is where “one compromised endpoint” becomes “domain-wide incident.”&lt;/p&gt;

&lt;h3&gt;
  
  
  5) Persistence (staying after reboot)
&lt;/h3&gt;

&lt;p&gt;Fileless persistence often avoids dropping a new service binary and instead uses:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Registry Run keys&lt;/li&gt;
&lt;li&gt;Scheduled tasks&lt;/li&gt;
&lt;li&gt;WMI event subscriptions&lt;/li&gt;
&lt;li&gt;Startup folder scripts&lt;/li&gt;
&lt;li&gt;Office template/macros in some environments&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  6) Defense evasion (staying invisible)
&lt;/h3&gt;

&lt;p&gt;Common patterns:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Disabling logging or reducing visibility (where possible)&lt;/li&gt;
&lt;li&gt;Living off the land to avoid suspicious binaries&lt;/li&gt;
&lt;li&gt;Obfuscation of PowerShell and scripts&lt;/li&gt;
&lt;li&gt;Using legitimate remote management tools&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  7) Command and control (C2)
&lt;/h3&gt;

&lt;p&gt;Even fileless malware needs to communicate. Typical C2 traits:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;HTTPS to cloud-like endpoints&lt;/li&gt;
&lt;li&gt;Domain fronting / CDN-like infrastructure&lt;/li&gt;
&lt;li&gt;Beaconing patterns (regular intervals)&lt;/li&gt;
&lt;li&gt;Use of legitimate services for staging (in some cases)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  8) Lateral movement (spreading)
&lt;/h3&gt;

&lt;p&gt;Often done with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Remote PowerShell&lt;/li&gt;
&lt;li&gt;WMI remote execution&lt;/li&gt;
&lt;li&gt;SMB + admin shares&lt;/li&gt;
&lt;li&gt;RDP (especially with stolen creds)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  9) Actions on objectives (impact)
&lt;/h3&gt;

&lt;p&gt;Depending on the actor:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Data theft&lt;/li&gt;
&lt;li&gt;Ransomware deployment (often not fileless at the final step)&lt;/li&gt;
&lt;li&gt;Business email compromise&lt;/li&gt;
&lt;li&gt;Persistence for long-term espionage&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The essential components fileless malware abuses (Windows + Microsoft ecosystem)
&lt;/h2&gt;

&lt;p&gt;Now let’s map the “building blocks.” These are the components defenders should understand because they’re the most commonly abused.&lt;/p&gt;

&lt;h3&gt;
  
  
  A) PowerShell (the #1 fileless workhorse)
&lt;/h3&gt;

&lt;p&gt;Why it’s abused:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Powerful automation language&lt;/li&gt;
&lt;li&gt;Easy to download, decode, and execute payloads&lt;/li&gt;
&lt;li&gt;Common in enterprise administration&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What to watch:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;EncodedCommand usage&lt;/li&gt;
&lt;li&gt;Suspicious parent processes (Office apps launching PowerShell)&lt;/li&gt;
&lt;li&gt;Unusual PowerShell network connections&lt;/li&gt;
&lt;li&gt;Obfuscation patterns&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  B) WMI (Windows Management Instrumentation)
&lt;/h3&gt;

&lt;p&gt;Why it’s abused:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Remote execution and system interrogation&lt;/li&gt;
&lt;li&gt;Can be used for stealthy persistence (WMI event subscriptions)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What to watch:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Unusual WMI consumers/filters&lt;/li&gt;
&lt;li&gt;WMI spawning processes unexpectedly&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  C) LOLBins (Living-Off-The-Land Binaries)
&lt;/h3&gt;

&lt;p&gt;These are legitimate Windows binaries attackers use as launchers.&lt;/p&gt;

&lt;p&gt;Common examples:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;rundll32&lt;/li&gt;
&lt;li&gt;regsvr32&lt;/li&gt;
&lt;li&gt;mshta&lt;/li&gt;
&lt;li&gt;certutil&lt;/li&gt;
&lt;li&gt;bitsadmin (legacy but still seen)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What to watch:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;LOLBins making outbound connections&lt;/li&gt;
&lt;li&gt;LOLBins executing script content or pulling remote payloads&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  D) Script engines (wscript/cscript) and HTA
&lt;/h3&gt;

&lt;p&gt;Why it’s abused:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Executes scripts without compiling binaries&lt;/li&gt;
&lt;li&gt;Often used as a lightweight launcher&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What to watch:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Script execution from user-writable paths&lt;/li&gt;
&lt;li&gt;Office/email client spawning script engines&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  E) Memory injection and process hollowing
&lt;/h3&gt;

&lt;p&gt;This is where “fileless” becomes truly in-memory:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Injecting code into legitimate processes&lt;/li&gt;
&lt;li&gt;Hollowing out a process and replacing memory contents&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What to watch:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Unusual process relationships&lt;/li&gt;
&lt;li&gt;Suspicious access to other processes’ memory&lt;/li&gt;
&lt;li&gt;Security telemetry indicating injection techniques&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  F) Registry (persistence + configuration storage)
&lt;/h3&gt;

&lt;p&gt;Attackers use the registry for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Run keys for persistence&lt;/li&gt;
&lt;li&gt;Storing encoded payloads or configuration&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What to watch:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;New/modified Run keys&lt;/li&gt;
&lt;li&gt;Unusual registry writes by script engines or Office apps&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  G) Scheduled Tasks (simple, reliable persistence)
&lt;/h3&gt;

&lt;p&gt;Why it’s abused:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Built-in, flexible, and often overlooked&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What to watch:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;New tasks created by non-admin contexts&lt;/li&gt;
&lt;li&gt;Tasks executing PowerShell or LOLBins&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  H) Office and browser components (launch + credential theft)
&lt;/h3&gt;

&lt;p&gt;Office and browsers are common:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Office apps as initial launchers&lt;/li&gt;
&lt;li&gt;Browser sessions/tokens as credential targets&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What to watch:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Office spawning PowerShell, cmd, wscript&lt;/li&gt;
&lt;li&gt;Unusual browser data access patterns&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  I) Identity and cloud tokens (modern “fileless” expansion)
&lt;/h3&gt;

&lt;p&gt;Some intrusions are “fileless” in the sense that the attacker doesn’t need malware at all, they use:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Stolen session tokens&lt;/li&gt;
&lt;li&gt;OAuth app abuse&lt;/li&gt;
&lt;li&gt;MFA fatigue&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What to watch:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Impossible travel&lt;/li&gt;
&lt;li&gt;Unusual OAuth consent grants&lt;/li&gt;
&lt;li&gt;High-risk sign-ins&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Detection and prevention checklist (practical)
&lt;/h2&gt;

&lt;p&gt;Here’s a pragmatic checklist you can use whether you’re an analyst, an engineer, or a security lead.&lt;/p&gt;

&lt;h3&gt;
  
  
  Visibility (you can’t detect what you can’t see)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Ensure PowerShell logging is enabled where appropriate (script block logging, module logging)&lt;/li&gt;
&lt;li&gt;Collect process creation events and command-line telemetry&lt;/li&gt;
&lt;li&gt;Centralize Windows event logs into your SIEM&lt;/li&gt;
&lt;li&gt;Monitor identity events (sign-ins, conditional access, risky users)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Detection ideas (behavior-based)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Office app  PowerShell chain&lt;/li&gt;
&lt;li&gt;Encoded PowerShell commands&lt;/li&gt;
&lt;li&gt;LOLBins making outbound network connections&lt;/li&gt;
&lt;li&gt;New scheduled tasks executing scripts&lt;/li&gt;
&lt;li&gt;WMI persistence artifacts&lt;/li&gt;
&lt;li&gt;Suspicious parent/child process trees&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Hardening (reduce attack surface)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Constrain PowerShell where possible (least privilege, restrict legacy versions)&lt;/li&gt;
&lt;li&gt;Restrict script execution policies in high-risk contexts&lt;/li&gt;
&lt;li&gt;Reduce local admin usage&lt;/li&gt;
&lt;li&gt;Apply application control where feasible n- Patch aggressively (initial access often comes from known vulnerabilities)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Common mistakes when explaining or defending against fileless malware
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Over-focusing on “no files.” The better lens is “abuse of trusted tools + in-memory execution.”&lt;/li&gt;
&lt;li&gt;Assuming it’s undetectable. It’s detectablebut you need the right telemetry.&lt;/li&gt;
&lt;li&gt;Treating every PowerShell use as malicious. You need baselines and context.&lt;/li&gt;
&lt;li&gt;Skipping identity. Modern attacks can be “fileless” via tokens and OAuth.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Actionable next steps
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Pick your top 5 suspicious process chains to monitor (Office  PowerShell is usually #1).&lt;/li&gt;
&lt;li&gt;Validate you’re collecting command-line telemetry and PowerShell logs.&lt;/li&gt;
&lt;li&gt;Create a small set of SOC detections for LOLBins + outbound connections.&lt;/li&gt;
&lt;li&gt;Review persistence mechanisms: scheduled tasks, registry run keys, WMI subscriptions.&lt;/li&gt;
&lt;li&gt;Run a tabletop exercise: “What would we do if we saw fileless behavior on a domain-joined endpoint?”&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Recommended training (ethical hacking + real-world detection mindset)
&lt;/h2&gt;

&lt;p&gt;If you want a structured, hands-on way to understand attacker techniques (including living-off-the-land behavior and post-exploitation tradecraft), the &lt;a&gt;Certified Ethical Hacker (CEH v13) course&lt;/a&gt; is a strong fit.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Is fileless malware only a Windows problem?
&lt;/h3&gt;

&lt;p&gt;No, but Windows environments are common targets because of the rich ecosystem of built-in administration tools and scripting.&lt;/p&gt;

&lt;h3&gt;
  
  
  Does fileless malware always use PowerShell?
&lt;/h3&gt;

&lt;p&gt;Not always, but PowerShell is one of the most common execution and discovery tools in fileless tradecraft.&lt;/p&gt;

&lt;h3&gt;
  
  
  Can EDR detect fileless malware?
&lt;/h3&gt;

&lt;p&gt;Yes, especially when it captures process trees, command lines, memory behaviors, and suspicious parent/child relationships.&lt;/p&gt;

&lt;h3&gt;
  
  
  What’s the fastest way to reduce risk?
&lt;/h3&gt;

&lt;p&gt;Improve visibility (logs + telemetry), reduce local admin, harden scripting, and monitor the most common suspicious execution chains.&lt;/p&gt;

</description>
      <category>filelessmalware</category>
      <category>computerthreats</category>
      <category>attackchain</category>
      <category>computersecurity</category>
    </item>
    <item>
      <title>From Cloud Engineer to Architect: Building the Right Skill Stack</title>
      <dc:creator>Boris Gigovic</dc:creator>
      <pubDate>Wed, 18 Feb 2026 10:08:12 +0000</pubDate>
      <link>https://dev.to/borisgigovic/from-cloud-engineer-to-architect-building-the-right-skill-stack-6no</link>
      <guid>https://dev.to/borisgigovic/from-cloud-engineer-to-architect-building-the-right-skill-stack-6no</guid>
      <description>&lt;p&gt;The jump from cloud engineer to architect isn't about learning more tools. It's about learning to think differently.&lt;/p&gt;

&lt;p&gt;An engineer asks: &lt;strong&gt;"How do I deploy this workload?"&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
An architect asks: &lt;strong&gt;"Should we deploy this workload? Where? At what cost? What happens when it fails?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That shift in perspective—from execution to strategy—is what separates the two roles. And it's learnable.&lt;/p&gt;

&lt;h2&gt;
  
  
  What you'll learn in this guide
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;The mindset shift from engineer to architect&lt;/li&gt;
&lt;li&gt;The three decision domains architects own&lt;/li&gt;
&lt;li&gt;A realistic progression path (with certifications as milestones, not destinations)&lt;/li&gt;
&lt;li&gt;Common pitfalls when making the jump&lt;/li&gt;
&lt;li&gt;How to start thinking like an architect today&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The architect's three decision domains
&lt;/h2&gt;

&lt;p&gt;Architects operate in three overlapping domains: &lt;strong&gt;business alignment&lt;/strong&gt;, &lt;strong&gt;technical design&lt;/strong&gt;, and &lt;strong&gt;operational resilience&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Domain 1: Business Alignment
&lt;/h3&gt;

&lt;p&gt;Engineers optimize for technical correctness. Architects optimize for business outcomes.&lt;/p&gt;

&lt;p&gt;This means understanding:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Cost trade-offs (fast vs. cheap vs. reliable—pick two)&lt;/li&gt;
&lt;li&gt;Time-to-market (sometimes "good enough now" beats "perfect later")&lt;/li&gt;
&lt;li&gt;Compliance and regulatory constraints (not just technical requirements)&lt;/li&gt;
&lt;li&gt;Vendor lock-in and exit strategies&lt;/li&gt;
&lt;li&gt;Organizational capabilities (can your team operate this architecture?)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;An engineer sees a multi-region deployment as "more resilient."&lt;br&gt;&lt;br&gt;
An architect sees it as "30% cost increase for 0.01% uptime improvement—not worth it for this workload."&lt;/p&gt;

&lt;h3&gt;
  
  
  Domain 2: Technical Design
&lt;/h3&gt;

&lt;p&gt;This is where engineers and architects overlap, but architects think at a higher level of abstraction.&lt;/p&gt;

&lt;p&gt;Engineers design components. Architects design systems.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Component design: "How do I configure this load balancer?"&lt;/li&gt;
&lt;li&gt;System design: "How do load balancers, databases, caches, and message queues work together to handle 10x traffic growth?"&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Architects must understand:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Scalability patterns (horizontal vs. vertical, stateless vs. stateful)&lt;/li&gt;
&lt;li&gt;Failure modes (what breaks first? how do we detect it? how do we recover?)&lt;/li&gt;
&lt;li&gt;Data flow and consistency models (eventual consistency vs. strong consistency trade-offs)&lt;/li&gt;
&lt;li&gt;Security boundaries and trust models (where do we encrypt? where do we authenticate?)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Domain 3: Operational Resilience
&lt;/h3&gt;

&lt;p&gt;A beautiful design that nobody can operate is a disaster.&lt;/p&gt;

&lt;p&gt;Architects must ensure:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Observability (can we see what's happening?)&lt;/li&gt;
&lt;li&gt;Runbooks and automation (can we respond to incidents quickly?)&lt;/li&gt;
&lt;li&gt;Disaster recovery (can we recover from catastrophic failure?)&lt;/li&gt;
&lt;li&gt;Cost optimization (are we wasting money on unused resources?)&lt;/li&gt;
&lt;li&gt;Team capability (can our team maintain this over time?)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The progression path (realistic timeline)
&lt;/h2&gt;

&lt;p&gt;This isn't a linear journey. You'll cycle through these phases multiple times as you grow.&lt;/p&gt;

&lt;h3&gt;
  
  
  Phase 1: Foundation (6–12 months)
&lt;/h3&gt;

&lt;p&gt;You're comfortable deploying and managing cloud infrastructure. You understand networking, storage, compute basics.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Milestone:&lt;/strong&gt; AZ-104 (Azure Administrator) or equivalent. You can provision resources, manage identities, handle basic troubleshooting.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What to focus on:&lt;/strong&gt; Build breadth. Understand how different services interact. Deploy multi-tier applications. Experience failure (intentionally break things in non-prod).&lt;/p&gt;

&lt;h3&gt;
  
  
  Phase 2: Specialization (12–18 months)
&lt;/h3&gt;

&lt;p&gt;You're diving deep into a specific domain: data, security, infrastructure, or applications.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Milestone:&lt;/strong&gt; AZ-305 (Azure Solutions Architect Expert) or domain-specific cert (AZ-500 for security, DP-300 for data, etc.).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What to focus on:&lt;/strong&gt; Design decisions. Why do we choose this architecture over that one? What are the trade-offs? Start documenting your decisions (architecture decision records—ADRs).&lt;/p&gt;

&lt;h3&gt;
  
  
  Phase 3: Systems Thinking (18–24 months)
&lt;/h3&gt;

&lt;p&gt;You're designing across domains. You understand how security decisions impact performance, how cost optimization affects reliability, how organizational structure influences architecture.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Milestone:&lt;/strong&gt; No single cert covers this. You're reading architecture patterns, attending conferences, mentoring junior engineers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What to focus on:&lt;/strong&gt; Business impact. Learn about your organization's financials, roadmap, competitive landscape. Understand why certain architectural decisions were made (or weren't).&lt;/p&gt;

&lt;h3&gt;
  
  
  Phase 4: Leadership (24+ months)
&lt;/h3&gt;

&lt;p&gt;You're influencing strategy. You're making decisions that affect the entire platform, not just individual projects.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Milestone:&lt;/strong&gt; You might pursue TOGAF (The Open Group Architecture Framework) or industry-specific certifications. But mostly, you're recognized as a trusted advisor.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What to focus on:&lt;/strong&gt; People and process. How do we make better architectural decisions as a team? How do we avoid repeating mistakes? How do we balance innovation with stability?&lt;/p&gt;

&lt;h2&gt;
  
  
  How to start thinking like an architect today
&lt;/h2&gt;

&lt;p&gt;You don't need to wait for promotions or certifications. Start now.&lt;/p&gt;

&lt;h3&gt;
  
  
  Practice 1: Ask "why" three times
&lt;/h3&gt;

&lt;p&gt;When you're designing a solution, ask why three times:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"Why are we using this service?" → "Because it scales automatically."&lt;/li&gt;
&lt;li&gt;"Why do we need auto-scaling?" → "Because traffic is unpredictable."&lt;/li&gt;
&lt;li&gt;"Why is traffic unpredictable?" → "Because we don't have demand forecasting."&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The third answer often reveals the real problem. Maybe the solution isn't auto-scaling—it's better demand forecasting.&lt;/p&gt;

&lt;h3&gt;
  
  
  Practice 2: Document trade-offs
&lt;/h3&gt;

&lt;p&gt;Every architectural decision has trade-offs. Document them:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What did we choose?&lt;/li&gt;
&lt;li&gt;What did we reject?&lt;/li&gt;
&lt;li&gt;Why?&lt;/li&gt;
&lt;li&gt;What assumptions are we making?&lt;/li&gt;
&lt;li&gt;When will we revisit this decision?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This forces you to think like an architect: considering alternatives, not just implementing the first idea.&lt;/p&gt;

&lt;h3&gt;
  
  
  Practice 3: Estimate cost and operational overhead
&lt;/h3&gt;

&lt;p&gt;Before proposing a solution, estimate:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Monthly cost (compute, storage, data transfer, licenses)&lt;/li&gt;
&lt;li&gt;Operational overhead (how many people to run this? how much on-call burden?)&lt;/li&gt;
&lt;li&gt;Time to implement&lt;/li&gt;
&lt;li&gt;Time to maintain&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Suddenly, that "elegant" multi-region setup with custom monitoring becomes less attractive when you realize it costs $50k/month and requires two full-time engineers.&lt;/p&gt;

&lt;h3&gt;
  
  
  Practice 4: Simulate failure
&lt;/h3&gt;

&lt;p&gt;Architects must think about failure modes. Run chaos engineering experiments:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Kill a database replica. Can the system recover?&lt;/li&gt;
&lt;li&gt;Simulate network latency. Does the application timeout?&lt;/li&gt;
&lt;li&gt;Fill up storage. What happens?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This reveals architectural weaknesses before they become production incidents.&lt;/p&gt;

&lt;h2&gt;
  
  
  Common pitfalls when making the jump
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Pitfall 1: Over-engineering for hypothetical scenarios
&lt;/h3&gt;

&lt;p&gt;"What if we need to scale to 1 million users?" → Multi-region, auto-scaling, caching layers, message queues.&lt;/p&gt;

&lt;p&gt;Reality: You have 10k users. You're spending $100k/month on infrastructure you don't need.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Architect's mindset:&lt;/strong&gt; Build for today's requirements. Design for tomorrow's flexibility. Don't build for next year's fantasy.&lt;/p&gt;

&lt;h3&gt;
  
  
  Pitfall 2: Ignoring operational reality
&lt;/h3&gt;

&lt;p&gt;You design a beautiful microservices architecture. Then you realize your team has never managed Kubernetes. Now you're spending 50% of your time on operational firefighting instead of new features.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Architect's mindset:&lt;/strong&gt; Design for your team's capabilities. If they're not ready for Kubernetes, use managed services instead. Reduce operational complexity.&lt;/p&gt;

&lt;h3&gt;
  
  
  Pitfall 3: Treating cost as someone else's problem
&lt;/h3&gt;

&lt;p&gt;"The finance team will figure out the budget."&lt;/p&gt;

&lt;p&gt;Architects own cost. You should know:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How much each service costs&lt;/li&gt;
&lt;li&gt;Where money is being wasted&lt;/li&gt;
&lt;li&gt;How to optimize without sacrificing reliability&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Pitfall 4: Making decisions in isolation
&lt;/h3&gt;

&lt;p&gt;You design a security architecture without talking to the ops team. They can't implement it. You design a data architecture without talking to the app team. It doesn't fit their use case.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Architect's mindset:&lt;/strong&gt; Design with stakeholders. Understand constraints. Get buy-in early.&lt;/p&gt;

&lt;h2&gt;
  
  
  Real scenario: the junior engineer's first architecture decision
&lt;/h2&gt;

&lt;p&gt;A junior engineer proposes a multi-region setup for a B2B SaaS application. The proposal includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Two Azure regions (East US, West Europe)&lt;/li&gt;
&lt;li&gt;Active-active database replication&lt;/li&gt;
&lt;li&gt;Global load balancer&lt;/li&gt;
&lt;li&gt;Estimated cost: $80k/month&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The architect asks:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"What problem are we solving?" → "High availability."&lt;/li&gt;
&lt;li&gt;"What's our current uptime?" → "99.5% (4.4 hours downtime/year)."&lt;/li&gt;
&lt;li&gt;"What uptime do customers require?" → "99.5%."&lt;/li&gt;
&lt;li&gt;"So we're solving a non-problem?"&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Further conversation reveals:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Customers are mostly in US (90%)&lt;/li&gt;
&lt;li&gt;They'd accept 99.5% uptime&lt;/li&gt;
&lt;li&gt;They're price-sensitive&lt;/li&gt;
&lt;li&gt;The org can't afford $80k/month&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The architect proposes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Single region (East US)&lt;/li&gt;
&lt;li&gt;Database backup to secondary region (not active-active)&lt;/li&gt;
&lt;li&gt;Estimated cost: $15k/month&lt;/li&gt;
&lt;li&gt;Uptime: 99.5% (same as requirement)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The junior engineer learns: elegance ≠ correctness. Correctness = meeting requirements at acceptable cost.&lt;/p&gt;

&lt;h2&gt;
  
  
  Actionable next steps
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Start documenting decisions: For your next project, write down the architecture, alternatives considered, and trade-offs.&lt;/li&gt;
&lt;li&gt;Learn cost estimation: Understand the pricing model of your cloud provider. Estimate costs for your designs.&lt;/li&gt;
&lt;li&gt;Run a failure scenario: Pick one critical system. Simulate a failure. Document what breaks and how you'd recover.&lt;/li&gt;
&lt;li&gt;Interview an architect: Ask them about their decision-making process. What do they consider? What do they optimize for?&lt;/li&gt;
&lt;li&gt;Read one architecture pattern: Pick a pattern (CQRS, event sourcing, strangler fig). Understand when it applies and when it doesn't.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Recommended certifications and learning paths
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;AZ-104 (Azure Administrator):&lt;/strong&gt; Foundation. You can provision and manage resources. Prerequisite for everything else.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AZ-305 (Azure Solutions Architect Expert):&lt;/strong&gt; The core architect cert. Design decisions, trade-offs, multi-service solutions. This is where you start thinking like an architect.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Domain-specific certs:&lt;/strong&gt; After AZ-305, pick a domain:

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://www.eccentrix.ca/en/courses/microsoft/security/microsoft-certified-azure-security-engineer-associate-az500/" rel="noopener noreferrer"&gt;AZ-500 (Security)&lt;/a&gt;:&lt;/strong&gt; If you're designing secure architectures&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://www.eccentrix.ca/en/courses/microsoft/azure/microsoft-certified-azure-database-administrator-associate-dp300/" rel="noopener noreferrer"&gt;DP-300 (Data)&lt;/a&gt;:&lt;/strong&gt; If you're designing data platforms&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://www.eccentrix.ca/en/courses/microsoft/azure/microsoft-certified-azure-developer-associate-az204/" rel="noopener noreferrer"&gt;AZ-204 (Developer)&lt;/a&gt;:&lt;/strong&gt; If you're designing for application teams&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;TOGAF (The Open Group Architecture Framework):&lt;/strong&gt; Advanced. Enterprise-level architecture governance and frameworks. Not cloud-specific, but valuable for understanding architecture as a discipline.&lt;/li&gt;

&lt;/ul&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Do I need to be a developer to be a cloud architect?
&lt;/h3&gt;

&lt;p&gt;Not necessarily, but it helps. You need to understand application constraints (latency, throughput, consistency). You don't need to write code, but you should understand how code runs on your infrastructure.&lt;/p&gt;

&lt;h3&gt;
  
  
  How long does it take to become a cloud architect?
&lt;/h3&gt;

&lt;p&gt;Depends on your starting point. If you're already an engineer: 2–3 years to be competent, 5+ years to be expert. If you're starting from scratch: 4–5 years minimum.&lt;/p&gt;

&lt;h3&gt;
  
  
  Should I get certified before I can call myself an architect?
&lt;/h3&gt;

&lt;p&gt;Certifications validate knowledge, but they don't make you an architect. You become an architect through experience, decision-making, and mentorship. Certifications are milestones, not destinations.&lt;/p&gt;

&lt;h3&gt;
  
  
  What's the difference between a solutions architect and an infrastructure architect?
&lt;/h3&gt;

&lt;p&gt;Solutions architects focus on customer problems and how to solve them with technology. Infrastructure architects focus on the platform that runs solutions. Both are architects; different domains.&lt;/p&gt;

&lt;h3&gt;
  
  
  How do I stay current with cloud architecture trends?
&lt;/h3&gt;

&lt;p&gt;Read architecture blogs (AWS Architecture Blog, Azure Architecture Center). Attend conferences. Join communities. Most importantly: build things. Theory without practice is useless.&lt;/p&gt;

</description>
      <category>cloud</category>
      <category>az500</category>
      <category>sc300</category>
      <category>security</category>
    </item>
    <item>
      <title>Data Engineer Career Progression: A Practical Roadmap (SQL Modern Analytics Engineering)</title>
      <dc:creator>Boris Gigovic</dc:creator>
      <pubDate>Wed, 11 Feb 2026 11:48:39 +0000</pubDate>
      <link>https://dev.to/borisgigovic/data-engineer-career-progression-a-practical-roadmap-sql-modern-analytics-engineering-c48</link>
      <guid>https://dev.to/borisgigovic/data-engineer-career-progression-a-practical-roadmap-sql-modern-analytics-engineering-c48</guid>
      <description>&lt;p&gt;Data engineering used to mean one thing: build pipelines, move data, keep the warehouse alive.&lt;/p&gt;

&lt;p&gt;In 2026, the role sits at the center of decision-making. You’re expected to deliver reliable data products, enable self-service analytics, support AI initiatives, and still keep costs and governance under control. That’s why “I know SQL and Python” is no longer a career plan—it’s just the starting line.&lt;/p&gt;

&lt;h2&gt;
  
  
  What you’ll learn in this guide
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;What a data engineer actually owns in 2026&lt;/li&gt;
&lt;li&gt;A realistic progression path (junior → mid → senior)&lt;/li&gt;
&lt;li&gt;What to build at each stage to prove competence&lt;/li&gt;
&lt;li&gt;Common mistakes that stall careers (and how to avoid them)&lt;/li&gt;
&lt;li&gt;Actionable next steps + recommended training&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What a data engineer actually does in 2026
&lt;/h2&gt;

&lt;p&gt;A modern data engineer is responsible for &lt;strong&gt;data reliability, data availability, and data usability&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;That typically includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Building ingestion and transformation pipelines&lt;/li&gt;
&lt;li&gt;Designing data models for analytics (not just storage)&lt;/li&gt;
&lt;li&gt;Implementing orchestration, monitoring, and data quality checks&lt;/li&gt;
&lt;li&gt;Managing cost/performance tradeoffs&lt;/li&gt;
&lt;li&gt;Enforcing governance: access, lineage, retention, and compliance&lt;/li&gt;
&lt;li&gt;Enabling downstream users: analysts, BI developers, data scientists, product teams&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In other words: you’re not just moving data. You’re building &lt;em&gt;data products&lt;/em&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Who this roadmap is for (and who it’s not)
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Best fit
&lt;/h3&gt;

&lt;p&gt;This roadmap is for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Junior data engineers and analysts moving into engineering&lt;/li&gt;
&lt;li&gt;Software engineers transitioning into data&lt;/li&gt;
&lt;li&gt;BI developers who want to own pipelines and models&lt;/li&gt;
&lt;li&gt;Data engineers aiming for senior/staff roles&lt;/li&gt;
&lt;li&gt;IT teams building a modern analytics platform&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Not ideal (yet)
&lt;/h3&gt;

&lt;p&gt;It’s too early if:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You’re still learning basic SQL joins and aggregations&lt;/li&gt;
&lt;li&gt;You’ve never built a pipeline end-to-end&lt;/li&gt;
&lt;li&gt;You’re not comfortable with at least one scripting language&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If that’s you, start with SQL fundamentals + basic Python + one cloud data service, then come back.&lt;/p&gt;

&lt;h2&gt;
  
  
  The progression roadmap (skills + proof)
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Stage 1 — Foundations (0–12 months): “I can work with data”
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Goal:&lt;/strong&gt; become dangerous with the basics.&lt;/p&gt;

&lt;p&gt;Core skills:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;SQL: joins, window functions, CTEs, query tuning basics&lt;/li&gt;
&lt;li&gt;Data modeling fundamentals: facts/dimensions, grain, keys&lt;/li&gt;
&lt;li&gt;Python (or another language): files, APIs, data structures&lt;/li&gt;
&lt;li&gt;Git basics: branching, PRs, code review habits&lt;/li&gt;
&lt;li&gt;Basic cloud literacy: storage, compute, IAM concepts&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What to build (portfolio proof):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A small ELT pipeline (API → storage → warehouse/lakehouse)&lt;/li&gt;
&lt;li&gt;A clean star schema for a simple analytics use case&lt;/li&gt;
&lt;li&gt;A basic dashboard fed by your model&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What hiring managers look for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You can explain &lt;em&gt;why&lt;/em&gt; a model is designed a certain way&lt;/li&gt;
&lt;li&gt;You understand data types, nulls, and edge cases&lt;/li&gt;
&lt;li&gt;You can write readable SQL and test assumptions&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Stage 2 — Production-ready (1–3 years): “I can run pipelines”
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Goal:&lt;/strong&gt; build systems that don’t break at 2 a.m.&lt;/p&gt;

&lt;p&gt;Core skills:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Orchestration: scheduling, retries, dependencies&lt;/li&gt;
&lt;li&gt;Data quality: checks, SLAs, anomaly detection&lt;/li&gt;
&lt;li&gt;Performance: partitioning, clustering, incremental loads&lt;/li&gt;
&lt;li&gt;CI/CD for data: linting, tests, deployments&lt;/li&gt;
&lt;li&gt;Security basics: least privilege, secrets management&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What to build (portfolio proof):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A pipeline with monitoring + alerting + backfills&lt;/li&gt;
&lt;li&gt;Incremental models (slowly changing dimensions, CDC patterns)&lt;/li&gt;
&lt;li&gt;A documented dataset with clear ownership and definitions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What hiring managers look for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You can debug failures and design for resilience&lt;/li&gt;
&lt;li&gt;You understand idempotency and backfill strategy&lt;/li&gt;
&lt;li&gt;You can communicate incidents and remediation clearly&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Stage 3 — Platform ownership (3–6+ years): “I build the data platform”
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Goal:&lt;/strong&gt; own architecture, governance, and scale.&lt;/p&gt;

&lt;p&gt;Core skills:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Architecture: lakehouse vs warehouse, batch vs streaming&lt;/li&gt;
&lt;li&gt;Cost management: FinOps for data (usage patterns, optimization)&lt;/li&gt;
&lt;li&gt;Governance: lineage, cataloging, retention, compliance&lt;/li&gt;
&lt;li&gt;Domain modeling: data products, mesh principles (when appropriate)&lt;/li&gt;
&lt;li&gt;Stakeholder leadership: roadmaps, prioritization, standards&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What to build (portfolio proof):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A platform blueprint: standards, patterns, reference architectures&lt;/li&gt;
&lt;li&gt;A governance model: access, classification, retention, auditability&lt;/li&gt;
&lt;li&gt;A self-service layer: curated datasets + documentation + enablement&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What hiring managers look for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You can balance speed vs reliability vs cost&lt;/li&gt;
&lt;li&gt;You can set standards and influence teams&lt;/li&gt;
&lt;li&gt;You can design for auditability and long-term maintainability&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What to build to level up faster (the “proof projects” list)
&lt;/h2&gt;

&lt;p&gt;If you want one list to guide your next 90 days, build these:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A pipeline with &lt;strong&gt;data quality tests&lt;/strong&gt; and &lt;strong&gt;alerts&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;A model with a clear &lt;strong&gt;grain&lt;/strong&gt; and documented definitions&lt;/li&gt;
&lt;li&gt;A “data contract” style spec (inputs, outputs, SLAs)&lt;/li&gt;
&lt;li&gt;A cost/performance optimization write-up (before/after)&lt;/li&gt;
&lt;li&gt;A short incident postmortem template (even if simulated)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These projects signal senior potential because they show operational thinking.&lt;/p&gt;

&lt;h2&gt;
  
  
  Common mistakes that stall data engineering careers
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Mistake 1: treating SQL as “done”
&lt;/h3&gt;

&lt;p&gt;SQL is a career-long tool. The difference between mid and senior is often query design, performance intuition, and modeling clarity.&lt;/p&gt;

&lt;h3&gt;
  
  
  Mistake 2: building pipelines without observability
&lt;/h3&gt;

&lt;p&gt;If you can’t detect failures quickly, you’re not running production—you’re hoping.&lt;/p&gt;

&lt;h3&gt;
  
  
  Mistake 3: ignoring data modeling
&lt;/h3&gt;

&lt;p&gt;Pipelines move data. Models make it usable. Senior engineers obsess over semantics, not just ingestion.&lt;/p&gt;

&lt;h3&gt;
  
  
  Mistake 4: overengineering too early
&lt;/h3&gt;

&lt;p&gt;Not every use case needs streaming, microservices, or a complex mesh. Build what the business can operate.&lt;/p&gt;

&lt;h3&gt;
  
  
  Mistake 5: avoiding stakeholder communication
&lt;/h3&gt;

&lt;p&gt;Your work is only valuable if it’s trusted and adopted. Learn to explain tradeoffs and set expectations.&lt;/p&gt;

&lt;h2&gt;
  
  
  Mini case study: from “report chaos” to a reliable analytics layer
&lt;/h2&gt;

&lt;p&gt;A team had dozens of dashboards pulling directly from raw tables. Metrics didn’t match. Every change broke something.&lt;/p&gt;

&lt;p&gt;They introduced:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A curated semantic model (one source of truth)&lt;/li&gt;
&lt;li&gt;Incremental pipelines with monitoring&lt;/li&gt;
&lt;li&gt;Data quality checks for critical KPIs&lt;/li&gt;
&lt;li&gt;A simple governance rule: every dataset has an owner and SLA&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Within one quarter, dashboard reliability improved, stakeholders trusted numbers again, and engineering time shifted from firefighting to new value.&lt;/p&gt;

&lt;h2&gt;
  
  
  Actionable next steps
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Pick one domain (sales, finance, product) and build a clean model end-to-end.&lt;/li&gt;
&lt;li&gt;Add monitoring and data quality checks to one pipeline.&lt;/li&gt;
&lt;li&gt;Document one dataset as if you’re handing it to a new analyst tomorrow.&lt;/li&gt;
&lt;li&gt;Track one cost/performance improvement and write it up.&lt;/li&gt;
&lt;li&gt;Ask for ownership of a small “data product” with a clear SLA.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Recommended certification &amp;amp; training path
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://eccentrix-eu.com/courses/microsoft/azure/fabric-analytics-training/" rel="noopener noreferrer"&gt;Microsoft Certified: Fabric Analytics Engineer Associate (DP600)&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="https://eccentrix-eu.com/courses/microsoft/azure/fabric-data-engineer-training/" rel="noopener noreferrer"&gt;Microsoft Certified: Fabric Data Engineer Associate (DP700)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Do I need to be a software engineer to become a data engineer?
&lt;/h3&gt;

&lt;p&gt;No. But you do need engineering habits: version control, testing, reliability thinking, and the ability to automate.&lt;/p&gt;

&lt;h3&gt;
  
  
  What’s more important: tools or fundamentals?
&lt;/h3&gt;

&lt;p&gt;Fundamentals. Tools change quickly. SQL, modeling, reliability, and governance principles stay relevant.&lt;/p&gt;

&lt;h3&gt;
  
  
  Should I learn streaming early?
&lt;/h3&gt;

&lt;p&gt;Only if your use cases require it. Most early-career roles are batch-heavy. Learn streaming once you can run batch pipelines reliably.&lt;/p&gt;

&lt;h3&gt;
  
  
  What’s the fastest way to move from mid to senior?
&lt;/h3&gt;

&lt;p&gt;Own reliability: monitoring, SLAs, data quality, incident response, and cost/performance optimization.&lt;/p&gt;

&lt;h3&gt;
  
  
  How do I prove my skills without work experience?
&lt;/h3&gt;

&lt;p&gt;Build one end-to-end project with documentation, tests, and monitoring. Treat it like production.&lt;/p&gt;

&lt;h3&gt;
  
  
  What’s the biggest reason data platforms fail?
&lt;/h3&gt;

&lt;p&gt;Lack of governance and ownership. Without clear definitions, owners, and SLAs, trust collapses.&lt;/p&gt;

</description>
      <category>dataengineering</category>
      <category>sql</category>
      <category>cloud</category>
      <category>analytics</category>
    </item>
    <item>
      <title>Compliance &amp; Governance Path: A Practical Roadmap to Stay Audit-Ready (Without the Panic)</title>
      <dc:creator>Boris Gigovic</dc:creator>
      <pubDate>Mon, 09 Feb 2026 15:14:29 +0000</pubDate>
      <link>https://dev.to/borisgigovic/compliance-governance-path-a-practical-roadmap-to-stay-audit-ready-without-the-panic-1agh</link>
      <guid>https://dev.to/borisgigovic/compliance-governance-path-a-practical-roadmap-to-stay-audit-ready-without-the-panic-1agh</guid>
      <description>&lt;p&gt;Compliance isn’t something you “do before the audit” anymore. Customers, regulators, and partners expect you to operate it continuously.&lt;/p&gt;

&lt;p&gt;If you’ve ever been in that pre-audit scramble—chasing evidence, updating policies, asking teams to confirm controls they haven’t touched in months—you already know the real issue: most organizations don’t fail audits because they lack policies. They fail because policies aren’t operational.&lt;/p&gt;

&lt;p&gt;This guide is a practical roadmap to turn compliance and governance into a system you can run every week—so audits become verification, not firefighting.&lt;/p&gt;

&lt;h3&gt;
  
  
  What you’ll learn
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;The real difference between compliance and governance&lt;/li&gt;
&lt;li&gt;A staged roadmap: foundations → implementation → audit readiness → continuous improvement&lt;/li&gt;
&lt;li&gt;A minimum control baseline you can start with&lt;/li&gt;
&lt;li&gt;Evidence habits that eliminate audit panic&lt;/li&gt;
&lt;li&gt;Common mistakes (and how to avoid them)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Compliance vs governance (in real operational terms)
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Compliance = requirements you can prove
&lt;/h4&gt;

&lt;p&gt;Compliance means meeting requirements—laws, regulations, contracts, and internal policies—in a way you can demonstrate with evidence.&lt;/p&gt;

&lt;p&gt;Operationally, compliance is:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Defining controls (what must exist)&lt;/li&gt;
&lt;li&gt;Implementing controls (how it works day-to-day)&lt;/li&gt;
&lt;li&gt;Collecting evidence (how you prove it)&lt;/li&gt;
&lt;li&gt;Testing effectiveness (how you know it’s real)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you can’t produce evidence quickly and consistently, you don’t have compliance—you have documentation.&lt;/p&gt;

&lt;h4&gt;
  
  
  Governance = ownership + decisions + measurement
&lt;/h4&gt;

&lt;p&gt;Governance is how risk decisions get made and how accountability works.&lt;/p&gt;

&lt;p&gt;Operationally, governance is:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Clear ownership (executive sponsor + control owners)&lt;/li&gt;
&lt;li&gt;Risk-based prioritization (what matters most)&lt;/li&gt;
&lt;li&gt;Metrics and reporting (KPIs/KRIs)&lt;/li&gt;
&lt;li&gt;A cadence for review and improvement&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Why you need both
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Compliance without governance becomes paperwork.&lt;/li&gt;
&lt;li&gt;Governance without compliance becomes vague strategy.
Together, they create an operational system that survives real-world pressure.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Who this roadmap is for
&lt;/h3&gt;

&lt;p&gt;This is a strong fit for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;IT managers/directors responsible for audit readiness&lt;/li&gt;
&lt;li&gt;Security leaders building governance programs&lt;/li&gt;
&lt;li&gt;Compliance, privacy, and risk roles&lt;/li&gt;
&lt;li&gt;Internal auditors and GRC practitioners&lt;/li&gt;
&lt;li&gt;Consultants supporting ISO/IEC 27001 initiatives&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you’re missing scope/ownership (no sponsor, no control owners), start there first—then use this roadmap.&lt;/p&gt;

&lt;h3&gt;
  
  
  The roadmap (4 stages)
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Stage 1 — Foundations: speak the language of risk and controls
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Goal: translate frameworks into operational controls.&lt;/strong&gt;&lt;br&gt;
Focus areas:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Risk basics: assets, threats, vulnerabilities, likelihood, impact&lt;/li&gt;
&lt;li&gt;Control types: preventive, detective, corrective&lt;/li&gt;
&lt;li&gt;Policy vs standard vs procedure&lt;/li&gt;
&lt;li&gt;Evidence and audit trails&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Outcome: you can read a requirement and explain what it means in day-to-day operations.&lt;/p&gt;

&lt;h4&gt;
  
  
  Stage 2 — Implementation: build a management system people can follow
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Goal: turn requirements into repeatable processes.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Focus areas:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Scope definition (systems, locations, teams, suppliers)&lt;/li&gt;
&lt;li&gt;Asset inventory and classification&lt;/li&gt;
&lt;li&gt;Risk assessment methodology&lt;/li&gt;
&lt;li&gt;Control selection and implementation planning&lt;/li&gt;
&lt;li&gt;Documentation that matches reality&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Outcome: a compliance program that doesn’t collapse under real operations.&lt;/p&gt;

&lt;h4&gt;
  
  
  Stage 3 — Audit readiness: prove it, don’t just say it
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Goal: make evidence and testing routine.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Focus areas:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Internal audit planning&lt;/li&gt;
&lt;li&gt;Control testing methods&lt;/li&gt;
&lt;li&gt;Evidence collection and retention&lt;/li&gt;
&lt;li&gt;Nonconformities and corrective actions&lt;/li&gt;
&lt;li&gt;Management review and reporting&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Outcome: audits become verification, not firefighting.&lt;/p&gt;

&lt;h4&gt;
  
  
  Stage 4 — Continuous improvement: mature the program
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Goal: improve outcomes over time.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Focus areas:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;KPIs/KRIs dashboards and trends&lt;/li&gt;
&lt;li&gt;Incident lessons learned → control updates&lt;/li&gt;
&lt;li&gt;Supplier governance and monitoring&lt;/li&gt;
&lt;li&gt;Training and awareness&lt;/li&gt;
&lt;li&gt;Governance cadence (quarterly reviews, risk committees)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Outcome: compliance becomes a business capability.&lt;/p&gt;

&lt;h3&gt;
  
  
  A practical playbook you can apply this week
&lt;/h3&gt;

&lt;h4&gt;
  
  
  1) Define scope and ownership (before tools)
&lt;/h4&gt;

&lt;p&gt;Make three decisions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What is in scope (systems, data, processes)?&lt;/li&gt;
&lt;li&gt;Who owns risk (executive sponsor + control owners)?&lt;/li&gt;
&lt;li&gt;What does “good” look like (audit readiness, certification, reduced incidents, customer trust)?&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  2) Build a minimum control baseline
&lt;/h4&gt;

&lt;p&gt;If you’re starting from scratch, begin with controls that are universally useful:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Access management (MFA, least privilege, joiner/mover/leaver)&lt;/li&gt;
&lt;li&gt;Asset inventory and classification&lt;/li&gt;
&lt;li&gt;Patch + vulnerability management&lt;/li&gt;
&lt;li&gt;Backup and recovery testing&lt;/li&gt;
&lt;li&gt;Logging and monitoring&lt;/li&gt;
&lt;li&gt;Supplier onboarding + security requirements&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  3) Make evidence a habit
&lt;/h4&gt;

&lt;p&gt;The easiest audit is the one you prepare for every week.&lt;br&gt;
Evidence habits that work:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Monthly access reviews with sign-off&lt;/li&gt;
&lt;li&gt;Ticket-based change management&lt;/li&gt;
&lt;li&gt;Vulnerability scans with remediation tracking&lt;/li&gt;
&lt;li&gt;Backup test reports&lt;/li&gt;
&lt;li&gt;Training completion records&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  4) Run internal audits like health checks
&lt;/h4&gt;

&lt;p&gt;Internal audits aren’t about blame—they’re about finding gaps early.&lt;/p&gt;

&lt;p&gt;A simple cadence:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Quarterly internal audit sampling&lt;/li&gt;
&lt;li&gt;Corrective action tracking&lt;/li&gt;
&lt;li&gt;Management review with metrics&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  5) Make governance visible
&lt;/h4&gt;

&lt;p&gt;Governance becomes real when leadership sees it.&lt;br&gt;
Use:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A one-page risk dashboard&lt;/li&gt;
&lt;li&gt;A quarterly governance meeting&lt;/li&gt;
&lt;li&gt;A clear exception/escalation path&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Quick scenario (template)
&lt;/h3&gt;

&lt;p&gt;A mid-sized organization repeatedly failed audits due to inconsistent access reviews, undocumented exceptions, and weak vendor oversight.&lt;/p&gt;

&lt;p&gt;They introduced:&lt;br&gt;
Monthly control checks (access reviews, backup tests, vuln scan review)&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Quarterly management review with KPIs/KRIs&lt;/li&gt;
&lt;li&gt;Standardized evidence storage and naming&lt;/li&gt;
&lt;li&gt;Training for control owners&lt;/li&gt;
&lt;li&gt;Within two quarters, audit findings dropped and leadership gained visibility into risk trends.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Next steps (actionable)
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Define scope and assign control owners.&lt;/li&gt;
&lt;li&gt;Implement a minimum control baseline.&lt;/li&gt;
&lt;li&gt;Create weekly/monthly evidence habits.&lt;/li&gt;
&lt;li&gt;Run quarterly internal audit sampling.&lt;/li&gt;
&lt;li&gt;Add KPIs/KRIs and a governance cadence.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Recommended training
&lt;/h3&gt;

&lt;p&gt;If you’re building a formal, defensible security management system, start by aligning the team on ISMS requirements, controls, and risk.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://eccentrix-eu.com/courses/governance-and-compliance/iso-27001-foundation-training/" rel="noopener noreferrer"&gt;ISO 27001 Foundation&lt;/a&gt;&lt;br&gt;
&lt;a href="https://eccentrix-eu.com/courses/governance-and-compliance/iso-27005-foundation-training/" rel="noopener noreferrer"&gt;ISO 27005 Foundation&lt;/a&gt; &lt;/p&gt;

&lt;h2&gt;
  
  
  What’s the difference between ISO/IEC 27001 and ISO/IEC 27002?
&lt;/h2&gt;

&lt;p&gt;ISO/IEC 27001 defines the requirements for an ISMS (management system). ISO/IEC 27002 provides guidance on security controls.&lt;/p&gt;

&lt;h4&gt;
  
  
  Do we need certification to benefit from this path?
&lt;/h4&gt;

&lt;p&gt;No. Many organizations adopt the same practices to reduce risk and improve governance without pursuing certification.&lt;/p&gt;

&lt;h4&gt;
  
  
  How long does it take to become audit-ready?
&lt;/h4&gt;

&lt;p&gt;It depends on scope and maturity. Many teams see meaningful improvement in ~90 days by implementing baseline controls and evidence habits.&lt;/p&gt;

&lt;h4&gt;
  
  
  Who should follow this path?
&lt;/h4&gt;

&lt;p&gt;Security leaders, IT managers, compliance and risk roles, internal auditors, and anyone responsible for control ownership.&lt;/p&gt;

&lt;h4&gt;
  
  
  How do we keep compliance from becoming bureaucracy?
&lt;/h4&gt;

&lt;p&gt;Keep controls risk-based, automate evidence where possible, measure outcomes, and review regularly with leadership.&lt;/p&gt;

</description>
      <category>grc</category>
      <category>compliance</category>
      <category>iso27001</category>
      <category>riskmanagement</category>
    </item>
    <item>
      <title>Threat Intelligence Platform: How Modern Organizations Stay Ahead of Cyber Threats</title>
      <dc:creator>Boris Gigovic</dc:creator>
      <pubDate>Mon, 12 Jan 2026 13:36:58 +0000</pubDate>
      <link>https://dev.to/borisgigovic/threat-intelligence-platform-how-modern-organizations-stay-ahead-of-cyber-threats-57fl</link>
      <guid>https://dev.to/borisgigovic/threat-intelligence-platform-how-modern-organizations-stay-ahead-of-cyber-threats-57fl</guid>
      <description>&lt;h3&gt;
  
  
  Introduction: The Attack That Didn’t Happen
&lt;/h3&gt;

&lt;p&gt;It’s 2 a.m. and your security dashboard is quiet—until your threat intelligence platform flags a suspicious domain targeting your finance team. Thanks to real-time intelligence, your SOC blocks the threat before damage is done. This is not science fiction, but the new standard for proactive cyber defense. In a world where attacks are more frequent and sophisticated, organizations need to predict and prevent—not just react.&lt;/p&gt;

&lt;h3&gt;
  
  
  What You’ll Learn in This Guide
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;What is a threat intelligence platform (TIP) and why it matters&lt;/li&gt;
&lt;li&gt;Key benefits for security teams and developers&lt;/li&gt;
&lt;li&gt;Who should (and shouldn’t) invest in a TIP&lt;/li&gt;
&lt;li&gt;Step-by-step implementation guide&lt;/li&gt;
&lt;li&gt;Most common mistakes and how to avoid them&lt;/li&gt;
&lt;li&gt;Real-world case studies and advanced use cases&lt;/li&gt;
&lt;li&gt;Future trends and integration tips&lt;/li&gt;
&lt;li&gt;Actionable next steps&lt;/li&gt;
&lt;li&gt;FAQ (at the end)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Understanding Threat Intelligence Platforms
&lt;/h3&gt;

&lt;h4&gt;
  
  
  What Is a Threat Intelligence Platform?
&lt;/h4&gt;

&lt;p&gt;A threat intelligence platform (TIP) is a centralized solution that collects, analyzes, and distributes information about cyber threats from multiple sources—both inside and outside your organization. Unlike traditional tools, a TIP transforms raw data into actionable intelligence, enabling faster detection, contextual alerts, and automated response.&lt;/p&gt;

&lt;h4&gt;
  
  
  How TIPs Work
&lt;/h4&gt;

&lt;p&gt;A TIP ingests data from:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Open-source threat feeds (OSINT)&lt;/li&gt;
&lt;li&gt;Commercial threat intelligence providers&lt;/li&gt;
&lt;li&gt;Industry sharing groups (ISACs, CERTs)&lt;/li&gt;
&lt;li&gt;Internal logs and incident data&lt;/li&gt;
&lt;li&gt;Dark web and deep web monitoring&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It then correlates and enriches this data, using context from your environment (assets, users, vulnerabilities, business priorities) to deliver:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Actionable alerts&lt;/li&gt;
&lt;li&gt;Automated response playbooks&lt;/li&gt;
&lt;li&gt;Threat scoring and prioritization&lt;/li&gt;
&lt;li&gt;Intelligence reports for leadership&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  What a TIP Is Not
&lt;/h4&gt;

&lt;p&gt;A TIP is not a replacement for a SIEM, endpoint protection, or firewall. Instead, it complements these tools by providing deeper context and enabling automation.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why Is Threat Intelligence Important?
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Proactive Defense
&lt;/h4&gt;

&lt;p&gt;Traditional security is reactive: you respond after an alert or breach. With threat intelligence, you identify threats before they impact your business. For example, if your TIP detects chatter on the dark web about an exploit targeting your software, you can patch or mitigate before attackers strike.&lt;/p&gt;

&lt;h4&gt;
  
  
  Contextual Alerts
&lt;/h4&gt;

&lt;p&gt;Security teams are overwhelmed by alerts. TIPs filter out noise, focusing only on threats relevant to your assets, industry, and risk profile. This means fewer false positives and less alert fatigue.&lt;/p&gt;

&lt;h4&gt;
  
  
  Faster Response
&lt;/h4&gt;

&lt;p&gt;Automated investigation and remediation workflows allow teams to act in minutes, not hours or days. TIPs can trigger scripts to block IPs, quarantine endpoints, or notify stakeholders automatically.&lt;/p&gt;

&lt;h4&gt;
  
  
  Collaboration and Knowledge Sharing
&lt;/h4&gt;

&lt;p&gt;TIPs enable sharing of intelligence across internal teams and with industry peers, multiplying the value of every insight. Many platforms support integration with ISACs, threat intelligence exchanges, and open standards like STIX/TAXII.&lt;/p&gt;

&lt;h4&gt;
  
  
  Strategic Insight
&lt;/h4&gt;

&lt;p&gt;Beyond day-to-day defense, threat intelligence supports long-term risk management, compliance, and executive decision-making. Leadership gets clear reports on the evolving threat landscape and ROI on security investments.&lt;/p&gt;

&lt;h3&gt;
  
  
  Key Benefits of Threat Intelligence Platforms
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;1. Improved Threat Detection&lt;/strong&gt;&lt;br&gt;
TIPs help you spot new malware, phishing campaigns, zero-day exploits, and targeted attacks before they cause harm.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Reduced Incident Response Time&lt;/strong&gt;&lt;br&gt;
Automated enrichment and triage mean analysts spend less time on manual investigation and more time on high-value tasks.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Enhanced Security Posture&lt;/strong&gt;&lt;br&gt;
By continuously updating your detection and response capabilities based on the latest threat data, your organization stays ahead of adversaries.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Measurable ROI&lt;/strong&gt;&lt;br&gt;
Organizations often see a reduction in successful attacks, lower incident response costs, and improved compliance audit outcomes within months of TIP adoption.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Team Empowerment&lt;/strong&gt;&lt;br&gt;
Security teams gain confidence and efficiency with better tools, actionable intelligence, and reduced burnout.&lt;/p&gt;

&lt;h3&gt;
  
  
  Who Should (and Shouldn’t) Invest in a TIP?
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Best for:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Medium/large enterprises with complex IT&lt;/li&gt;
&lt;li&gt;Security operations centers (SOC)&lt;/li&gt;
&lt;li&gt;Regulated industries (finance, healthcare, government)&lt;/li&gt;
&lt;li&gt;Organizations with critical assets or high risk&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Not ideal for:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Small businesses with basic needs or no dedicated security staff&lt;/li&gt;
&lt;li&gt;Teams not ready to act on intelligence&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Advice:&lt;/strong&gt; Even smaller organizations can benefit by partnering with a managed security service provider (MSSP) that uses a TIP on their behalf.&lt;/p&gt;

&lt;h3&gt;
  
  
  Practical Guide: How to Implement a Threat Intelligence Platform
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;1. Assess Your Needs&lt;/strong&gt;&lt;br&gt;
Map your digital assets, business priorities, and likely threat actors&lt;br&gt;
Identify gaps in your current security operations&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Choose the Right Platform&lt;/strong&gt;&lt;br&gt;
Evaluate vendors based on data sources, automation, integrations, scalability, and reporting&lt;br&gt;
Request demos and trial periods&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Integrate with Existing Tools&lt;/strong&gt;&lt;br&gt;
Connect your SIEM, firewall, EDR, and ticketing systems&lt;br&gt;
Ensure data flows both ways (TIP both ingests and pushes intelligence)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Automate Workflows&lt;/strong&gt;&lt;br&gt;
Set up automated alerting, enrichment, and response playbooks for common threats&lt;br&gt;
Use templates for phishing, malware, insider threats, etc.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Train Your Team&lt;/strong&gt;&lt;br&gt;
Provide hands-on training for analysts and incident responders&lt;br&gt;
Encourage participation in threat intelligence communities&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. Continuously Improve&lt;/strong&gt;&lt;br&gt;
Review incidents and response effectiveness monthly or quarterly&lt;br&gt;
Update playbooks and integrations as new threats emerge&lt;/p&gt;

&lt;h3&gt;
  
  
  Advanced Use Cases and Integration Tips
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Threat Hunting:&lt;/strong&gt; Use TIP data to proactively search for indicators of compromise across your environment.&lt;br&gt;
&lt;strong&gt;Vulnerability Management:&lt;/strong&gt; Prioritize patching based on real-world threat activity, not just CVSS scores.&lt;br&gt;
&lt;strong&gt;Third-Party Risk:&lt;/strong&gt; Monitor suppliers and partners for breaches or threat activity that could impact your business.&lt;br&gt;
&lt;strong&gt;Automation:&lt;/strong&gt; Integrate TIP with SOAR (Security Orchestration, Automation, and Response) platforms for end-to-end workflow automation.&lt;br&gt;
&lt;strong&gt;Reporting:&lt;/strong&gt; Build custom dashboards for executives, compliance, and technical teams.&lt;/p&gt;

&lt;h3&gt;
  
  
  Most Common Mistakes (and How to Avoid Them)
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Relying only on free feeds:&lt;/strong&gt; Supplement with commercial and internal data.&lt;br&gt;
&lt;strong&gt;Over-customizing alerts:&lt;/strong&gt; Start simple, tune over time.&lt;br&gt;
&lt;strong&gt;No integration:&lt;/strong&gt; TIP must connect with SIEM, EDR, and workflow tools.&lt;br&gt;
&lt;strong&gt;Neglecting training:&lt;/strong&gt; Even the best tool is useless without skilled people.&lt;br&gt;
&lt;strong&gt;Not updating processes:&lt;/strong&gt; The threat landscape evolves—so should you.&lt;br&gt;
&lt;strong&gt;Ignoring metrics:&lt;/strong&gt; Track mean time to detect (MTTD), mean time to respond (MTTR), and incident closure rates to measure TIP value.&lt;/p&gt;

&lt;h3&gt;
  
  
  Real-World Case Study: Banking Sector Stops Phishing
&lt;/h3&gt;

&lt;p&gt;A mid-sized bank deployed a TIP and integrated it with their SIEM. Within weeks, the platform detected a phishing campaign targeting customers. Automated alerts enabled the security team to block malicious domains and notify users—stopping the attack before any loss occurred.&lt;/p&gt;

&lt;h3&gt;
  
  
  Mini Case: Manufacturing Company Thwarts Ransomware
&lt;/h3&gt;

&lt;p&gt;A global manufacturer used a TIP to receive early warnings about a ransomware group exploiting a new vulnerability. The team patched systems within 48 hours, avoiding a costly breach.&lt;/p&gt;

&lt;h3&gt;
  
  
  Industry Example: Healthcare Defends Patient Data
&lt;/h3&gt;

&lt;p&gt;A regional hospital network integrated their TIP with EDR and vulnerability management tools. The platform flagged a new ransomware variant targeting healthcare providers. The IT team isolated vulnerable endpoints and updated defenses, preventing a data breach and ensuring regulatory compliance.&lt;/p&gt;

&lt;h3&gt;
  
  
  For Whom Is This Not the Right Tool?
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Startups with no security staff&lt;/li&gt;
&lt;li&gt;Businesses with only basic antivirus/firewall&lt;/li&gt;
&lt;li&gt;Teams without response processes&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  FAQ: What People Really Ask
&lt;/h2&gt;

&lt;h4&gt;
  
  
  Q1: Is a TIP only for large enterprises?
&lt;/h4&gt;

&lt;p&gt;A: No, but organizations with SOCs or compliance needs benefit most. Smaller teams can use managed services.&lt;/p&gt;

&lt;h4&gt;
  
  
  Q2: How is a TIP different from a SIEM?
&lt;/h4&gt;

&lt;p&gt;A: SIEMs collect and correlate logs; TIPs enrich with external threat context and automate response.&lt;/p&gt;

&lt;h4&gt;
  
  
  Q3: What’s the ROI?
&lt;/h4&gt;

&lt;p&gt;A: Faster response, fewer breaches, easier compliance—value is measurable within months.&lt;/p&gt;

&lt;h4&gt;
  
  
  Q4: Can a TIP help with compliance?
&lt;/h4&gt;

&lt;p&gt;A: Yes, by documenting threats, responses, and audit trails.&lt;/p&gt;

&lt;h4&gt;
  
  
  Q5: What features matter most in a TIP?
&lt;/h4&gt;

&lt;p&gt;A: Integration, automation, threat feed quality, ease of use, reporting.&lt;/p&gt;

&lt;h4&gt;
  
  
  Q6: Can a TIP protect against zero-day threats?
&lt;/h4&gt;

&lt;p&gt;A: While not foolproof, TIPs give early warning based on global intelligence and emerging patterns.&lt;/p&gt;

&lt;h4&gt;
  
  
  Q7: How often should TIP playbooks and integrations be updated?
&lt;/h4&gt;

&lt;p&gt;A: At least quarterly, or after any major incident or vendor update.&lt;/p&gt;

&lt;h4&gt;
  
  
  Q8: Can a TIP help with third-party or supply chain risks?
&lt;/h4&gt;

&lt;p&gt;A: Absolutely—TIPs can monitor partner and vendor risks and alert you to relevant breaches or threats.&lt;/p&gt;

&lt;h4&gt;
  
  
  Q9: What metrics should we use to measure TIP success?
&lt;/h4&gt;

&lt;p&gt;A: Track mean time to detect/respond, reduction in successful attacks, and analyst workload.&lt;/p&gt;

&lt;h4&gt;
  
  
  Q10: How do TIPs help with executive reporting?
&lt;/h4&gt;

&lt;p&gt;A: TIPs provide dashboards and reports tailored for non-technical audiences, making it easier to demonstrate security ROI.&lt;/p&gt;

&lt;h3&gt;
  
  
  Ready to upskill your team?
&lt;/h3&gt;

&lt;p&gt;Explore our Cybersecurity training courses and learn practical, hands-on defense:&lt;br&gt;
&lt;a href="https://www.eccentrix.ca/en/courses/cybersecurity-and-cyberdefense/" rel="noopener noreferrer"&gt;View Cybersecurity Courses&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ransomware</category>
      <category>cybertraining</category>
      <category>threatintelligence</category>
      <category>siemintegration</category>
    </item>
    <item>
      <title>Azure Data Solutions: Data Factory, Synapse, Data Lake &amp; Databricks Integration</title>
      <dc:creator>Boris Gigovic</dc:creator>
      <pubDate>Thu, 27 Nov 2025 14:15:59 +0000</pubDate>
      <link>https://dev.to/borisgigovic/azure-data-solutions-data-factory-synapse-data-lake-databricks-integration-2bbk</link>
      <guid>https://dev.to/borisgigovic/azure-data-solutions-data-factory-synapse-data-lake-databricks-integration-2bbk</guid>
      <description>&lt;p&gt;Enterprise data solutions require sophisticated orchestration, storage, and analytics capabilities. Azure's integrated data platform—combining Data Factory, Synapse Analytics, Data Lake Storage, and Databricks—provides comprehensive tools for modern data engineering and analytics workloads.&lt;/p&gt;

&lt;h2&gt;
  
  
  Azure Data Factory: Pipeline Orchestration &amp;amp; ETL
&lt;/h2&gt;

&lt;p&gt;Azure Data Factory (ADF) serves as the orchestration engine for enterprise data pipelines. It enables visual pipeline design, over 400 built-in connectors, scheduling mechanisms, data transformation through mapping data flows, and error handling with retry logic.&lt;/p&gt;

&lt;h2&gt;
  
  
  Architecture Patterns
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Traditional ETL Pattern:&lt;/strong&gt;&lt;br&gt;
Data flows from source systems through Data Factory for transformation, then loads into Data Lake for storage, and finally moves to analytics platforms.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Modern ELT Pattern:&lt;/strong&gt;&lt;br&gt;
Source systems load raw data directly into Data Lake, Data Factory orchestrates Spark-based transformations, and BI tools consume refined datasets.&lt;/p&gt;

&lt;h3&gt;
  
  
  Best Practices
&lt;/h3&gt;

&lt;p&gt;Design modular, reusable pipeline templates. Implement comprehensive logging and monitoring. Use parameter-driven pipelines for scalability. Establish data lineage tracking. Optimize copy activities with parallel execution.&lt;/p&gt;

&lt;h2&gt;
  
  
  Azure Synapse Analytics: Enterprise Data Warehouse
&lt;/h2&gt;

&lt;p&gt;Azure Synapse combines data warehousing, big data analytics, and data integration. It provides dedicated SQL pools for traditional workloads, serverless SQL pools for ad-hoc querying, Apache Spark pools for big data processing, and integrated notebooks for collaborative analytics.&lt;/p&gt;

&lt;h3&gt;
  
  
  Performance Optimization
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Dedicated SQL Pool:&lt;/strong&gt;&lt;br&gt;
Implement appropriate table distributions based on query patterns. Use materialized views for query acceleration. Partition large tables for efficient maintenance. Leverage result set caching.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Serverless SQL Pool:&lt;/strong&gt;&lt;br&gt;
Query Parquet files directly from Data Lake. Use external tables for federated queries. Implement query result caching. Optimize file organization with partitioning.&lt;/p&gt;

&lt;h2&gt;
  
  
  Azure Data Lake Storage: Scalable Data Repository
&lt;/h2&gt;

&lt;p&gt;Azure Data Lake Storage Gen2 provides hierarchical namespace, POSIX-compliant access control, unlimited scalability, cost-effective storage tiering, and native integration with analytics services.&lt;/p&gt;

&lt;h3&gt;
  
  
  Data Organization Strategy
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Raw Data Layer:&lt;/strong&gt; Store original data as received from source systems.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Processed Data Layer:&lt;/strong&gt; Store cleaned, validated, and transformed data organized by business domain.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Analytics Layer:&lt;/strong&gt; Store aggregated, enriched datasets optimized for query performance.&lt;/p&gt;

&lt;h3&gt;
  
  
  Governance &amp;amp; Security
&lt;/h3&gt;

&lt;p&gt;Implement RBAC at container and folder levels. Use Azure Policy for compliance enforcement. Enable encryption at rest and in transit. Implement data classification and labeling. Maintain comprehensive audit logs.&lt;/p&gt;

&lt;h3&gt;
  
  
  Databricks: Advanced Analytics &amp;amp; ML
&lt;/h3&gt;

&lt;p&gt;Databricks provides Apache Spark clusters, collaborative notebooks, MLflow integration, Delta Lake for ACID transactions, and Unity Catalog for data governance.&lt;/p&gt;

&lt;h4&gt;
  
  
  Azure Databricks Integration
&lt;/h4&gt;

&lt;p&gt;Databricks connects directly to Azure Data Lake, integrates with Synapse for analytics, and publishes results to Power BI for visualization.&lt;/p&gt;

&lt;h4&gt;
  
  
  Delta Lake Advantages
&lt;/h4&gt;

&lt;p&gt;Delta Lake brings ACID transactions to data lake files, ensures schema enforcement, enables time travel for data versioning, and supports unified batch and streaming processing.&lt;/p&gt;

&lt;h3&gt;
  
  
  ML Workflow
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Data Loading:&lt;/strong&gt; Load Parquet files directly from Azure Data Lake using Spark APIs.&lt;br&gt;
&lt;strong&gt;Feature Engineering:&lt;/strong&gt; Transform raw features into ML-ready formats using PySpark ML library.&lt;br&gt;
&lt;strong&gt;Model Training:&lt;/strong&gt; MLflow tracks parameters, metrics, and model artifacts automatically.&lt;br&gt;
&lt;strong&gt;Model Deployment:&lt;/strong&gt; Register models in MLflow Model Registry for production deployment.&lt;/p&gt;

&lt;h2&gt;
  
  
  End-to-End Integration Architecture
&lt;/h2&gt;

&lt;h4&gt;
  
  
  Stage 1: Data Ingestion
&lt;/h4&gt;

&lt;p&gt;Data Factory connects to source systems and extracts data.&lt;/p&gt;

&lt;h4&gt;
  
  
  Stage 2: Raw Data Storage
&lt;/h4&gt;

&lt;p&gt;Extracted data lands in Data Lake Gen2 raw zone without transformation.&lt;/p&gt;

&lt;h4&gt;
  
  
  Stage 3: Data Processing
&lt;/h4&gt;

&lt;p&gt;Databricks reads raw data, applies transformations, and writes processed data back to Data Lake.&lt;/p&gt;

&lt;h4&gt;
  
  
  Stage 4: Analytics Preparation
&lt;/h4&gt;

&lt;p&gt;Synapse creates logical views and tables over processed data.&lt;/p&gt;

&lt;h4&gt;
  
  
  Stage 5: Consumption
&lt;/h4&gt;

&lt;p&gt;Power BI connects to Synapse for visualization. Custom applications query Synapse APIs.&lt;/p&gt;

&lt;h2&gt;
  
  
  Real-World Scenario: Retail Analytics
&lt;/h2&gt;

&lt;p&gt;Requirement: Consolidate sales, inventory, and customer data from 500+ stores for real-time analytics.&lt;/p&gt;

&lt;h3&gt;
  
  
  Solution:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Data Factory schedules daily extracts from POS systems&lt;/li&gt;
&lt;li&gt;Real-time streaming ingests inventory updates&lt;/li&gt;
&lt;li&gt;Databricks runs ML jobs for customer segmentation and sales forecasting&lt;/li&gt;
&lt;li&gt;Synapse hosts star schema for executive dashboards&lt;/li&gt;
&lt;li&gt;Power BI shows real-time sales performance and predictive analytics&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Performance Optimization
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Data Factory:&lt;/strong&gt; Use parallel execution, implement incremental loading with watermarks, divide datasets into partitions.&lt;br&gt;
&lt;strong&gt;Synapse:&lt;/strong&gt; Create and update statistics regularly, implement clustered columnstore indexes, define workload groups for resource allocation.&lt;br&gt;
&lt;strong&gt;Databricks:&lt;/strong&gt; Right-size clusters based on workload, cache frequently accessed DataFrames, use Z-ordering in Delta Lake.&lt;/p&gt;

&lt;h2&gt;
  
  
  Cost Management
&lt;/h2&gt;

&lt;p&gt;Use self-hosted integration runtimes for on-premises data. Pause Synapse pools during off-peak hours. Implement lifecycle policies to move data to cooler storage tiers. Use spot instances for non-critical Databricks workloads.&lt;/p&gt;

&lt;h2&gt;
  
  
  Security &amp;amp; Compliance
&lt;/h2&gt;

&lt;p&gt;Enable encryption at rest and in transit. Implement RBAC for access control. Use column-level and row-level security in Synapse. Enable diagnostic logging and maintain audit trails. Deploy resources in appropriate regions for data residency compliance.&lt;/p&gt;

&lt;h2&gt;
  
  
  Recommended Learning Pathways
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Foundation:&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://www.eccentrix.ca/en/courses/microsoft/azure/microsoft-certified-azure-fundamentals-az900/" rel="noopener noreferrer"&gt;AZ-900:&lt;/a&gt; Azure Fundamentals &lt;br&gt;
&lt;a href="https://www.eccentrix.ca/en/courses/microsoft/azure/microsoft-certified-azure-administrator-associate-az104/" rel="noopener noreferrer"&gt;AZ-104:&lt;/a&gt; Azure Administrator &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Intermediate:&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://www.eccentrix.ca/en/courses/microsoft/azure/microsoft-certified-azure-developer-associate-az204/" rel="noopener noreferrer"&gt;AZ-204:&lt;/a&gt; Developing Solutions for Azure &lt;br&gt;
&lt;a href="https://www.eccentrix.ca/en/courses/microsoft/azure/microsoft-certified-fabric-data-engineer-associate-dp700/" rel="noopener noreferrer"&gt;DP-700:&lt;/a&gt; Microsoft Certified: Fabric Data Engineer Associate &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Advanced:&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://www.eccentrix.ca/en/courses/microsoft/azure/microsoft-certified-fabric-analytics-engineer-associate-dp600/" rel="noopener noreferrer"&gt;DP-600:&lt;/a&gt; Microsoft Certified: Fabric Analytics Engineer Associate &lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Azure's integrated data platform provides enterprise-grade capabilities for modern data engineering and analytics. By combining Data Factory's orchestration, Data Lake's storage, Synapse's analytics, and Databricks' processing, organizations build comprehensive data solutions that drive business insights and innovation.&lt;/p&gt;

&lt;p&gt;Success requires careful architectural planning, performance optimization, and ongoing governance to ensure data quality, security, and compliance throughout the data lifecycle.&lt;/p&gt;

</description>
      <category>azure</category>
      <category>dataengineering</category>
      <category>analytics</category>
      <category>databricks</category>
    </item>
  </channel>
</rss>
