<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[HiStack.net - AI & System Design Newsletter]]></title><description><![CDATA[Everyone talks about AI, but few truly deliver.
AI, data engineering and system design made easy!]]></description><link>https://www.histack.net</link><image><url>https://substackcdn.com/image/fetch/$s_!bDUw!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6eb3ac3a-52b7-458c-8b6e-d6c2203f5f67_1280x1280.png</url><title>HiStack.net - AI &amp; System Design Newsletter</title><link>https://www.histack.net</link></image><generator>Substack</generator><lastBuildDate>Mon, 27 Jul 2026 20:58:38 GMT</lastBuildDate><atom:link href="https://www.histack.net/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Maxime Marlot]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[histack@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[histack@substack.com]]></itunes:email><itunes:name><![CDATA[Maxime Marlot]]></itunes:name></itunes:owner><itunes:author><![CDATA[Maxime Marlot]]></itunes:author><googleplay:owner><![CDATA[histack@substack.com]]></googleplay:owner><googleplay:email><![CDATA[histack@substack.com]]></googleplay:email><googleplay:author><![CDATA[Maxime Marlot]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Working at Microsoft as a Cloud Solution Architect (CSA)]]></title><description><![CDATA[What does a Cloud Solution Architect (CSA) do at Microsoft? An insider breakdown of the role, the daily work, and how to become one.]]></description><link>https://www.histack.net/p/what-does-a-cloud-solution-architect-do-at-microsoft</link><guid isPermaLink="false">https://www.histack.net/p/what-does-a-cloud-solution-architect-do-at-microsoft</guid><dc:creator><![CDATA[Maxime Marlot]]></dc:creator><pubDate>Sun, 26 Jul 2026 07:00:57 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Z9vj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5f6ab34-2ca6-41c7-a288-cc710c290461_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Z9vj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5f6ab34-2ca6-41c7-a288-cc710c290461_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Z9vj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5f6ab34-2ca6-41c7-a288-cc710c290461_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!Z9vj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5f6ab34-2ca6-41c7-a288-cc710c290461_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!Z9vj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5f6ab34-2ca6-41c7-a288-cc710c290461_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!Z9vj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5f6ab34-2ca6-41c7-a288-cc710c290461_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Z9vj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5f6ab34-2ca6-41c7-a288-cc710c290461_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f5f6ab34-2ca6-41c7-a288-cc710c290461_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2203235,&quot;alt&quot;:&quot;What Does a Cloud Solution Architect (CSA) Do at Microsoft?&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.histack.net/i/208461983?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5f6ab34-2ca6-41c7-a288-cc710c290461_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="What Does a Cloud Solution Architect (CSA) Do at Microsoft?" title="What Does a Cloud Solution Architect (CSA) Do at Microsoft?" srcset="https://substackcdn.com/image/fetch/$s_!Z9vj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5f6ab34-2ca6-41c7-a288-cc710c290461_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!Z9vj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5f6ab34-2ca6-41c7-a288-cc710c290461_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!Z9vj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5f6ab34-2ca6-41c7-a288-cc710c290461_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!Z9vj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5f6ab34-2ca6-41c7-a288-cc710c290461_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">What Does a Cloud Solution Architect (CSA) Do at Microsoft?</figcaption></figure></div><p>When I saw the job offer to <strong>join Microsoft as <a href="https://learn.microsoft.com/en-us/azure/well-architected/architect-role/fundamentals">Cloud Solution Architect</a></strong>, I figured I already had a rough idea of the role. In fact, I have been a solution architect for a few years before applying, so I assumed this CSA role would land close to what I knew. It did land close but with some differences that creates some confusion for the new applications. </p><p><mark data-color="#d9ead3" style="background-color: rgb(217, 234, 211); color: rgb(0, 0, 0);">W</mark><strong><mark data-color="#d9ead3" style="background-color: rgb(217, 234, 211); color: rgb(0, 0, 0);">orking as a Cloud Solution Architect at Microsoft, Google or AWS is very unique</mark>, </strong>and quite different from a traditional architect position. This post reflects my experience after few months doing that!</p><div><hr></div><p style="text-align: center;"><em><mark data-color="#fce5cd" style="background-color: rgb(252, 229, 205); color: rgb(0, 0, 0);">You want to work in the big tech industry and have some questions, just drop me a message here :) </mark></em></p><div class="community-chat" data-attrs="{&quot;url&quot;:&quot;https://open.substack.com/pub/histack/chat?utm_source=chat_embed&quot;,&quot;subdomain&quot;:&quot;histack&quot;,&quot;pub&quot;:{&quot;id&quot;:4303225,&quot;name&quot;:&quot;HiStack.net - AI &amp; System Design Newsletter&quot;,&quot;author_name&quot;:&quot;Maxime Marlot&quot;,&quot;author_photo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!58gg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F167435be-c3cc-4169-aa34-da27c2996509_653x653.png&quot;}}" data-component-name="CommunityChatRenderPlaceholder"></div><div><hr></div><h2><strong>What Is a Cloud Solution Architect at Microsoft?</strong></h2><p>As a CSA, I sit inside Microsoft&#8217;s Customer Success Unit. In short, we come in after a customer has already decided to invest in Azure, and we help them to get the best of the Microsoft solutions so they can reach their objectives. You are not the person managing the commercial relationship, although, as a customer facing role, you are accountable for both: the technical outcome and the reputation of the company.</p><p>That distinction matters. <mark data-color="#d9ead3" style="background-color: rgb(217, 234, 211); color: rgb(0, 0, 0);">A </mark><strong><mark data-color="#d9ead3" style="background-color: rgb(217, 234, 211); color: rgb(0, 0, 0);">Cloud Solution Architect</mark></strong><mark data-color="#d9ead3" style="background-color: rgb(217, 234, 211); color: rgb(0, 0, 0);"> is measured on whether the customer&#8217;s solution works as expected, scales, and gets adopted</mark>. </p><p>On a day to day basis, this can take many forms: it could be by advising the customers on the best way to extend their solution, review an existing architecture or clarify any points of our data &amp; AI solutions.</p><h2><strong>Does a CSA Actually Do Technical Work?</strong></h2><blockquote><p>If the customer is coming to you, it probably means they&#8217;ve already been through the documentation and the experimentation phase.</p></blockquote><p>So, yes, it does. Just not in the way you pictured at first.</p><p>Many people assumed that Cloud Solution Architect will be deep inside each customer&#8217;s environment, writing the code and running the implementation himself. When you&#8217;re responsible for a whole portfolio of customers, that doesn&#8217;t scale. The hands-on delivery usually sits with the customer&#8217;s own engineers, or with a partner who specializes in exactly that kind of build.</p><p>So where does the technical part come in? A customer might come-up with a tough question because he could not find any information online, or want advice on how to optimize a workload, or ask me to review an architecture before it ships. <mark data-color="#d9ead3" style="background-color: rgb(217, 234, 211); color: rgb(0, 0, 0);">Answering any of those well means understanding the technology at a deep level</mark>, well beyond its headline features.</p><p>You also need broad knowledge that cuts across services, because real problems rarely stay inside one of them. <strong>If I can&#8217;t reason across networking, identity, cost, and how a workload behaves under load, I&#8217;m not much use in the room.</strong> That&#8217;s the real bar for the job.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.histack.net/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading HiStack.net - AI &amp; System Design Newsletter! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h2><strong>CSA vs Cloud Architect: Clearing Up the Confusion</strong></h2><p><strong>People often mix up the CSA role with a company&#8217;s internal cloud architect</strong>. They&#8217;re related, but the day-to-day is very different.</p><ul><li><p><strong>A company&#8217;s cloud architect</strong> owns a single estate. They live inside one organization, they know its full history, and they carry its technical debt with them for years.</p></li><li><p><strong><mark data-color="#d9ead3" style="background-color: rgb(217, 234, 211); color: rgb(0, 0, 0);">A Microsoft CSA</mark></strong><mark data-color="#d9ead3" style="background-color: rgb(217, 234, 211); color: rgb(0, 0, 0);"> works across many customers at once</mark>. Some of my colleagues see a dozen different environments in a month.</p></li></ul><p>The trade is depth in one place against breadth across many. I chose breadth, and I like the variety, though some weeks I do miss watching a single system mature over time.</p><h2><strong>What a CSA Actually Does All Day at Microsoft</strong></h2><p>No two weeks are identical, but most of my time lands in a handful of buckets:</p><ul><li><p><strong><mark data-color="#d9ead3" style="background-color: rgb(217, 234, 211); color: rgb(0, 0, 0);">Architecture reviews:</mark></strong> We look at what a customer has designed and we advise on some improvements, where it will break and where the costs will surprise them later.</p></li><li><p><strong>Proofs of concept and MVPs.</strong> Sometimes, you can build a small version to settle a question with evidence instead of opinion.</p></li><li><p><strong><mark data-color="#d9ead3" style="background-color: rgb(217, 234, 211); color: rgb(0, 0, 0);">Unblocking:</mark></strong> A team gets stuck on an Azure service behaving in a way they didn&#8217;t expect. This could be related to optimization issues, security or documentation clarification in some of our data or AI products.</p></li><li><p><strong><mark data-color="#d9ead3" style="background-color: rgb(217, 234, 211); color: rgb(0, 0, 0);">Driving adoption:</mark></strong> Part of my role is helping customers genuinely use what they committed to, so their Azure investment becomes working software rather than idle spend.</p></li><li><p><strong>Voice of the customer.</strong> When we see the same painful gap across several customers, we can carry that feedback, develop new materials, inform back the  Microsoft product team so it gets better.</p><p></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.histack.net/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.histack.net/subscribe?"><span>Subscribe now</span></a></p></li></ul><h2><strong>CSA vs Solution Engineer (SE) at Microsoft</strong></h2><p>This one confuses even people inside the tech industry, because both roles are technical and both are customer-facing. The split comes down to timing.</p><p><strong>The Solution Engineer (SE)</strong> works before the commitment. They help a customer understand what&#8217;s possible, prove the value of a platform, and reach the decision to invest. Their world is pre-sales.</p><p><strong>The CSA</strong> picks up after that decision. Once the customer has committed, I make sure the thing they bought gets designed well and reaches production in good health. My world is delivery. An SE and a CSA often tag-team the same customer, and the handoff between us is where a lot of the good work happens.</p><h2><strong>The Skills That Matter Most</strong></h2><blockquote><p><strong>A good CSA is a translator as much as an engineer.</strong> The people who struggle here are usually brilliant technically but can&#8217;t explain a trade-off to someone who isn&#8217;t.</p></blockquote><p>The technical bar is real. A few months into the company, I still feel like I&#8217;m at the very start of the learning curve. For real.</p><p>The scope is broad too, genuinely broad. Even once you&#8217;re handed a focus area, say Data &amp; AI, two things hit you fast. That area alone spans a huge number of services, and on top of that you need a real grasp of how it all integrates, which pulls in things like security and compute.</p><p>If I can&#8217;t hold my own in a room full of the customer&#8217;s best engineers, I lose credibility in the first hour.</p><h2><strong>How to Become a Cloud Solution Architect at Microsoft</strong></h2><p>There&#8217;s no single path, but the people I see land this job tend to follow a similar shape:</p><ol><li><p><strong>Build real depth first.</strong> Most CSAs arrive with years of hands-on experience in cloud, infrastructure, data, AI or software. <mark data-color="#d9ead3" style="background-color: rgb(217, 234, 211); color: rgb(0, 0, 0);">You want scars from having run things in production.</mark></p></li><li><p><strong>Get certified where it counts.</strong> I would not say that this is mandatory, but it will help you to get out of the group. Microsoft really push you to pass certification to make sure you know your business. Certifications won&#8217;t get you hired on their own, but they prove you&#8217;ve covered the ground.</p></li><li><p><strong>Learn to explain.</strong> Practice <strong><mark data-color="#d9ead3" style="background-color: rgb(217, 234, 211); color: rgb(0, 0, 0);">turning a messy technical situation into a clear recommendation a business leader can act on</mark></strong>. This skill is rarer than deep technical knowledge, and worth more.</p></li><li><p><strong>Show customer instinct.</strong> Microsoft looks for people who genuinely care whether the customer succeeds, not only whether the architecture is elegant.</p></li></ol><div><hr></div><p>Few articles that could help you to pass Microsoft certifications: <a href="https://www.histack.net/p/dp-600-free-practice-exam-test">DP-600</a> and <a href="https://www.histack.net/p/ai-901-study-guide-and-exam-preparation">AI-901</a>:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;263ed7f6-107a-4b58-bfe1-960bf0ab3603&quot;,&quot;caption&quot;:&quot;I passed the DP-600 in the last few weeks, and this DP-600 practice exam is the study tool I wish I&#8217;d had the week before. Every question from this mock comes from Microsoft&#8217;s published skills outline and the topics that actually came up on the day, rewritten in my own words.&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;DP-600 Practice Exam: 40 Free Exam Questions with Answers&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:321982382,&quot;name&quot;:&quot;Maxime Marlot&quot;,&quot;bio&quot;:&quot;Cloud Solution Architect at Microsoft. Sharing about AI, Data and System Design!&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/167435be-c3cc-4169-aa34-da27c2996509_653x653.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-07-22T21:20:56.157Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!wPib!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2d9535a-9ba2-4a55-94c8-ccdd60ea652e_1536x1024.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.histack.net/p/dp-600-free-practice-exam-test&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:208112037,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:1,&quot;comment_count&quot;:0,&quot;publication_id&quot;:4303225,&quot;publication_name&quot;:&quot;HiStack.net - AI &amp; System Design Newsletter&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!bDUw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6eb3ac3a-52b7-458c-8b6e-d6c2203f5f67_1280x1280.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;a43969b2-afbc-4c40-9a94-1cdbbee114e8&quot;,&quot;caption&quot;:&quot;In a previous article, I shared my personal experience passing AI-901. Based on that, I started writing a full study guide and exam preparation for the new Microsoft Azure AI Fundamentals exam, the one now replacing AI-900. You can find both here:&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;AI-901 Practice Exam: 40 Free Practice Questions with Answers&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:321982382,&quot;name&quot;:&quot;Maxime Marlot&quot;,&quot;bio&quot;:&quot;Cloud Solution Architect at Microsoft. Sharing about AI, Data and System Design!&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/167435be-c3cc-4169-aa34-da27c2996509_653x653.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-07-05T19:12:27.089Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Ft56!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18a7f7f0-728b-4923-82a3-2e2503d22bdb_1536x1024.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.histack.net/p/ai-901-free-practice-exam-assessment&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:205293365,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:1,&quot;comment_count&quot;:0,&quot;publication_id&quot;:4303225,&quot;publication_name&quot;:&quot;HiStack.net - AI &amp; System Design Newsletter&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!bDUw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6eb3ac3a-52b7-458c-8b6e-d6c2203f5f67_1280x1280.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;291b25a8-0de2-4202-aa4b-ced02c2acd78&quot;,&quot;caption&quot;:&quot;I just passed AI-901, the new Microsoft Azure AI Fundamentals exam that replaces AI-900 (which retires on June 30, 2026). If you've started your AI-901 exam preparation, you've already noticed the problem: there's barely any AI-901 study material out there yet, and&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;AI-901 Study Guide and Exam Preparation&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:321982382,&quot;name&quot;:&quot;Maxime Marlot&quot;,&quot;bio&quot;:&quot;Cloud Solution Architect at Microsoft. Sharing about AI, Data and System Design!&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/167435be-c3cc-4169-aa34-da27c2996509_653x653.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-07-03T20:03:14.934Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Pz1T!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F304bd015-9e5a-408e-aa19-12e67d941285_1600x2098.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.histack.net/p/ai-901-study-guide-and-exam-preparation&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:204951557,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:2,&quot;comment_count&quot;:0,&quot;publication_id&quot;:4303225,&quot;publication_name&quot;:&quot;HiStack.net - AI &amp; System Design Newsletter&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!bDUw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6eb3ac3a-52b7-458c-8b6e-d6c2203f5f67_1280x1280.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><h2><strong>Is This Role Right for You?</strong></h2><p>If you love staying close to real technology while also working with people, this job is hard to beat. You get the variety of a consultant with the technical depth of an engineer, and you do it with the platform team standing behind you. </p><blockquote><p>The pace is high, and the learning never stops, because Azure shifts under your feet every quarter.</p></blockquote><p>It won&#8217;t suit everyone. If you want to own one system and polish it for years, the constant context-switching will wear you down. But if you&#8217;re curious, technically strong, and you actually enjoy helping other people succeed, being a Cloud Solution Architect in the big tech industry might be the next place you want to be in the industry.</p>]]></content:encoded></item><item><title><![CDATA[DP-600 Practice Exam: 40 Free Exam Questions with Answers]]></title><description><![CDATA[Prepare for the DP-600: Fabric Analytics Engineer Associate exam with 40 free exam questions. Covers governance, data prep, T-SQL, and semantic models.]]></description><link>https://www.histack.net/p/dp-600-free-practice-exam-test</link><guid isPermaLink="false">https://www.histack.net/p/dp-600-free-practice-exam-test</guid><dc:creator><![CDATA[Maxime Marlot]]></dc:creator><pubDate>Wed, 22 Jul 2026 21:20:56 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!wPib!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2d9535a-9ba2-4a55-94c8-ccdd60ea652e_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p></p><p><mark data-color="#d9ead3" style="background-color: rgb(217, 234, 211); color: rgb(0, 0, 0);">I passed the DP-600 in the last few weeks</mark>, and this DP-600 practice exam is the study tool I wish I&#8217;d had the week before. Every question from this mock comes from Microsoft&#8217;s published skills outline and the topics that actually came up on the day, rewritten in my own words.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wPib!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2d9535a-9ba2-4a55-94c8-ccdd60ea652e_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wPib!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2d9535a-9ba2-4a55-94c8-ccdd60ea652e_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!wPib!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2d9535a-9ba2-4a55-94c8-ccdd60ea652e_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!wPib!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2d9535a-9ba2-4a55-94c8-ccdd60ea652e_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!wPib!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2d9535a-9ba2-4a55-94c8-ccdd60ea652e_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wPib!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2d9535a-9ba2-4a55-94c8-ccdd60ea652e_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c2d9535a-9ba2-4a55-94c8-ccdd60ea652e_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2406972,&quot;alt&quot;:&quot;DP-600: Fabric Analytics Engineer Associate Exam Questions&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.histack.net/i/208112037?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2d9535a-9ba2-4a55-94c8-ccdd60ea652e_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="DP-600: Fabric Analytics Engineer Associate Exam Questions" title="DP-600: Fabric Analytics Engineer Associate Exam Questions" srcset="https://substackcdn.com/image/fetch/$s_!wPib!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2d9535a-9ba2-4a55-94c8-ccdd60ea652e_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!wPib!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2d9535a-9ba2-4a55-94c8-ccdd60ea652e_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!wPib!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2d9535a-9ba2-4a55-94c8-ccdd60ea652e_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!wPib!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2d9535a-9ba2-4a55-94c8-ccdd60ea652e_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">DP-600: Fabric Analytics Engineer Associate Exam Questions</figcaption></figure></div><p>Last time, I wrote a practice test for the AI-901, readers said the questions felt close to the live exam, I then decided to write this practice test for the DP-600. If you are also looking to pass the AI-901, you can find it here: <a href="https://www.histack.net/p/ai-901-free-practice-exam-assessment">AI-901 Practice Exam: Free Practice Test</a>. </p><div><hr></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;d4f733eb-fedf-440d-8d95-068cbf3d741e&quot;,&quot;caption&quot;:&quot;I just passed AI-901, the new Microsoft Azure AI Fundamentals exam that replaces AI-900 (which retires on June 30, 2026). If you've started your AI-901 exam preparation, you've already noticed the problem: there's barely any AI-901 study material out there yet, and&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;AI-901 Study Guide and Exam Preparation&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:321982382,&quot;name&quot;:&quot;Maxime Marlot&quot;,&quot;bio&quot;:&quot;Cloud Solution Architect: Data &amp; AI at Microsoft. Demystifying AI &amp; System Design! Owner of www.histack.net&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c30ebfef-4d91-4929-8354-e89be4c50f67_800x800.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-07-03T20:03:14.934Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Pz1T!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F304bd015-9e5a-408e-aa19-12e67d941285_1600x2098.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.histack.net/p/ai-901-study-guide-and-exam-preparation&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:204951557,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:2,&quot;comment_count&quot;:0,&quot;publication_id&quot;:4303225,&quot;publication_name&quot;:&quot;HiStack.net - AI &amp; System Design Newsletter&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!bDUw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6eb3ac3a-52b7-458c-8b6e-d6c2203f5f67_1280x1280.png&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;c4665b87-7d5a-4395-92e7-4781a8f9f1a9&quot;,&quot;caption&quot;:&quot;In a previous article, I shared my personal experience passing AI-901. Based on that, I started writing a full study guide and exam preparation for the new Microsoft Azure AI Fundamentals exam, the one now replacing AI-900. You can find both here:&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;AI-901 Practice Exam: 40 Free Practice Questions with Answers&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:321982382,&quot;name&quot;:&quot;Maxime Marlot&quot;,&quot;bio&quot;:&quot;Cloud Solution Architect: Data &amp; AI at Microsoft. Demystifying AI &amp; System Design! Owner of www.histack.net&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c30ebfef-4d91-4929-8354-e89be4c50f67_800x800.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-07-05T19:12:27.089Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Ft56!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18a7f7f0-728b-4923-82a3-2e2503d22bdb_1536x1024.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.histack.net/p/ai-901-free-practice-exam-assessment&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:205293365,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:1,&quot;comment_count&quot;:0,&quot;publication_id&quot;:4303225,&quot;publication_name&quot;:&quot;HiStack.net - AI &amp; System Design Newsletter&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!bDUw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6eb3ac3a-52b7-458c-8b6e-d6c2203f5f67_1280x1280.png&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><blockquote><p>&#9888;&#65039; Note: These are original practice questions for the DP-600, based on my own exam experience. Microsoft refreshes this exam periodically, so use this for preparation, not as a guarantee.</p></blockquote><p>The DP-600 sits behind the <a href="https://learn.microsoft.com/en-us/credentials/certifications/fabric-analytics-engineer-associate/?practice-assessment-type=certification">Microsoft Certified: Fabric Analytics Engineer Associate</a> credential, and you need 700 out of 1000 to pass. <mark data-color="#d9ead3" style="background-color: rgb(217, 234, 211); color: rgb(0, 0, 0);">Microsoft organizes the skills into three official areas,</mark> but <strong>data preparation carries almost half the exam</strong>, so I&#8217;ve split it in two. That leaves four buckets, and they line up with what the exam really drills:</p><ol><li><p><strong>Maintain a data analytics solution</strong>: 10 questions</p></li><li><p><strong>Prepare and serve data</strong>: 12 questions</p></li><li><p><strong>Query and analyze data with T-SQL, KQL, and DAX</strong>: 13 questions</p></li><li><p><strong>Implement and manage semantic models</strong>: 5 questions</p></li></ol><p><strong>Quick tip:</strong> <mark data-color="#d9ead3" style="background-color: rgb(217, 234, 211); color: rgb(0, 0, 0);">In my DP-600 exam, I</mark><strong><mark data-color="#d9ead3" style="background-color: rgb(217, 234, 211); color: rgb(0, 0, 0);"> had a lot of T-SQL questions</mark></strong>, I highly recommend you to review your T-SQL basics so you can quickly understand the queries and not check the MS Learn Documentation (<mark data-color="#d9ead3" style="background-color: rgb(217, 234, 211); color: rgb(0, 0, 0);">Yes, you get access to </mark><a href="https://learn.microsoft.com/en-us/docs/"><mark data-color="#d9ead3" style="background-color: rgb(217, 234, 211); color: rgb(0, 0, 0);">MS Learn documentation</mark></a><mark data-color="#d9ead3" style="background-color: rgb(217, 234, 211); color: rgb(0, 0, 0);"> during this exam</mark>).</p><p>How this works? Substack has no quiz tool, so all 40 questions of this DP-600 mock test come first, grouped into four sections. The answer key sits at the bottom of each section.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.histack.net/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading HiStack.net - AI &amp; System Design Newsletter! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h1><strong>Maintain a data analytics solution - DP-600 Practice Exam</strong></h1><p><strong>1.</strong> Your analytics team must place all its semantic models and reports under version control that supports branching. The tenant is fully Azure based, and the solution must minimize setup and maintenance. What should you do?</p><ul><li><p>A. Store the semantic models and reports in Azure Data Lake Storage Gen2</p></li><li><p>B. Connect the workspace to a GitHub repository</p></li><li><p>C. Connect the workspace to an Azure Repos repository</p></li><li><p>D. Store the semantic models and reports in OneDrive for Business</p></li></ul><p><strong>2.</strong> You manage eight workspaces that all belong to the same business area. You need to group them logically so they can be filtered together in the OneLake data hub. What should you use?</p><ul><li><p>A. A workspace app</p></li><li><p>B. A domain</p></li><li><p>C. A deployment pipeline</p></li><li><p>D. A OneLake shortcut</p></li></ul><p><strong>3.</strong> Two security groups need read access to the same Lakehouse. Group 1 reads the data through the SQL analytics endpoint, and Group 2 reads it through Lakehouse Explorer. Following least privilege, which workspace roles should you assign, in that order?</p><ul><li><p>A. Viewer, then Viewer</p></li><li><p>B. Viewer, then Contributor</p></li><li><p>C. Contributor, then Viewer</p></li><li><p>D. Member, then Contributor</p></li></ul><p><strong>4.</strong> (Choose THREE.) You have a deployment pipeline with development, test, and production stages, each assigned a workspace. Developers must deploy to development and test but not to production, following least privilege. Which three levels of access should you assign?</p><ul><li><p>A. Build permission on the production semantic models</p></li><li><p>B. Admin access to the deployment pipeline</p></li><li><p>C. Viewer access to the development and test workspaces</p></li><li><p>D. Viewer access to the production workspace</p></li><li><p>E. Contributor access to the development and test workspaces</p></li><li><p>F. Contributor access to the production workspace</p></li></ul><p><strong>5.</strong> You plan to make bulk edits to a semantic model with the TMDL extension in Visual Studio Code, and you need report and model definitions saved as individual text files in a folder hierarchy for Git. Which file format should you save from Power BI Desktop?</p><ul><li><p>A. .pbix</p></li><li><p>B. .pbit</p></li><li><p>C. .pbip</p></li><li><p>D. .pbids</p></li></ul><p><strong>6.</strong> A user named analyst1 must be able to truncate tables in the Sales schema only, and nowhere else. Following least privilege, which T-SQL statement should you run?</p><ul><li><p>A. GRANT CONTROL ON SCHEMA::Sales TO analyst1</p></li><li><p>B. GRANT ALTER ON SCHEMA::Sales TO analyst1</p></li><li><p>C. GRANT EXECUTE ON SCHEMA::Sales TO analyst1</p></li><li><p>D. GRANT SELECT ON SCHEMA::Sales TO analyst1</p></li></ul><p><strong>7.</strong> (Choose TWO.) You are preparing a tenant for a proof of concept. Only the project team should be able to trial paid features and create Fabric items, following least privilege. Which two actions should you take in the Fabric admin portal?</p><ul><li><p>A. Enable &#8220;Users can try Microsoft Fabric paid features&#8221; for the entire organization</p></li><li><p>B. Enable &#8220;Users can try Microsoft Fabric paid features&#8221; for specific security groups</p></li><li><p>C. Enable &#8220;Allow guest users to access Microsoft Fabric&#8221; for specific security groups</p></li><li><p>D. Enable &#8220;Users can create Fabric items&#8221; and exclude specific security groups</p></li><li><p>E. Enable &#8220;Users can create Fabric items&#8221; for specific security groups</p></li></ul><p><strong>8.</strong> You need to enable read/write access to a semantic model through the XMLA endpoint. Which settings should you modify first?</p><ul><li><p>A. The semantic model settings</p></li><li><p>B. The workspace settings</p></li><li><p>C. The capacity settings</p></li><li><p>D. The tenant settings</p></li></ul><p><strong>9.</strong> Several times a day, every query against your warehouse slows down at once. You suspect Fabric is throttling the capacity. What should you use to confirm whether throttling is happening?</p><ul><li><p>A. The capacity settings</p></li><li><p>B. The Monitoring hub</p></li><li><p>C. Dynamic management views (DMVs)</p></li><li><p>D. The Microsoft Fabric Capacity Metrics app</p></li></ul><p><strong>10.</strong> (Choose THREE.) Users must be able to create and publish custom Direct Lake semantic models with external tools, following least privilege. Which three actions should you include?</p><ul><li><p>A. In tenant settings, enable &#8220;Allow XMLA endpoints and Analyze in Excel with on-premises datasets&#8221;</p></li><li><p>B. In tenant settings, enable &#8220;Allow guest users to access Microsoft Fabric&#8221;</p></li><li><p>C. In tenant settings, enable &#8220;Users can edit data models in the Power BI service&#8221;</p></li><li><p>D. In capacity settings, set the XMLA endpoint to Read Write</p></li><li><p>E. In tenant settings, enable &#8220;Users can create Fabric items&#8221;</p></li><li><p>F. In tenant settings, enable &#8220;Publish to web&#8221;</p></li></ul><p><strong>Answer key, Section 1:</strong> 1-C, 2-B, 3-B, 4-B and D and E, 5-C, 6-B, 7-B and E, 8-C, 9-D, 10-A and D and E</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.histack.net/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading HiStack.net - AI &amp; System Design Newsletter! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h1><strong>Prepare and serve data - DP-600 Practice Test</strong></h1><p><strong>11.</strong> Your team needs a new data store for a proof of concept. The data includes semi-structured and unstructured files, and the store must support read access through both T-SQL and Spark. Which type of data store should you recommend?</p><ul><li><p>A. A warehouse</p></li><li><p>B. A lakehouse</p></li><li><p>C. An eventhouse</p></li><li><p>D. An external Hive metastore</p></li></ul><p><strong>12.</strong> (Choose TWO.) You plan to query sales files with the SQL analytics endpoint of a Lakehouse. The files sit in an Amazon S3 bucket. Which two actions should you include so the files are queryable through the endpoint?</p><ul><li><p>A. Create the shortcut in the Files section</p></li><li><p>B. Use the Parquet format</p></li><li><p>C. Use the CSV format</p></li><li><p>D. Create the shortcut in the Tables section</p></li><li><p>E. Use the Delta format</p></li></ul><p><strong>13.</strong> You add a Copy data activity to a pipeline to load external data into an existing Lakehouse table. The source schema changes regularly, and each run must replace both the table&#8217;s schema and all of its rows. What should you configure on the Copy data activity?</p><ul><li><p>A. On the Source tab, add additional columns</p></li><li><p>B. On the Destination tab, set the table action to Overwrite</p></li><li><p>C. On the Settings tab, enable staging</p></li><li><p>D. On the Source tab, enable partition discovery</p></li></ul><p><strong>14.</strong> A subfolder in your Lakehouse holds several CSV files. You need to convert them to the Delta format with V-Order optimization enabled. What should you do from Lakehouse Explorer?</p><ul><li><p>A. Use the Load to Tables feature</p></li><li><p>B. Create a shortcut in the Files section</p></li><li><p>C. Create a shortcut in the Tables section</p></li><li><p>D. Use the Optimize feature</p></li></ul><p><strong>15.</strong> Requirements state that data engineers must use low-code tools to ingest customer data into the data store. Which option should you recommend?</p><ul><li><p>A. A stored procedure</p></li><li><p>B. A pipeline that contains a KQL activity</p></li><li><p>C. A Spark notebook</p></li><li><p>D. A dataflow</p></li></ul><p><strong>16.</strong> You need to make sure the data-loading activities in a workspace run in a specific sequence, one after another. The solution must minimize effort. What should you do?</p><ul><li><p>A. Create a dataflow that has multiple steps and schedule the dataflow</p></li><li><p>B. Create and schedule a Spark notebook</p></li><li><p>C. Create and schedule a Spark job definition</p></li><li><p>D. Create a pipeline that has dependencies between activities and schedule the pipeline</p></li></ul><p><strong>17.</strong> A pipeline has two activities that run in sequence. You need to make sure a failure of the first activity does not stop the second one from running. Which conditional path should you configure between them?</p><ul><li><p>A. Upon Failure</p></li><li><p>B. Upon Completion</p></li><li><p>C. Upon Skip</p></li><li><p>D. Upon Success</p></li></ul><p><strong>18.</strong> You are building a pipeline that must run a stored procedure returning the count of active customers, and the returned value must be available to downstream activities. Which type of activity should you add?</p><ul><li><p>A. Switch</p></li><li><p>B. Copy data</p></li><li><p>C. Append variable</p></li><li><p>D. Lookup</p></li></ul><p><strong>19.</strong> Two lakehouses live in different workspaces, one with a table named dbo.sales and the other with dbo.customers. You need to reference both tables in the same SQL query without making extra copies of the data. What should you use?</p><ul><li><p>A. A shortcut</p></li><li><p>B. A dataflow</p></li><li><p>C. A view</p></li><li><p>D. A managed table</p></li></ul><p><strong>20.</strong> (Choose TWO.) You need to populate a date dimension in the data store. There is no existing source for the dates, and the dimension must contain physically stored rows. Which two approaches meet the goal?</p><ul><li><p>A. Populate the date dimension table by using a dataflow</p></li><li><p>B. Populate the date dimension table by using a Copy activity in a pipeline</p></li><li><p>C. Populate the date dimension view by using T-SQL</p></li><li><p>D. Populate the date dimension table by using a stored procedure activity in a pipeline</p></li></ul><p><strong>21.</strong> (Choose THREE.) You are building a customer dimension as a type 2 slowly changing dimension in a warehouse. Which three column types should you add that do not already exist in the source?</p><ul><li><p>A. A foreign key</p></li><li><p>B. A natural key</p></li><li><p>C. An effective end date and time</p></li><li><p>D. A surrogate key</p></li><li><p>E. An effective start date and time</p></li></ul><p><strong>22.</strong> You need to copy a table named schema1.City into schema2, and the solution must minimize the amount of data copied. Which T-SQL statement should you run?</p><ul><li><p>A. CREATE TABLE schema2.City AS SELECT * FROM schema1.City</p></li><li><p>B. SELECT * INTO schema2.City FROM schema1.City</p></li><li><p>C. CREATE TABLE schema2.City AS CLONE OF schema1.City</p></li><li><p>D. INSERT INTO schema2.City SELECT * FROM schema1.City</p></li></ul><p><strong>Answer key, Section 2:</strong> 11-B, 12-D and E, 13-B, 14-A, 15-D, 16-D, 17-B, 18-D, 19-A, 20-A and D, 21-C and D and E, 22-C</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.histack.net/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading HiStack.net - AI &amp; System Design Newsletter! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h1><strong>Query and analyze data - DP-600 Practice assessment</strong></h1><p><strong>23.</strong> You have a warehouse table named staging_sales. You need a T-SQL query that returns 2023 data showing product ID and product name, and only rows whose summarized amount is greater than 10,000. Which approach is correct?</p><ul><li><p>A. Group by product and filter the summarized amount with a HAVING clause</p></li><li><p>B. Filter the summarized amount with a WHERE clause</p></li><li><p>C. Filter a non-aggregated column with a HAVING clause</p></li><li><p>D. Reference the summarized amount by its column alias in the HAVING clause</p></li></ul><p><strong>24.</strong> A table named customers in the stage schema holds every update from a CRM, so there can be several rows per customer. You need to return the customer ID, name, postal code, and last updated time of the most recent row for each customer. What should you use?</p><ul><li><p>A. Apply RANK() partitioned by customer ID and keep the rows where it equals 1</p></li><li><p>B. Group by customer ID and apply MAX() to every other column</p></li><li><p>C. Apply ROW_NUMBER() partitioned by customer ID and keep the rows where it equals 1</p></li><li><p>D. Use SELECT DISTINCT on customer ID</p></li></ul><p><strong>25.</strong> A row in your warehouse has three price columns: list_price, wholesale_price, and agent_price. You need a column that returns the highest of the three values for each row. Which T-SQL function should you use?</p><ul><li><p>A. MAX</p></li><li><p>B. COALESCE</p></li><li><p>C. GREATEST</p></li><li><p>D. CHOOSE</p></li></ul><p><strong>26.</strong> For the same table, you need a column that returns agent_price if it exists, otherwise wholesale_price, and otherwise list_price. Which function fits this fallback logic?</p><ul><li><p>A. COALESCE</p></li><li><p>B. GREATEST</p></li><li><p>C. IIF</p></li><li><p>D. CHOOSE</p></li></ul><p><strong>27.</strong> You need to add a column that returns the first day of the month for each order_date value. Which T-SQL function should you use?</p><ul><li><p>A. DATEPART</p></li><li><p>B. DATEFROMPARTS</p></li><li><p>C. DATE_BUCKET</p></li><li><p>D. DATE_TRUNC</p></li></ul><p><strong>28.</strong> In a visual query, you merge two tables and need the result to include all rows from both tables. Which join type should you use?</p><ul><li><p>A. Inner</p></li><li><p>B. Full outer</p></li><li><p>C. Left outer</p></li><li><p>D. Right anti</p></li></ul><p><strong>29.</strong> You need a DAX query, run through the XMLA endpoint, that returns a table of stores opened since December 1, 2023. How should you build it?</p><ul><li><p>A. Start with SELECT and add a WHERE clause</p></li><li><p>B. Use CALCULATE without EVALUATE</p></li><li><p>C. Use DEFINE and EVALUATE, filtering the stores table with FILTER</p></li><li><p>D. Reference a single measure with no EVALUATE</p></li></ul><p><strong>30.</strong> You need a DAX query, run through the XMLA endpoint, that returns the total sales for the same period last year as a single value. How should you complete it?</p><ul><li><p>A. SUMMARIZECOLUMNS with a WHERE clause</p></li><li><p>B. FILTER over the date table only</p></li><li><p>C. CALCULATETABLE returning a table</p></li><li><p>D. CALCULATE with SAMEPERIODLASTYEAR</p></li></ul><p><strong>31.</strong> You need to return the 10 highest-value orders, and if several orders tie at the 10th position, all of them must be included. Which clause should you use?</p><ul><li><p>A. <code>SELECT TOP 10 PERCENT ... ORDER BY order_value DESC</code></p></li><li><p>B. <code>SELECT ... ORDER BY order_value DESC OFFSET 0 ROWS FETCH FIRST 10 ROWS ONLY</code></p></li><li><p>C. <code>SELECT TOP (10) WITH TIES ... ORDER BY order_value DESC</code></p></li><li><p>D. <code>SELECT DISTINCT TOP (10) ... ORDER BY order_value DESC</code></p></li></ul><p><strong>32.</strong> You need a 3-day rolling total of daily_sales, meaning each row sums the current day and the two days before it, ordered by sales_date. Which expression is correct?</p><ul><li><p>A. <code>SUM(daily_sales) OVER (ORDER BY sales_date ROWS BETWEEN 2 PRECEDING AND CURRENT ROW)</code></p></li><li><p>B. <code>SUM(daily_sales) OVER (ORDER BY sales_date RANGE BETWEEN 2 FOLLOWING AND CURRENT ROW)</code></p></li><li><p>C. <code>SUM(daily_sales) OVER (PARTITION BY sales_date)</code></p></li><li><p>D. <code>SUM(daily_sales) OVER (ORDER BY sales_date ROWS UNBOUNDED PRECEDING)</code></p></li></ul><p><strong>33.</strong> For each month, you need to show the current month&#8217;s revenue next to the previous month&#8217;s revenue in the same row. Which window function should you use?</p><ul><li><p>A. <code>LEAD(revenue) OVER (ORDER BY month)</code></p></li><li><p>B. <code>FIRST_VALUE(revenue) OVER (ORDER BY month)</code></p></li><li><p>C. <code>LAG(revenue) OVER (ORDER BY month)</code></p></li><li><p>D. <code>ROW_NUMBER() OVER (ORDER BY month)</code></p></li></ul><p><strong>34.</strong> You need to return rows 21 through 40 of a result set ordered by created_date, for a paged report. Which clause should you use?</p><ul><li><p>A. <code>SELECT TOP (40) ... ORDER BY created_date</code></p></li><li><p>B. <code>ORDER BY created_date OFFSET 20 ROWS FETCH NEXT 20 ROWS ONLY</code></p></li><li><p>C. <code>ORDER BY created_date OFFSET 21 ROWS FETCH NEXT 40 ROWS ONLY</code></p></li><li><p>D. <code>WHERE ROW_NUMBER() BETWEEN 21 AND 40</code></p></li></ul><p><strong>35.</strong> You need to divide customers into four equally sized groups based on total_spend, ranked from highest to lowest, so you can label each quartile. Which function should you use?</p><ul><li><p>A. <code>NTILE(4) OVER (ORDER BY total_spend DESC)</code></p></li><li><p>B. <code>RANK() OVER (ORDER BY total_spend DESC)</code></p></li><li><p>C. <code>PERCENT_RANK() OVER (ORDER BY total_spend DESC)</code></p></li><li><p>D. <code>ROW_NUMBER() OVER (ORDER BY total_spend DESC)</code></p><p></p></li></ul><p><strong>Answer key, Section 3:</strong> 23-A, 24-C, 25-C, 26-A, 27-D, 28-B, 29-C, 30-D, 31-C, 32-A, 33-C, 34-B, 35-A</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.histack.net/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading HiStack.net - AI &amp; System Design Newsletter! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h1><strong>Implement and manage semantic models - DP-600 Practice Exam</strong></h1><p><strong>36.</strong> You create a Direct Lake semantic model over the Delta tables of a warehouse, and that warehouse uses row-level security. When users interact with a report built on the model, which mode do the DAX queries use?</p><ul><li><p>A. Direct Lake</p></li><li><p>B. Dual</p></li><li><p>C. Import</p></li><li><p>D. DirectQuery</p></li></ul><p><strong>37.</strong> (Choose TWO.) A DirectQuery semantic model queries a source with 500 million rows, and a report built on it has slow visuals across several pages. Which two features can you use to reduce query execution time?</p><ul><li><p>A. User-defined aggregations</p></li><li><p>B. Automatic aggregations</p></li><li><p>C. Query caching</p></li><li><p>D. OneLake integration</p></li></ul><p><strong>38.</strong> You have a custom Direct Lake semantic model with 1 billion rows, and you connect to it with Tabular Editor through the XMLA endpoint. You need to make sure user queries always use Direct Lake mode and never fall back. What should you do?</p><ul><li><p>A. From Model, configure the default mode option</p></li><li><p>B. From Partitions, configure the mode option</p></li><li><p>C. From Model, configure the storage location option</p></li><li><p>D. From Model, configure the Direct Lake behavior option</p></li></ul><p><strong>39.</strong> (Choose TWO.) An import-mode model contains an Orders table with 100 million rows. You need to reduce both the memory the model uses and the time it takes to refresh. Which two actions should you perform?</p><ul><li><p>A. Split OrderDateTime into separate date and time columns</p></li><li><p>B. Replace TotalQuantity with a calculated column</p></li><li><p>C. Convert Quantity to the text data type</p></li><li><p>D. Replace TotalSalesAmount with a measure</p></li></ul><p><strong>40.</strong> You are building a calculation group and need a calculation item that shifts the selected date context to month-to-date. How should you complete the DAX expression?</p><ul><li><p>A. <code>GENERATE</code> with <code>SELECTEDVALUE</code></p></li><li><p>B. <code>CALCULATE</code> with <code>SELECTEDMEASURE</code> and <code>DATESMTD</code></p></li><li><p>C. <code>COMBINEVALUES</code> with <code>SELECTEDMEASURE</code></p></li><li><p>D. <code>FILTER</code> with <code>DATESMTD</code></p></li></ul><p><strong>Answer key, Section 4:</strong> 36-D, 37-A and B, 38-D, 39-A and D, 40-B</p>]]></content:encoded></item><item><title><![CDATA[What Is FUAM? Fabric Unified Admin Monitoring Guide]]></title><description><![CDATA[What is FUAM? How Fabric Unified Admin Monitoring tracks Fabric capacity, its features, cost, and how it compares to the Capacity Metrics app.]]></description><link>https://www.histack.net/p/what-is-fuam-fabric-unified-admin-monitoring-features-costs</link><guid isPermaLink="false">https://www.histack.net/p/what-is-fuam-fabric-unified-admin-monitoring-features-costs</guid><dc:creator><![CDATA[Maxime Marlot]]></dc:creator><pubDate>Tue, 21 Jul 2026 19:32:06 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!l3DN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a62d3e3-d093-4071-8fc6-0616e2036aab_2480x2840.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>If you run Microsoft Fabric at any real scale, you already know the monitoring story is scattered. Capacity sits in one app, activity logs live behind an admin API, workspace inventory hides in the Scanner API, and tenant settings are their own screen. <strong>FUAM</strong>, short for <strong>Fabric Unified Admin Monitoring</strong>, is the open-source answer to that. </p><p><mark data-color="#d9ead3" style="background-color: rgb(217, 234, 211); color: rgb(0, 0, 0);">FUAM collects those feeds into a single Lakehouse on your own capacity and puts Power BI reports on top.</mark></p><blockquote><p>FUAM is a community-built accelerator that pulls your whole Fabric tenant into one Lakehouse.</p></blockquote><p>This is a practitioner&#8217;s look at what the tool does, where its data comes from, how it stacks up against the first-party Capacity Metrics app, and the part most write-ups skip: what it costs in real capacity units.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.histack.net/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading HiStack.net - AI &amp; System Design Newsletter! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2><strong>What is FUAM, and why it exists</strong></h2><p>FUAM is a <strong>solution accelerator</strong>, not a product. <mark data-color="#d9ead3" style="background-color: rgb(217, 234, 211); color: rgb(0, 0, 0);">It started as a community project and now lives inside Microsoft&#8217;s fabric-toolbox repository</mark> under an MIT license, where it&#8217;s actively developed. That distinction matters. There&#8217;s no SLA, no support queue, and no promise that a given release won&#8217;t break. If something goes wrong, you file a GitHub issue and wait.</p><p>So why run an unsupported tool? Because the native pieces were never built to talk to each other. The Capacity Metrics app watches CUs, the admin monitoring workspace covers a slice, the Scanner API returns inventory as raw JSON, and none of them share a model. It exists to stitch those feeds together and keep the history, so a platform team can answer tenant-wide questions from one place.</p><p>Everything is assembled from Fabric items you already recognize. Pipelines and notebooks handle extraction and transformation, a Lakehouse stores the results in Delta Parquet, and two semantic models feed the reports in <strong>Direct Lake</strong> mode. Because the raw tables sit in your own Lakehouse, you can query them straight from the SQL endpoint or build your own model next to the ones that ship.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!l3DN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a62d3e3-d093-4071-8fc6-0616e2036aab_2480x2840.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!l3DN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a62d3e3-d093-4071-8fc6-0616e2036aab_2480x2840.png 424w, https://substackcdn.com/image/fetch/$s_!l3DN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a62d3e3-d093-4071-8fc6-0616e2036aab_2480x2840.png 848w, https://substackcdn.com/image/fetch/$s_!l3DN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a62d3e3-d093-4071-8fc6-0616e2036aab_2480x2840.png 1272w, https://substackcdn.com/image/fetch/$s_!l3DN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a62d3e3-d093-4071-8fc6-0616e2036aab_2480x2840.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!l3DN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a62d3e3-d093-4071-8fc6-0616e2036aab_2480x2840.png" width="1456" height="1667" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1a62d3e3-d093-4071-8fc6-0616e2036aab_2480x2840.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1667,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:344754,&quot;alt&quot;:&quot;Fabric Unified Admin Monitoring Orchestration and Pipelines&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.histack.net/i/207953488?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a62d3e3-d093-4071-8fc6-0616e2036aab_2480x2840.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Fabric Unified Admin Monitoring Orchestration and Pipelines" title="Fabric Unified Admin Monitoring Orchestration and Pipelines" srcset="https://substackcdn.com/image/fetch/$s_!l3DN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a62d3e3-d093-4071-8fc6-0616e2036aab_2480x2840.png 424w, https://substackcdn.com/image/fetch/$s_!l3DN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a62d3e3-d093-4071-8fc6-0616e2036aab_2480x2840.png 848w, https://substackcdn.com/image/fetch/$s_!l3DN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a62d3e3-d093-4071-8fc6-0616e2036aab_2480x2840.png 1272w, https://substackcdn.com/image/fetch/$s_!l3DN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a62d3e3-d093-4071-8fc6-0616e2036aab_2480x2840.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Fabric Unified Admin Monitoring Orchestration and Pipelines</figcaption></figure></div><h2><strong>What it monitors by FUAM: capacity, activity, and inventory</strong></h2><p>One orchestration pipeline, Load_FUAM_Data_E2E, drives the whole collection process and handles both the first full load and later incremental runs. Beneath it sit a set of modules, each responsible for one slice of the tenant:</p><ul><li><p><strong>Capacities</strong> &#8212; capacity properties and the users assigned to them.</p></li><li><p><strong>Capacity Metrics</strong> &#8212; CU consumption by timepoint and by item kind per day, pulled from the Capacity Metrics app&#8217;s semantic model over XMLA.</p></li><li><p><strong>Activities</strong> &#8212; the tenant activity log of user actions, plus a rolling 30-day aggregate.</p></li><li><p><strong>Inventory</strong> &#8212; a full tenant scan via the Scanner API: semantic models, lakehouses, warehouses, reports, and the rest of your items.</p></li><li><p><strong>Tenant settings</strong> &#8212; snapshots of tenant and delegated settings, so you can see what changed and when.</p></li><li><p><strong>Workspaces, refreshables, and Git connections</strong> &#8212; which workspaces exist (personal ones excluded), what&#8217;s scheduled to refresh, and which workspaces are wired to source control.</p></li></ul><p>That combination is what turns it into <strong>Fabric tenant monitoring</strong> rather than plain capacity watching. <mark data-color="#d9ead3" style="background-color: rgb(217, 234, 211); color: rgb(0, 0, 0);">You get </mark><strong><mark data-color="#d9ead3" style="background-color: rgb(217, 234, 211); color: rgb(0, 0, 0);">Fabric capacity utilization monitoring</mark></strong><mark data-color="#d9ead3" style="background-color: rgb(217, 234, 211); color: rgb(0, 0, 0);"> sitting in the same model as your inventory and activity history,</mark> which is exactly the join you can&#8217;t easily make when every source lives in a separate tool.</p><p>A newer <strong>optimization module</strong> (still beta) goes a layer deeper, pulling Best Practice Analyzer and VertiPaq Analyzer results for semantic models. Near-real-time CU tracking through Capacity Utilization Events is on the roadmap but hasn&#8217;t shipped.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.histack.net/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading HiStack.net - AI &amp; System Design Newsletter! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2><strong>What you can actually do with FUAM</strong></h2><p>Collection is only half the point. The reason to stand this up is the questions it lets you answer across a whole tenant instead of one capacity at a time. A few things the standard reports and model make straightforward:</p><ul><li><p>Track <strong>long-term CU utilization</strong> well beyond the roughly 14 days the Capacity Metrics app keeps, so you see seasonality and growth instead of just the last two weeks.</p></li><li><p>Rank the items driving consumption. The item-level report and model let you sort semantic models, reports, and pipelines by the load they put on a capacity.</p></li><li><p>Spot orphaned content by cross-referencing inventory against activity, which is how you find the fifty workspaces nobody has opened in months.</p></li><li><p>Audit tenant settings over time and trace who&#8217;s been active where.</p></li><li><p>Extend any of it. Since the Lakehouse is yours, you can join FUAM&#8217;s tables to your own chargeback data or a CMDB and build reports the shipped ones don&#8217;t cover.</p></li></ul><p>That last point is the real draw for teams with a data engineer on hand. The bundled reports are a starting layer, and the <strong>capabilities</strong> you actually want tend to be the ones you build on top of the raw tables.</p><h2><strong>FUAM vs the Fabric Capacity Metrics app</strong></h2><p>This is the comparison people ask for most, and the usual framing is off. These two aren&#8217;t competitors. One depends on the other.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3Mo9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cba9e27-ebc2-40d4-a05c-46dd73e0ba8d_2480x3760.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3Mo9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cba9e27-ebc2-40d4-a05c-46dd73e0ba8d_2480x3760.png 424w, https://substackcdn.com/image/fetch/$s_!3Mo9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cba9e27-ebc2-40d4-a05c-46dd73e0ba8d_2480x3760.png 848w, https://substackcdn.com/image/fetch/$s_!3Mo9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cba9e27-ebc2-40d4-a05c-46dd73e0ba8d_2480x3760.png 1272w, https://substackcdn.com/image/fetch/$s_!3Mo9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cba9e27-ebc2-40d4-a05c-46dd73e0ba8d_2480x3760.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3Mo9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cba9e27-ebc2-40d4-a05c-46dd73e0ba8d_2480x3760.png" width="1456" height="2207" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8cba9e27-ebc2-40d4-a05c-46dd73e0ba8d_2480x3760.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:2207,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:508873,&quot;alt&quot;:&quot;FUAM VS Fabric Capacity Metric App&quot;,&quot;title&quot;:&quot;FUAM VS Fabric Capacity Metric App&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.histack.net/i/207953488?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cba9e27-ebc2-40d4-a05c-46dd73e0ba8d_2480x3760.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="FUAM VS Fabric Capacity Metric App" title="FUAM VS Fabric Capacity Metric App" srcset="https://substackcdn.com/image/fetch/$s_!3Mo9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cba9e27-ebc2-40d4-a05c-46dd73e0ba8d_2480x3760.png 424w, https://substackcdn.com/image/fetch/$s_!3Mo9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cba9e27-ebc2-40d4-a05c-46dd73e0ba8d_2480x3760.png 848w, https://substackcdn.com/image/fetch/$s_!3Mo9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cba9e27-ebc2-40d4-a05c-46dd73e0ba8d_2480x3760.png 1272w, https://substackcdn.com/image/fetch/$s_!3Mo9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8cba9e27-ebc2-40d4-a05c-46dd73e0ba8d_2480x3760.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">FUAM VS Fabric Capacity Metric App</figcaption></figure></div><h3><strong>The Capacity Metrics app</strong></h3><ul><li><p>First-party, Microsoft-supported, installed from AppSource.</p></li><li><p>Focused on capacity: CU usage, throttling, overloads, interactive versus background operations.</p></li><li><p>Short retention (a rolling window of roughly 14 days) and a fixed model you don&#8217;t really customize.</p></li><li><p>The right tool for &#8220;is my capacity throttling right now, and why.&#8221;</p></li></ul><h3><strong>Fabric Unified Admin Monitoring</strong></h3><ul><li><p>A community accelerator you deploy and own, with no official support.</p></li><li><p>Tenant-wide: capacity plus inventory, activities, tenant settings, refreshables, and Git connections in one model.</p></li><li><p>Long history, kept as long as you keep loading it, and fully open to extend.</p></li><li><p>The right tool for &#8220;what&#8217;s happening across my whole estate over time.&#8221;</p></li></ul><p>Here&#8217;s the catch worth stating plainly. FUAM reads its capacity numbers from the Capacity Metrics app&#8217;s semantic model through the XMLA endpoint, so you need that app installed and a compatible build (the docs call out specific versions such as v65, v53, v47, and v44 or earlier). Because that extraction rides on the app&#8217;s internal model, a change on Microsoft&#8217;s side can break the feed without warning. Keep the app, and treat it as the layer that unifies everything around it.</p><h2><strong>What FUAM costs to run</strong></h2><p>The software is free. There&#8217;s no license and no per-seat charge. The cost is <strong>capacity</strong>, because every pipeline run, notebook execution, and report query burns CUs on the Fabric capacity you deploy it to, plus a small OneLake storage footprint for the Delta tables.</p><p>You need a <strong>P or F SKU</strong> to run it. PPU and Pro shared workspaces aren&#8217;t supported, and deployment also needs a service principal, Fabric admin rights, and the XMLA endpoint enabled on the Capacity Metrics app.</p><p>So what does it actually consume? Real-world figures from practitioners running it on an <strong>F64</strong> land in a fairly consistent range. Treat these as community reports, not official Microsoft numbers:</p><ul><li><p>Steady state stays low, often around <strong>2 to 5%</strong> of capacity over time.</p></li><li><p>A single scheduled run tends to sit near <strong>10%</strong> of CU while the pipeline is active.</p></li><li><p>The initial backfill is the heaviest moment and can touch <strong>10 to 15%</strong> for a short window, depending on how much history you pull and how many workspaces you scan.</p></li><li><p>Storage is negligible next to compute.</p></li></ul><p>Consumption scales with metadata volume, not raw data size, so more workspaces and more activity mean longer notebook runs. Two things bite people. Over-scheduling is the first. Running the pipeline every few minutes is rarely worth it, and every 30 to 60 minutes (or even twice a day) covers most admin needs. The shipped semantic model is the second. It isn&#8217;t tuned well, and at least one team reported a single report filter nearly pushing an F64 into throttling, which is a strong argument for building your own model on the tables.</p><blockquote><p><strong>Takeaway:</strong> FUAM is free to license but not free to run. Budget a few percent of a mid-size capacity for steady state, schedule it off-peak, and load incrementally after the first backfill.</p></blockquote><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.histack.net/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.histack.net/subscribe?"><span>Subscribe now</span></a></p><h2><strong>FUAM Limitations</strong></h2><p>This earns its place when a single capacity app stops being enough: multiple capacities, a growing tenant, governance questions that need history, or a platform team that wants everything queryable in one Lakehouse. For one small capacity, the native app plus built-in workspace monitoring may be all you ever need.</p><p>Know the limits before you commit:</p><ul><li><p><strong>No official support.</strong> It&#8217;s community-maintained, so budget time to read code and follow releases.</p></li><li><p><strong>Not real-time.</strong> <mark data-color="#d9ead3" style="background-color: rgb(217, 234, 211); color: rgb(0, 0, 0);">Collection is batch, and freshness follows your schedule.</mark> Near-real-time CU events are still on the roadmap.</p></li><li><p><strong>It leans on the Capacity Metrics app.</strong> Version drift there can break the capacity feed.</p></li><li><p><strong>The default model needs work.</strong> Plan to tune or replace it before you point many users at it.</p></li><li><p><strong>It competes for the capacity it measures.</strong> A common recommendation is to give the tool and the Capacity Metrics app their own small capacity, so a production overload doesn&#8217;t also blind the thing you use to diagnose it.</p></li></ul><p>Deployed with those constraints in mind, Fabric Unified Admin Monitoring turns a pile of disconnected admin surfaces into one model you control. For anyone running Fabric past a single capacity, that consolidation is worth the setup, as long as you go in treating it as an accelerator you own rather than a product someone else supports.</p>]]></content:encoded></item><item><title><![CDATA[Power BI Licensing Explained: Free vs Pro vs PPU vs Fabric Capacity]]></title><description><![CDATA[Compare Power BI licenses: Free, Pro, PPU, and Fabric capacity. Pricing, features, and a simple decision flow to pick the right plan.]]></description><link>https://www.histack.net/p/power-bi-licenses-features-pricing</link><guid isPermaLink="false">https://www.histack.net/p/power-bi-licenses-features-pricing</guid><dc:creator><![CDATA[Maxime Marlot]]></dc:creator><pubDate>Thu, 16 Jul 2026 19:14:37 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!qx-s!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb888121e-c7c4-4cfe-995d-8754a59abae7_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<blockquote><p>Power BI is one of the most powerful tools in the data world, and it has become the default choice for analytics teams at companies of every size. <mark data-color="#d9ead3" style="background-color: rgb(217, 234, 211); color: rgb(0, 0, 0);">Millions of data analysts, developers, and business users rely on Power BI</mark> every day to turn raw data into reports, dashboards, and decisions.</p></blockquote><p>Power BI licensing trips up almost everyone the first time they try to share a report. The confusing part is that Power BI licenses come in two completely different shapes: <mark data-color="#ffffff" style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);">most are billed per person, and one is billed per unit of compute. </mark></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qx-s!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb888121e-c7c4-4cfe-995d-8754a59abae7_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qx-s!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb888121e-c7c4-4cfe-995d-8754a59abae7_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!qx-s!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb888121e-c7c4-4cfe-995d-8754a59abae7_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!qx-s!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb888121e-c7c4-4cfe-995d-8754a59abae7_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!qx-s!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb888121e-c7c4-4cfe-995d-8754a59abae7_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qx-s!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb888121e-c7c4-4cfe-995d-8754a59abae7_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b888121e-c7c4-4cfe-995d-8754a59abae7_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1673691,&quot;alt&quot;:&quot;Compare Power BI licenses: Free, Pro, PPU, and Fabric capacity&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.histack.net/i/207327929?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb888121e-c7c4-4cfe-995d-8754a59abae7_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Compare Power BI licenses: Free, Pro, PPU, and Fabric capacity" title="Compare Power BI licenses: Free, Pro, PPU, and Fabric capacity" srcset="https://substackcdn.com/image/fetch/$s_!qx-s!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb888121e-c7c4-4cfe-995d-8754a59abae7_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!qx-s!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb888121e-c7c4-4cfe-995d-8754a59abae7_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!qx-s!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb888121e-c7c4-4cfe-995d-8754a59abae7_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!qx-s!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb888121e-c7c4-4cfe-995d-8754a59abae7_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Compare Power BI licenses: Free, Pro, PPU, and Fabric capacity</figcaption></figure></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.histack.net/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading HiStack.net - AI &amp; System Design Newsletter! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>Buy the wrong one and you either can&#8217;t share your work or you sign a five-figure contract you never needed. </p><p>This guide breaks down the options that matter in 2026 (Free, Pro, Premium Per User, and Fabric capacity), plus the legacy Premium capacity SKU you&#8217;ll still see referenced, what each one includes, and how to choose the right Power BI license.</p><h1><strong>The five Power BI licenses compared</strong></h1><p>Here is the short version before the detail. Prices are US list, billed annually.</p><ul><li><p><strong><mark data-color="#d9ead3" style="background-color: rgb(217, 234, 211); color: rgb(0, 0, 0);">Power BI Free</mark></strong><mark data-color="#d9ead3" style="background-color: rgb(217, 234, 211); color: rgb(0, 0, 0);">:</mark> $0 per user. Build reports in Power BI Desktop and save them to your own workspace. You can&#8217;t share with colleagues the normal way.</p></li><li><p><strong><mark data-color="#d9ead3" style="background-color: rgb(217, 234, 211); color: rgb(0, 0, 0);">Power BI Pro</mark></strong><mark data-color="#d9ead3" style="background-color: rgb(217, 234, 211); color: rgb(0, 0, 0);">:</mark> $14 per user per month. Publish, share, and collaborate. Everyone who opens your report also needs Pro.</p></li><li><p><strong><mark data-color="#d9ead3" style="background-color: rgb(217, 234, 211); color: rgb(0, 0, 0);">Power BI Premium Per User (PPU)</mark></strong><mark data-color="#d9ead3" style="background-color: rgb(217, 234, 211); color: rgb(0, 0, 0);">:</mark> $24 per user per month. Everything in Pro plus enterprise features like large models and paginated reports. Authors and viewers both need PPU.</p></li><li><p><strong>Power BI Premium capacity (P SKU)</strong>: legacy dedicated capacity, now <strong>being replaced by Fabric</strong>. New customers buy Fabric instead.</p></li><li><p><strong><mark data-color="#d9ead3" style="background-color: rgb(217, 234, 211); color: rgb(0, 0, 0);">Microsoft Fabric capacity (F SKU)</mark></strong><mark data-color="#d9ead3" style="background-color: rgb(217, 234, 211); color: rgb(0, 0, 0);">:</mark> dedicated compute billed by the hour, from about $263 per month (F2) up to roughly $8,400 per month (F64). At F64 and above, viewers read Power BI content with a free license.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Ywld!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4c1ee56-7619-4a9e-95a5-cb1ea48d2c21_3200x2070.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Ywld!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4c1ee56-7619-4a9e-95a5-cb1ea48d2c21_3200x2070.png 424w, https://substackcdn.com/image/fetch/$s_!Ywld!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4c1ee56-7619-4a9e-95a5-cb1ea48d2c21_3200x2070.png 848w, https://substackcdn.com/image/fetch/$s_!Ywld!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4c1ee56-7619-4a9e-95a5-cb1ea48d2c21_3200x2070.png 1272w, https://substackcdn.com/image/fetch/$s_!Ywld!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4c1ee56-7619-4a9e-95a5-cb1ea48d2c21_3200x2070.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Ywld!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4c1ee56-7619-4a9e-95a5-cb1ea48d2c21_3200x2070.png" width="1456" height="942" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f4c1ee56-7619-4a9e-95a5-cb1ea48d2c21_3200x2070.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:942,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:265747,&quot;alt&quot;:&quot;Power BI Licensing Explained: Free vs Pro vs PPU vs Fabric Capacity&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.histack.net/i/207327929?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4c1ee56-7619-4a9e-95a5-cb1ea48d2c21_3200x2070.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Power BI Licensing Explained: Free vs Pro vs PPU vs Fabric Capacity" title="Power BI Licensing Explained: Free vs Pro vs PPU vs Fabric Capacity" srcset="https://substackcdn.com/image/fetch/$s_!Ywld!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4c1ee56-7619-4a9e-95a5-cb1ea48d2c21_3200x2070.png 424w, https://substackcdn.com/image/fetch/$s_!Ywld!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4c1ee56-7619-4a9e-95a5-cb1ea48d2c21_3200x2070.png 848w, https://substackcdn.com/image/fetch/$s_!Ywld!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4c1ee56-7619-4a9e-95a5-cb1ea48d2c21_3200x2070.png 1272w, https://substackcdn.com/image/fetch/$s_!Ywld!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4c1ee56-7619-4a9e-95a5-cb1ea48d2c21_3200x2070.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Power BI Licensing Pricing and Features: Free vs Pro vs PPU vs Fabric Capacity</figcaption></figure></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.histack.net/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading HiStack.net - AI &amp; System Design Newsletter! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2><strong>What each of the Power BI licenses lets you do</strong></h2><p>The Power BI licenses differ on two axes: the features you get, and who has to hold a paid seat. Keep both in mind as you read.</p><h3><strong>Power BI Free License</strong></h3><p>A <strong>Power BI free license</strong> lets one person do real work. You can connect to data, model it, build reports in Power BI Desktop, and publish to your personal My Workspace. The wall you hit is sharing. </p><p>A free user can&#8217;t hand a report to a coworker or publish an app that others open, with one exception I&#8217;ll come back to under Fabric. </p><blockquote><p>For a solo analyst prototyping something, Power BI free licenses are genuinely useful. For a team that needs to collaborate, they&#8217;re a dead end.</p></blockquote><h3><strong>Power BI Pro License</strong></h3><p><strong>Power BI Pro</strong> is the license most organizations run on. It lets you publish to shared workspaces, collaborate with other Pro users, distribute apps, and schedule data refresh. The part that surprises people: sharing is symmetric. If you hold Pro and your audience doesn&#8217;t, they still can&#8217;t open the report. In a pure Pro setup, every author and every viewer needs their own $14 seat. Fifty report consumers means fifty seats.</p><h3><strong>Power BI Premium Per User License</strong></h3><p>PPU sits between Pro and full capacity. A <strong>Power BI Premium Per User license</strong> costs $24 per month and adds the features data teams ask for once they outgrow Pro: semantic models up to 100 GB, paginated reports, the XMLA endpoint for external tools, deployment pipelines, and refresh up to 48 times a day.</p><p>The same symmetry rule applies here. Content published to a PPU workspace can only be opened by other PPU users, so you can&#8217;t pair a few PPU authors with hundreds of Pro viewers. That&#8217;s precisely why PPU fits small analyst teams and stops making sense once your audience grows.</p><h3><strong>Premium capacity and Fabric F-SKU</strong></h3><p>Here is where per-user pricing ends. A <strong>Power BI Premium license</strong> in the old model meant a P SKU, a block of dedicated capacity your reports run on instead of the shared pool. Microsoft has folded that into <strong>Microsoft Fabric</strong>, the P SKUs are being retired, and new purchases are Fabric F SKUs.</p><p>A <strong>Microsoft Fabric license</strong> at the capacity level buys compute, not seats. The number that matters is F64. At F64 and above, anyone with a free license can view reports hosted on that capacity, up to roughly 5,000 viewers. Below F64 (F2 through F32), you still need Pro for every user, so small capacities give you performance, not licensing relief. Authors who publish always need at least Pro, even on a large capacity.</p><h2><strong>Power BI Per-user vs Fabric capacity pricing</strong></h2><p>All Power BI licenses eventually answer one question: are you paying per person, or per capacity?</p><p>Per-user pricing is simple and scales in a straight line. Ten users on Pro is $140 a month. A hundred is $1,400. Two hundred is $2,800. It stays cheap until your viewer count climbs, then the bill climbs right along with it.</p><p>Capacity pricing is flat. F64 runs roughly $8,400 a month pay-as-you-go, or about $5,000 a month on a one-year reservation, regardless of how many people read the reports (within that 5,000-viewer ceiling). The trade is that you pay the same whether 60 people or 4,000 people use it.</p><p>So there&#8217;s a break-even point, and it&#8217;s worth calculating before you commit. Compare the capacity bill against what you&#8217;d spend on Pro seats for your viewers.</p><blockquote><p><strong>Rule of thumb:</strong> F64 reserved (around $5,000 a month) is roughly 350 Pro viewers at $14 each. Below that headcount, per-user Power BI licenses are cheaper. Above it, capacity wins, and the gap widens quickly.</p></blockquote><p>Authors are a separate line on the invoice. Even on F64, the people building and publishing content still need Pro or PPU seats. Capacity removes the viewer tax, not the builder tax.</p><h2><strong>When you actually need Fabric or a Premium license</strong></h2><p>Reach for capacity when one of these is true.</p><ul><li><p><strong>Your viewer count crosses roughly 300 to 350 people.</strong> Past that line, buying a <strong>Power BI premium license</strong> as Fabric capacity costs less than stacking up Pro seats.</p></li><li><p><strong>You need Premium-only features across a wide audience.</strong> Paginated reports, large models, or frequent refresh delivered to hundreds of viewers is a capacity job, not a per-user one.</p></li><li><p><strong>You&#8217;re building beyond Power BI.</strong> Fabric capacity also powers data engineering, warehousing, real-time intelligence, and notebooks on the same compute, so if reporting sits inside a broader Fabric project, the capacity is already paid for.</p></li><li><p><strong>You want free-license viewing.</strong> The F64 threshold on a <strong>Microsoft Fabric license</strong> lets thousands of people read reports without individual seats.</p></li></ul><p>Stay on per-user licensing when your audience is small, your needs fit inside Pro, and you&#8217;d rather not operate a capacity. Most teams under a couple hundred users come out cheaper and simpler on Pro.</p><h2><strong>A short decision flow</strong></h2><p>Run through these in order and stop at the first yes.</p><ol><li><p><strong>Working alone and only building for yourself?</strong> A Power BI free license covers it. Spend nothing.</p></li><li><p><strong>Sharing reports with a handful of colleagues?</strong> Put everyone involved on Power BI Pro. This is the right answer for most small teams.</p></li><li><p><strong>A few analysts need large models, paginated reports, or the XMLA endpoint, but the viewer group is also small?</strong> Give those users a Power BI Premium Per User license and keep the group tight.</p></li><li><p><strong>Distributing to a few hundred viewers or more, or need Premium features at scale?</strong> Move to Fabric capacity, and size at F64 or above so viewers read content on free licenses.</p></li><li><p><strong>Already running a Fabric project for engineering or warehousing?</strong> The capacity is bought, so publish your Power BI content there and license only your authors with Pro.</p></li></ol><p>The mistake I see most often is jumping to capacity too early because it sounds enterprise-grade, or clinging to per-user seats long after 500 viewers turned them into the expensive option. </p><blockquote><p><mark data-color="#d9ead3" style="background-color: rgb(217, 234, 211); color: rgb(0, 0, 0);">Count your viewers, check the break-even, and let the number pick the plan. </mark><mark data-color="#ffffff" style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);">When your Power BI licenses match your actual audience, the bill takes care of itself.</mark></p></blockquote>]]></content:encoded></item><item><title><![CDATA[AI-901 Practice Exam: 40 Free Practice Questions with Answers]]></title><description><![CDATA[This article is the natural next step: a free AI-901 practice exam with 40 questions and answers, so you can test what you have learned.]]></description><link>https://www.histack.net/p/ai-901-free-practice-exam-assessment</link><guid isPermaLink="false">https://www.histack.net/p/ai-901-free-practice-exam-assessment</guid><dc:creator><![CDATA[Maxime Marlot]]></dc:creator><pubDate>Sun, 05 Jul 2026 19:12:27 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Ft56!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18a7f7f0-728b-4923-82a3-2e2503d22bdb_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Ft56!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18a7f7f0-728b-4923-82a3-2e2503d22bdb_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Ft56!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18a7f7f0-728b-4923-82a3-2e2503d22bdb_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!Ft56!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18a7f7f0-728b-4923-82a3-2e2503d22bdb_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!Ft56!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18a7f7f0-728b-4923-82a3-2e2503d22bdb_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!Ft56!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18a7f7f0-728b-4923-82a3-2e2503d22bdb_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Ft56!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18a7f7f0-728b-4923-82a3-2e2503d22bdb_1536x1024.png" width="522" height="348.1195054945055" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/18a7f7f0-728b-4923-82a3-2e2503d22bdb_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:522,&quot;bytes&quot;:2016905,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.histack.net/i/205293365?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18a7f7f0-728b-4923-82a3-2e2503d22bdb_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Ft56!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18a7f7f0-728b-4923-82a3-2e2503d22bdb_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!Ft56!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18a7f7f0-728b-4923-82a3-2e2503d22bdb_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!Ft56!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18a7f7f0-728b-4923-82a3-2e2503d22bdb_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!Ft56!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18a7f7f0-728b-4923-82a3-2e2503d22bdb_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">AI-901: Microsoft AI Fundamentals, Practice Assessment</figcaption></figure></div><p>In a previous article, I shared my personal experience passing AI-901. Based on that, I started writing a full study guide and exam preparation for the new Microsoft Azure AI Fundamentals exam, the one now replacing AI-900. You can find both here:</p><ul><li><p>My experience and the full study guide: <strong><a href="https://www.histack.net/p/ai-901-study-guide-and-exam-preparation"><mark data-color="#d9ead3" style="background-color: rgb(217, 234, 211); color: rgb(0, 0, 0);">AI-901 Study Guide and Exam Preparation</mark></a></strong></p></li><li><p>The condensed <mark data-color="#d9ead3" style="background-color: rgb(217, 234, 211); color: rgb(0, 0, 0);">AI-901 cheat sheet (PDF): </mark>Subscribe below to get the PDF!</p></li></ul><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.histack.net/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><mark data-color="#fff2cc" style="background-color: rgb(255, 242, 204); color: rgb(0, 0, 0);">Join the Newsletter for free and get my AI-901 cheat sheet</mark> (PDF)</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p><div><hr></div><p></p><blockquote><p>&#9888;&#65039; These are original practice questions, written from Microsoft's published AI-901 skills outline and my own exam experience in July 2026. They are not real exam items. The exam is new and can still change, so use this for preparation, not as a guarantee.</p></blockquote><p><strong>How this works? Substack has no quiz tool, so all 28 questions come first, grouped into three sections. The answer key sits at the bottom of each section.</strong></p><p>The exam breaks into three areas, so this practice test does too:</p><ol><li><p>Responsible AI: 8 questions</p></li><li><p>AI concepts and workloads: 22 questions</p></li><li><p>Microsoft Foundry and Azure OpenAI: 10 questions</p></li></ol><div><hr></div><p style="text-align: center;"><em>Go to the next step by preparing the <a href="https://www.histack.net/p/dp-600-free-practice-exam-test">DP-600: Fabric Analytics Engineer Associate</a></em></p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;66016392-3d1c-4a24-b1b7-2c2de08b1884&quot;,&quot;caption&quot;:&quot;I passed the DP-600 in the last few weeks, and this DP-600 practice exam is the study tool I wish I&#8217;d had the week before. Every question from this mock comes from Microsoft&#8217;s published skills outline and the topics that actually came up on the day, rewritten in my own words.&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;DP-600 Practice Exam: 40 Free Exam Questions with Answers&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:321982382,&quot;name&quot;:&quot;Maxime Marlot&quot;,&quot;bio&quot;:&quot;Cloud Solution Architect: Data &amp; AI at Microsoft. Demystifying AI &amp; System Design! Owner of www.histack.net&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c30ebfef-4d91-4929-8354-e89be4c50f67_800x800.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-07-22T21:20:56.157Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!wPib!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2d9535a-9ba2-4a55-94c8-ccdd60ea652e_1536x1024.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.histack.net/p/dp-600-free-practice-exam-test&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:208112037,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:1,&quot;comment_count&quot;:0,&quot;publication_id&quot;:4303225,&quot;publication_name&quot;:&quot;HiStack.net - AI &amp; System Design Newsletter&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!bDUw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6eb3ac3a-52b7-458c-8b6e-d6c2203f5f67_1280x1280.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.histack.net/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading HiStack.net - AI &amp; System Design Newsletter! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2><strong>Responsible AI - AI-901 Practice assessment</strong></h2><p><strong>1.</strong> A hiring model recommends noticeably fewer qualified candidates from one region than from others with identical qualifications. Which Microsoft responsible AI principle is most at risk?</p><ul><li><p>A. Reliability and safety</p></li><li><p>B. Fairness</p></li><li><p>C. Transparency</p></li><li><p>D. Inclusiveness</p></li></ul><p><strong>2.</strong> A bank must be able to explain to a rejected applicant why the AI declined their loan. Which principle does this support?</p><ul><li><p>A. Accountability</p></li><li><p>B. Privacy and security</p></li><li><p>C. Transparency</p></li><li><p>D. Fairness</p></li></ul><p><strong>3.</strong> Two review teams assess the same model. Team A finds it performs worse for older users. Team B finds that no one can explain how it reaches a decision. Which principles did Team A and Team B identify, in that order?</p><ul><li><p>A. Transparency, then Fairness</p></li><li><p>B. Fairness, then Transparency</p></li><li><p>C. Fairness, then Accountability</p></li><li><p>D. Inclusiveness, then Transparency</p></li></ul><p><strong>4.</strong> A customer service chatbot must refuse harmful requests and behave predictably even with unexpected input. Which principle applies, and which Azure capability most directly supports it?</p><ul><li><p>A. Privacy and security (managed identities)</p></li><li><p>B. Reliability and safety (content filters and model evaluation)</p></li><li><p>C. Transparency (model cards)</p></li><li><p>D. Accountability (audit logs)</p></li></ul><p><strong>5.</strong> A solution must keep customer personal data protected and let services authenticate without secrets stored in code. Which principle and feature best fit?</p><ul><li><p>A. Inclusiveness</p></li><li><p>B. Fairness </p></li><li><p>C. Privacy and security</p></li><li><p>D. Transparency</p></li></ul><p><strong>6.</strong> A team adds captions, screen reader support, and multiple languages so their app works for people of all abilities and backgrounds. Which principle is this an example of?</p><ul><li><p>A. Inclusiveness</p></li><li><p>B. Accountability</p></li><li><p>C. Reliability and safety</p></li><li><p>D. Fairness</p></li></ul><p><strong>7.</strong> An organization keeps an auditable record of AI decisions and assigns a named human owner who is answerable for outcomes. Which principle does this reflect?</p><ul><li><p>A. Transparency</p></li><li><p>B. Accountability</p></li><li><p>C. Privacy and security</p></li><li><p>D. Reliability and safety</p></li></ul><p><strong>8.</strong> (Choose TWO.) Which two are ways Microsoft helps you apply responsible AI to a generative model?</p><ul><li><p>A. Configure content filters on the model deployment</p></li><li><p>B. Increase <code>max_tokens</code> to reduce hallucination</p></li><li><p>C. Review the model card for capabilities and limitations</p></li><li><p>D. Set <code>temperature</code> to 1 for higher accuracy</p></li><li><p>E. Store the API key in the application source code</p></li></ul><p><strong>Answer key, Section 1:</strong><span> 1-B, 2-C, 3-B, 4-B, 5-C, 6-A, 7-B, 8-A/C</span></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.histack.net/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.histack.net/subscribe?"><span>Subscribe now</span></a></p><h2><strong>AI concepts and workloads - AI-901 Practice assessment</strong></h2><p><strong>9.</strong> A voice assistant must read the day&#8217;s weather aloud in a natural sounding voice. Which capability of Azure Speech is required?</p><ul><li><p>A. Speech recognition</p></li><li><p>B. Speech synthesis</p></li><li><p>C. Speech translation</p></li><li><p>D. Language detection</p></li></ul><p><strong>10.</strong> In Microsoft Foundry, which statement correctly describes hubs and projects?</p><ul><li><p>A. A project contains many hubs</p></li><li><p>B. Hubs and projects are the same thing</p></li><li><p>C. A hub is a top level container for governance, security, and quota, and a project lives inside it where you build</p></li><li><p>D. A hub is only for billing</p></li></ul><p><strong>11.</strong> You must automatically pull out and categorize people, organizations, dates, and locations across thousands of contracts. Which Azure Language capability fits best?</p><ul><li><p>A. Sentiment analysis</p></li><li><p>B. Named entity recognition</p></li><li><p>C. Key phrase extraction</p></li><li><p>D. Language detection</p></li></ul><p><strong>12.</strong> A team needs a fast, low cost model for high volume, simple chat replies, and does not need advanced reasoning. Which choice best balances cost and capability?</p><ul><li><p>A. GPT-4o</p></li><li><p>B. An embedding model</p></li><li><p>C. GPT-4o-mini</p></li><li><p>D. A Document Intelligence prebuilt</p></li></ul><p><strong>13.</strong> A call centre needs to turn recorded customer calls into searchable text transcripts. Which capability do you need?</p><ul><li><p>A. Text to speech</p></li><li><p>B. Speech synthesis</p></li><li><p>C. Speech to text</p></li><li><p>D. Key phrase extraction</p></li></ul><p><strong>14.</strong> You want to browse available models, read a model&#8217;s capabilities and limits, then deploy one. In the Foundry portal, which order of areas do you use?</p><ul><li><p>A. Model catalog, then Model card, then Deployments</p></li><li><p>B. Playground, then Agents, then Evaluation</p></li><li><p>C. Deployments, then Model catalog, then Playground</p></li><li><p>D. Agents, then Evaluation, then Model catalog</p></li></ul><p><strong>15.</strong> A company must automatically detect and redact personal information, such as names, phone numbers, and email addresses, from customer support transcripts before storing them. Which Azure Language capability should they use?</p><ul><li><p>A. Key phrase extraction</p></li><li><p>B. PII detection</p></li><li><p>C. Sentiment analysis</p></li><li><p>D. Named entity recognition</p></li></ul><p><strong>16.</strong> You are building an app that extracts structured fields, including nested values, from invoices, images, and short audio notes, using a schema you describe in natural language. What should you use?</p><ul><li><p>A. An OCR only document pipeline</p></li><li><p>B. A transcription workflow in Azure Speech in Foundry Tools</p></li><li><p>C. An analyzer in Azure Content Understanding</p></li><li><p>D. Azure AI Search</p></li></ul><p><strong>17.</strong> A brand wants to know whether social posts about its product are positive, negative, or neutral. Which text analysis technique applies?</p><ul><li><p>A. Summarization</p></li><li><p>B. Entity recognition</p></li><li><p>C. Sentiment analysis</p></li><li><p>D. Translation</p></li></ul><p><strong>18.</strong> When you deploy a model in Foundry, which setting controls how many tokens per minute the deployment can handle, and therefore affects throughput and cost?</p><ul><li><p>A. Temperature</p></li><li><p>B. The system prompt</p></li><li><p>C. The endpoint name</p></li><li><p>D. Capacity</p></li></ul><p><strong>19.</strong> (Choose TWO.) Which two are text analysis capabilities of Azure Language?</p><ul><li><p>A. Named entity recognition</p></li><li><p>B. Text to speech</p></li><li><p>C. Sentiment analysis</p></li><li><p>D. Image generation</p></li><li><p>E. Optical character recognition of scanned forms</p></li></ul><p><strong>20.</strong> You only need to extract fields from a known, standard form type (supplier invoices) with high, deterministic accuracy. Which is most appropriate?</p><ul><li><p>A. A custom Content Understanding analyzer</p></li><li><p>B. A Document Intelligence prebuilt model</p></li><li><p>C. A multimodal chat model</p></li><li><p>D. Azure AI Search</p></li></ul><p><strong>21.</strong> You just need the raw printed and handwritten text extracted from scanned pages, with no schema and no field mapping. Which capability fits?</p><ul><li><p>A. OCR</p></li><li><p>B. Sentiment analysis</p></li><li><p>C. Text to speech</p></li><li><p>D. Key phrase extraction</p></li></ul><p><strong>22.</strong> You deployed a gpt-4o model under the deployment name <code>prod-chat</code>. In your client code, which value do you pass as the model to call it?</p><ul><li><p>A. gpt-4o, the base model name</p></li><li><p>B. The resource endpoint URL</p></li><li><p>C. <code>prod-chat</code>, the deployment name</p></li><li><p>D. The Azure region</p></li></ul><p><strong>23.</strong> An app should accept a photo and answer free form questions about it, for example &#8220;what is unusual here?&#8221;. What is the best fit?</p><ul><li><p>A. An OCR algorithm</p></li><li><p>B. A deployed multimodal model</p></li><li><p>C. Key phrase extraction</p></li><li><p>D. Speech synthesis</p></li></ul><p><strong>24.</strong> You need to extract fields from a document type that is unique to your company and is not a standard form. Which Content Understanding option fits?</p><ul><li><p>A. A prebuilt analyzer</p></li><li><p>B. Read (OCR)</p></li><li><p>C. Speech to text</p></li><li><p>D. A custom analyzer</p></li></ul><p><strong>25.</strong> A marketing team wants to generate brand new images from text descriptions. Which model type do they need?</p><ul><li><p>A. An embedding model</p></li><li><p>B. DALL&#183;E</p></li><li><p>C. A speech model</p></li><li><p>D. A Document Intelligence prebuilt</p></li></ul><p><strong>26.</strong> Before writing any code, where in the Foundry portal can you interactively test a deployed model with different prompts?</p><ul><li><p>A. The Evaluation tab</p></li><li><p>B. The Playground</p></li><li><p>C. The Model catalog</p></li><li><p>D. The Hub settings</p></li></ul><p><strong>27.</strong> In a generative AI model, what are embeddings?</p><ul><li><p>A. The maximum length of a response</p></li><li><p>B. Numeric vector representations</p></li><li><p>C. The system prompt rules</p></li><li><p>D. The deployment region</p></li></ul><p><strong>28.</strong> (Choose TWO.) What are two purposes of the system prompt (the instructions) for a generative model?</p><ul><li><p>A. Define the model&#8217;s role and behaviour</p></li><li><p>B. Select which model to deploy</p></li><li><p>C. Define constraints on the model&#8217;s responses</p></li><li><p>D. Set the tokens per minute quota</p></li><li><p>E. Define the user question and intent</p></li></ul><p><strong>29.</strong> A chatbot keeps giving outdated answers about your company&#8217;s internal policies. Which technique most directly improves accuracy by supplying your own data at query time?</p><ul><li><p>A. Increasing temperature</p></li><li><p>B. Fine tuning the base model from scratch</p></li><li><p>C. Grounding the model with retrieval (RAG)</p></li><li><p>D. Raising <code>max_tokens</code></p></li></ul><p><strong>30.</strong> (Choose TWO.) Which two factors make a smaller model such as GPT-4o-mini a good choice for a task?</p><ul><li><p>A. Lower cost</p></li><li><p>B. Lower latency</p></li><li><p>C. It always produces more accurate answers</p></li><li><p>D. It is required for responsible AI</p></li><li><p>E. It supports more languages than larger models</p></li></ul><p><strong>Answer key, Section 2: </strong>9-B, 10-C, 11-B, 12-C, 13-C, 14-A, 15-B, 16-C, 17-C, 18-D, 19-A and C, 20-B, 21-A, 22-C, 23-B, 24-D, 25-B, 26-B, 27-B, 28-A and C, 29-C, 30-A and B</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.histack.net/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading HiStack.net - AI &amp; System Design Newsletter! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h4><strong>Building with Microsoft Foundry: SDK, prompts and services - AI-901 Practice assessment</strong></h4><p><strong>31.</strong> You are writing a Python app that uses Azure Speech in Foundry Tools. Which object holds the credentials and the service region so the speech service can be called?</p><ul><li><p>A. AudioConfig</p></li><li><p>B. SpeechRecognizer</p></li><li><p>C. SpeechConfig</p></li><li><p>D. AIProjectClient</p></li></ul><p><strong>32.</strong> In the Azure Speech SDK, which object specifies where the audio comes from or goes to, for example the microphone or an audio file?</p><ul><li><p>A. SpeechConfig</p></li><li><p>B. AudioConfig</p></li><li><p>C. SpeechSynthesizer</p></li><li><p>D. DefaultAzureCredential</p></li></ul><p><strong>33.</strong> You want your app to convert spoken audio into text. After creating a SpeechConfig, which object do you create to perform the transcription?</p><ul><li><p>A. SpeechSynthesizer</p></li><li><p>B. A Content Understanding analyzer</p></li><li><p>C. An image analyzer</p></li><li><p>D. SpeechRecognizer</p></li></ul><p><strong>34.</strong> In the Foundry SDK, what is the recommended way to authenticate from your code without putting keys in the source?</p><ul><li><p>A. Use DefaultAzureCredential with Microsoft Entra ID</p></li><li><p>B. Hard code the API key in a variable</p></li><li><p>C. Store the key in the system prompt</p></li><li><p>D. Pass the key as the model name</p></li></ul><p><strong>35.</strong> You are initializing the Foundry project client in Python. The Azure AI resource (account) is Resource1, the project is project1, and the model gpt-4o is deployed under the name my-mini-gpt. Which URL is the correct endpoint, the base URL you pass to the client?</p><ul><li><p>A. https://project1.services.ai.azure.com</p></li><li><p>B. https://my-mini-gpt.services.ai.azure.com</p></li><li><p>C. https://resource1.services.ai.azure.com/api/projects/project1</p></li><li><p>D. https://gpt-4o.openai.azure.com</p></li></ul><p><strong>36.</strong> You need a GPT model to hold a back and forth conversation and return text responses to user messages. Which capability do you call?</p><ul><li><p>A. The embeddings API</p></li><li><p>B. The chat completions API</p></li><li><p>C. The image generation API</p></li><li><p>D. Speech synthesis</p></li></ul><p><strong>37.</strong> In the Foundry SDK, which method do you call on the OpenAI client to generate a chat completion from a deployed model?</p><ul><li><p>A. client.completions.generate(...)</p></li><li><p>B. client.chat.run(...)</p></li><li><p>C. client.models.invoke(...)</p></li><li><p>D. client.chat.completions.create(...)</p></li></ul><p><strong>38.</strong> (Choose TWO.) When you configure Azure Speech in Foundry Tools in code, which two values do you typically set on the SpeechConfig?</p><ul><li><p>A. The service region</p></li><li><p>B. The subscription key or credential</p></li><li><p>C. The deployment name of a GPT model</p></li><li><p>D. The number of agent threads</p></li><li><p>E. The Azure resource group</p></li></ul><p><strong>39.</strong> When should you use an agent instead of a single chat completion call?</p><ul><li><p>A. When you need one stateless answer</p></li><li><p>B. When you only need to translate text</p></li><li><p>C. When you need tools, state across turns, or multi step actions</p></li><li><p>D. When you want lower cost for a single reply</p></li></ul><p><strong>40.</strong> You need a deployed model to give consistent, repeatable answers for the same input. Which setting should you adjust?</p><ul><li><p>A. Set temperature to its maximum</p></li><li><p>B. Set a low temperature</p></li><li><p>C. Increase <code>max_tokens</code></p></li><li><p>D. Change the deployment name</p></li></ul><p><strong>Answer key, Section 3 (questions 31 to 40)</strong>: 31-C, 32-B, 33-D, 34-A, 35-C, 36-B, 37-D, 38-A and B, 39-C, 40-B</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.histack.net/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading HiStack.net - AI &amp; System Design Newsletter! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2><strong>Conclusion</strong></h2><p>That wraps up this AI-901 practice exam: 40 AI-901 practice questions with answers across responsible AI, AI concepts, and Microsoft Foundry. Use it as your final AI-901 exam preparation, review the full <strong><a href="https://www.histack.net/p/ai-901-study-guide-and-exam-preparation">AI-901 Study Guide</a></strong> and the <strong><a href="https://www.histack.net/api/v1/file/959acdab-aac0-4e0c-8691-194c5fe8b33c.pdf">AI-901 cheat sheet PDF</a></strong> for anything shaky, and retake these AI-901 practice questions until you are ready to pass Azure AI Fundamentals on the first attempt. Subscribe for more AI-901 exam prep and study guide updates, and good luck passing AI-901.</p>]]></content:encoded></item><item><title><![CDATA[AI-901 Study Guide and Exam Preparation]]></title><description><![CDATA[I just passed AI-901 (Azure AI Fundamentals) &#8212; think of this as a quick AI-901 study guide and cram: the responsible-AI principles to know cold.]]></description><link>https://www.histack.net/p/ai-901-study-guide-and-exam-preparation</link><guid isPermaLink="false">https://www.histack.net/p/ai-901-study-guide-and-exam-preparation</guid><dc:creator><![CDATA[Maxime Marlot]]></dc:creator><pubDate>Fri, 03 Jul 2026 20:03:14 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Pz1T!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F304bd015-9e5a-408e-aa19-12e67d941285_1600x2098.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><span>I just passed </span><strong>AI-901</strong><span>, the new </span><strong>Microsoft Azure AI Fundamentals</strong><span> exam that replaces </span><strong>AI-900</strong><span> (which retires on </span><strong>June 30, 2026</strong><span>). If you've started your </span><strong>AI-901 exam preparation</strong><span>, you've already noticed the problem: there's barely any </span><strong>AI-901 study material</strong><span> out there yet, and </span><strong>no official AI-901 practice test</strong><span>. So while it was fresh, I wrote down exactly what's on it and where the points hide. In addition, I made a </span><strong><a href="https://www.histack.net/p/ai-901-free-practice-exam-assessment"><mark data-color="#d9ead3" style="background-color: rgb(217, 234, 211); color: rgb(0, 0, 0);"><span>40 questions practice assessmen</span></mark></a></strong><mark data-color="#d9ead3" style="background-color: rgb(217, 234, 211); color: rgb(0, 0, 0);"><span>t</span></mark><span> for you to practice and a PDF version of this </span><strong><mark data-color="#d9ead3" style="background-color: rgb(217, 234, 211); color: rgb(0, 0, 0);">AI-901 study guide and cram sheet</mark></strong><mark data-color="#d9ead3" style="background-color: rgb(217, 234, 211); color: rgb(0, 0, 0);"><span>.</span></mark><br></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.histack.net/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><mark data-color="#fff2cc" style="background-color: rgb(255, 242, 204); color: rgb(0, 0, 0);">Join the Newsletter for free and get my AI-901 cheat sheet</mark> (PDF)</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><blockquote><p>&#9888;&#65039; <strong>Read this first.</strong> AI-901 is brand new. Official content is still thin, there&#8217;s no official practice assessment yet, and Microsoft can adjust the exam at any time. Everything below reflects the public study guide and <strong>my own sitting as of July 2026</strong> &#8212; treat it as a field guide, not gospel.</p></blockquote><p>This is the study guide I wish I&#8217;d had. Let&#8217;s get you certified.</p><div><hr></div><h4><strong>How the AI-901 exam splits &#8212; and where the points are</strong></h4><p>The cleanest way to think about <strong>AI-901</strong> is three buckets. These question counts are my own read from the exam, not official weights &#8212; but they&#8217;ll tell you where to spend your energy:</p><ol><li><p><strong>Microsoft Responsible AI</strong> &#8212; 25% of the exam</p></li><li><p><strong>General AI use cases</strong> (generative AI, NLP, and vision in a <em>multimodal</em> context &#8212; <strong>no</strong> classic ML theory) &#8212; 50% of the exam</p></li><li><p><strong>Foundry / Azure OpenAI</strong> &#8212; <em>(the hardest, with the least Microsoft Learn coverage) - 25% of the exam</em></p></li></ol><p><strong>The one-line strategy:</strong> Sections 1 and 2 are your easy, bankable points &#8212; learn them properly and you walk in with momentum.</p><blockquote><p>&#128683; <strong>What is NOT in the AI-901:</strong> classic machine-learning theory. I got <strong>zero</strong> questions on supervised vs unsupervised learning, regression, or classification. Don&#8217;t spend a minute studying it. This a major difference with the AI-900.</p></blockquote><p>Two facts that should change how you prepare:</p><ul><li><p><strong>It&#8217;s not open book.</strong> Information from different sources diverge on this point. In my case, there was no access to MS Learn documentation.</p></li><li><p><strong>Python is read, not write.</strong> You&#8217;ll be shown a 10&#8211;15 line SDK snippet and asked what it does or which line breaks it. You never have to write code.</p></li></ul><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.histack.net/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading HiStack.net - AI &amp; System Design Newsletter! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>The rest of the essentials: <strong>passing score 700/1000</strong>, roughly <strong>40&#8211;60 questions </strong>(In my case, it was 42), about <strong>45&#8211;60 minutes</strong>.<br>And the overall vibe is <strong>implementation-aware</strong> &#8212; expect portal screens and code-reading, not just textbook definitions.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Pz1T!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F304bd015-9e5a-408e-aa19-12e67d941285_1600x2098.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Pz1T!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F304bd015-9e5a-408e-aa19-12e67d941285_1600x2098.png 424w, https://substackcdn.com/image/fetch/$s_!Pz1T!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F304bd015-9e5a-408e-aa19-12e67d941285_1600x2098.png 848w, https://substackcdn.com/image/fetch/$s_!Pz1T!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F304bd015-9e5a-408e-aa19-12e67d941285_1600x2098.png 1272w, https://substackcdn.com/image/fetch/$s_!Pz1T!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F304bd015-9e5a-408e-aa19-12e67d941285_1600x2098.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Pz1T!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F304bd015-9e5a-408e-aa19-12e67d941285_1600x2098.png" width="1456" height="1909" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/304bd015-9e5a-408e-aa19-12e67d941285_1600x2098.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1909,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:521515,&quot;alt&quot;:&quot;AI-901 - Concepts to study&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.histack.net/i/204951557?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F304bd015-9e5a-408e-aa19-12e67d941285_1600x2098.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="AI-901 - Concepts to study" title="AI-901 - Concepts to study" srcset="https://substackcdn.com/image/fetch/$s_!Pz1T!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F304bd015-9e5a-408e-aa19-12e67d941285_1600x2098.png 424w, https://substackcdn.com/image/fetch/$s_!Pz1T!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F304bd015-9e5a-408e-aa19-12e67d941285_1600x2098.png 848w, https://substackcdn.com/image/fetch/$s_!Pz1T!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F304bd015-9e5a-408e-aa19-12e67d941285_1600x2098.png 1272w, https://substackcdn.com/image/fetch/$s_!Pz1T!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F304bd015-9e5a-408e-aa19-12e67d941285_1600x2098.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">AI-901 - Core concepts to study</figcaption></figure></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.histack.net/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.histack.net/subscribe?"><span>Subscribe now</span></a></p><h4><strong>AI-901 - Microsoft Responsible AI (learn all six principles)</strong></h4><p><span>This is the section people underestimate. On </span><strong>AI-901</strong><span>, </span><strong>Responsible AI</strong><span> is </span><strong>widely tested</strong><span>, the closest thing to free points on the exam, </span><em>if</em><span> you can match a scenario to the right </span><strong>responsible-AI principle</strong><span>. The </span><strong>AI-901 exam</strong><span> rarely asks for a definition in the abstract; it describes a situation and asks which principle applies, and often </span><strong>which Azure feature upholds it.</strong></p><p>So learn all six concepts, a concrete example, and the Azure feature it maps to.</p><h5><strong>Fairness</strong></h5><p><strong>Concept:</strong> the system treats all groups equitably, without bias. <br><strong>Example:</strong> a loan-approval model rejects far more applicants from one neighborhood,  that&#8217;s a fairness failure. <br><strong>On Azure:</strong> fairness assessments and balanced training data.</p><h5><strong>Reliability &amp; safety</strong></h5><p><strong>Concept:</strong> the system behaves consistently and safely, even with unexpected or hostile input. <br><strong>Example:</strong> a chatbot refuses to produce harmful content and stays stable under weird prompts. <br><strong>On Azure:</strong> content filters and model evaluation.</p><h5><strong>Privacy &amp; security</strong></h5><p><strong>Concept:</strong> personal and sensitive data is protected end to end. <br><strong>Example:</strong> customer PII never leaks into a response or a log. <br><strong>On Azure:</strong> managed identities and private endpoints.</p><h5><strong>Inclusiveness</strong></h5><p><strong>Concept:</strong> the solution works for people of all abilities, languages, and backgrounds.<br><strong>Example:</strong> captions for audio and multilingual support so no one is shut out.<br><strong>On Azure:</strong> accessibility and multilingual capabilities.</p><h5><strong>Transparency</strong></h5><p><strong>Concept:</strong> people can understand how the system works and why it made a decision.<br><strong>Example:</strong> being able to explain <em>why</em> an applicant was rejected.<br><strong>On Azure:</strong> model cards.</p><h5><strong>Accountability</strong></h5><p><strong>Concept:</strong> humans remain responsible for the system&#8217;s outcomes.<br><strong>Example:</strong> a reviewable record of what the AI did and who signed off.<br><strong>On Azure:</strong> audit logs and abuse monitoring.</p><p><strong>Quick recap:</strong></p><ul><li><p><strong>Fairness</strong> &#8212; equitable across groups. <em>On Azure:</em> fairness assessment / balanced data.</p></li><li><p><strong>Reliability &amp; safety</strong> &#8212; consistent and safe under stress. <em>On Azure:</em> content filters + evaluation.</p></li><li><p><strong>Privacy &amp; security</strong> &#8212; protects data. <em>On Azure:</em> managed identities / private endpoints.</p></li><li><p><strong>Inclusiveness</strong> &#8212; works for everyone. <em>On Azure:</em> accessibility &amp; multilingual.</p></li><li><p><strong>Transparency</strong> &#8212; understandable decisions. <em>On Azure:</em> model cards.</p></li><li><p><strong>Accountability</strong> &#8212; humans stay responsible. <em>On Azure:</em> audit logs + abuse monitoring.</p></li></ul><p>If you can read a scenario and instantly name the principle <em>and</em> the feature, you&#8217;ve banked this whole section.</p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://www.histack.net/p/ai-901-study-guide-and-exam-preparation?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">Thanks for reading HiStack.net - AI &amp; System Design Newsletter! This post is public so feel free to share it.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.histack.net/p/ai-901-study-guide-and-exam-preparation?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.histack.net/p/ai-901-study-guide-and-exam-preparation?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p></div><div><hr></div><h4><strong>AI-901 - General AI use cases (pick the right service)</strong></h4><p>Section 2 is really one skill dressed up many ways: <strong>read a scenario and choose the right task or service</strong> &#8212; often in a multimodal setting. Memorize this decision tree and most of these questions answer themselves:</p><ul><li><p><strong>Content Understanding</strong> (build an <em>analyzer</em>) &#8594; describe the fields you want in plain language; an LLM reasons over docs, images, audio or video and returns structured JSON</p></li><li><p><strong>Content Understanding &#8211; Read</strong> &#8594; OCR text from a page or image</p></li><li><p><strong>Content Understanding &#8211; Layout</strong> &#8594; text, tables, selection marks, structure</p></li><li><p><strong>Document Intelligence prebuilt</strong> &#8594; known forms: invoices, receipts, IDs, business cards</p></li><li><p><strong>Azure Speech</strong> &#8594; speech-to-text and text-to-speech</p></li><li><p><strong>Azure Language</strong> &#8594; sentiment, entities, PII, summarization</p></li><li><p><strong>Azure OpenAI / Foundry models</strong> &#8594; generate, reason, or understand an image</p></li></ul><p><strong>NLP (Azure AI Language).</strong> Entity recognition (NER), key phrase extraction, sentiment analysis, PII detection, language detection, summarization.<br><strong>Entity recognition categorizes specific things</strong> (people, dates, organizations);</p><p><strong>Speech (Azure AI Speech).</strong> The distinction I&#8217;d bet on seeing: <strong>speech recognition = speech-to-text</strong> (transcribe a call-center recording) vs <strong>speech synthesis = text-to-speech</strong> (a navigation app reading directions aloud, with neural voices). Recognition <em>listens</em>; synthesis <em>speaks</em>.</p><p><strong>Vision &amp; multimodal.</strong> Azure AI Vision handles captions, tags, and OCR. But a <strong>deployed multimodal model</strong> (like GPT-4o) can read an image <em>directly in the prompt</em> and reason about it. Extracting text off a scanned form is OCR; asking &#8220;what&#8217;s unusual in this photo?&#8221; is multimodal reasoning.</p><p><strong>The extraction trap &#8212; Content Understanding vs Document Intelligence.</strong> This one&#8217;s a favorite:</p><ul><li><p><strong>Content Understanding</strong> &#8212; you describe the fields you want in <strong>natural language</strong>, it handles <strong>multimodal</strong> sources (documents, images, audio, video), and returns structured JSON. Choose it for free-form or non-document input.</p></li><li><p><strong>Document Intelligence prebuilts</strong> &#8212; deterministic extraction from <strong>known form types</strong> (invoices, receipts, IDs).</p></li></ul><p><strong>Generative AI basics.</strong> Know the vocabulary plainly: <strong>tokens</strong> (chunks of text), <strong>embeddings</strong> (numeric vectors of meaning), <strong>prompts</strong> (your input), <strong>grounding / RAG</strong> (feeding the model your own data so answers stay accurate), and <strong>hallucination</strong> (confident but wrong output).</p><div><hr></div><h4><strong>AI-901 - Foundry / Azure OpenAI </strong></h4><p>This is the hard bucket and the one with the thinnest Microsoft Learn coverage when I sat it. Slow down here.</p><h5><strong>Azure AI Foundry &#8212; the platform</strong></h5><p>Foundry is the <strong>unified platform to build, evaluate, and deploy AI on Azure.</strong> It pulls together the <strong>Foundry portal</strong>, the <strong>model catalog</strong>, the <strong>Foundry SDK</strong>, the <strong>Agent Service</strong>, prompt flow / evaluation, and the integrated Azure AI services (Speech, Vision, Content Understanding, Search) exposed as <strong>Foundry Tools</strong>.</p><p><strong>Hub vs Project &#8212; the classic trap.</strong> A <strong>hub</strong> is the top-level collaboration and governance container: shared security, connections, compute, and quota.<br>A <strong>project</strong> lives inside a hub and is where you actually build &#8212; deployments, agents, data, evaluations. <strong>One hub &#8594; many projects.</strong></p><p><strong>Portal map to recognize on screen:</strong> <em>Model catalog &#8594; Model card &#8594; Deployments &#8594; Playground &#8594; Agents &#8594; Evaluation.</em> Questions describe or show these tabs, so know what each one does.</p><h5><strong>Deploy &amp; configure a model</strong></h5><p>The catalog holds <strong>Azure OpenAI</strong> models (GPT-4o, GPT-4o-mini for cheap/fast, embeddings, DALL&#183;E for images), open-weight models, and Microsoft-published models. Pick by <strong>capability</strong> &#8212; multimodal for image/speech input, a small model for cost and latency.</p><p>Deployment options that show up as answers: <strong>region</strong>, <strong>capacity</strong> (tokens-per-minute / quota), and the <strong>content filter</strong> attached to the deployment. Crucial detail: the <strong>deployment name &#8212; not the base model name &#8212; is what your code calls.</strong></p><ul><li><p><strong>temperature</strong> &#8212; higher = more creative/random; lower = more deterministic. <em>Exam cue:</em> &#8220;consistent, repeatable output&#8221; &#8594; <strong>low temperature</strong>.</p></li><li><p><strong>top_p</strong> &#8212; nucleus sampling, an alternative to temperature (tune one, not both). <em>Exam cue (distractor):</em> &#8220;set both to 1 for accuracy.&#8221;</p></li><li><p><strong>max_tokens</strong> &#8212; caps response length (prompt + completion share the context window). <em>Exam cue:</em> &#8220;response got cut off&#8221; &#8594; <strong>raise max_tokens</strong>.</p></li></ul><h5><strong>Prompt roles &#8212; the single most-tested distinction</strong></h5><ul><li><p><strong>system</strong> &#8212; sets persona, tone, rules &amp; guardrails for the <strong>whole</strong> conversation. <em>Contains:</em> &#8220;Be formal&#8221;, &#8220;only answer HR policy&#8221;, &#8220;stay on topic&#8221;.</p></li><li><p><strong>user</strong> &#8212; the end-user&#8217;s actual request this turn. <em>Contains:</em> &#8220;Summarize this contract.&#8221;</p></li><li><p><strong>assistant</strong> &#8212; prior model replies, replayed to give conversational memory. <em>Contains:</em> earlier answers in the thread.</p></li></ul><blockquote><p>&#127919; <strong>The trap:</strong> behavioral instructions (&#8221;respond formally&#8221;, &#8220;stay on topic&#8221;) belong in the <strong>system</strong> prompt. Putting them in the user prompt or in deployment settings is the planted wrong answer.</p></blockquote><h5><strong>Reading the Foundry SDK (Python)</strong></h5><p>You won&#8217;t write this &#8212; you&#8217;ll read it.</p><p><strong><span>python</span></strong></p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;python&quot;,&quot;nodeId&quot;:&quot;9d42da90-f921-4287-aabc-5f02feae5dc1&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-python">from azure.identity import DefaultAzureCredential
from azure.ai.projects import AIProjectClient

project = AIProjectClient(                       # 1. connect to the project
    endpoint=&#8221;https://&lt;proj&gt;.services.ai.azure.com/api/projects/&lt;name&gt;&#8221;,
    credential=DefaultAzureCredential())         #    Entra ID, not an API key

client = project.get_openai_client()             # 2. OpenAI-compatible client

resp = client.chat.completions.create(
    model=&#8221;gpt-4o-mini&#8221;,                         # 3. the DEPLOYMENT name
    messages=[
        {&#8221;role&#8221;: &#8220;system&#8221;, &#8220;content&#8221;: &#8220;You are a concise travel guide.&#8221;},
        {&#8221;role&#8221;: &#8220;user&#8221;,   &#8220;content&#8221;: &#8220;Three things to do in Paris?&#8221;}])

print(resp.choices[0].message.content)           # 4. read the reply</code></pre></div><p><strong>What gets asked:</strong> what this does &#183; which role sits on which message &#183; which line breaks it if removed (auth, client, or the deployment name). Exact method names vary by SDK version &#8212; the exam tests the <strong>roles, flow, and return shape</strong>, not signatures.</p><h5><strong>Agents in Foundry</strong></h5><p>An <strong>agent</strong> is a persistent assistant: <strong>model + instructions + tools + threads (conversations) + runs (executions)</strong>, built through the Agent Service. Its built-in <strong>tools</strong> are file search (grounding on your docs), code interpreter (runs code / analyzes data), and function calling (invokes your APIs).</p><p><strong>Agent vs a single chat call (tested):</strong> use an <strong>agent</strong> when you need tools, state across turns, or multi-step actions; use a plain <strong>chat completion</strong> when one stateless response is enough.</p><div><hr></div><h4><strong>The traps &amp; X-vs-Y cheat sheet</strong></h4><ul><li><p><strong>Hub vs Project</strong> &#8212; Hub = governance/security/quota container; Project = where you build.</p></li><li><p><strong>Deployment name vs model name vs endpoint</strong> &#8212; Deployment = your custom name (call this); Model = e.g. <code>gpt-4o</code>; Endpoint = resource URL + key.</p></li><li><p><strong>temperature vs top_p</strong> &#8212; two ways to control randomness; tune one, not both.</p></li><li><p><strong>system vs user prompt</strong> &#8212; behavioral rules go in <strong>system</strong>, not user.</p></li><li><p><strong>Agent vs chat call</strong> &#8212; tools/state/multi-step &#8594; agent; one stateless answer &#8594; chat.</p></li><li><p><strong>Content Understanding vs Document Intelligence</strong> &#8212; multimodal/free-form &#8594; Content Understanding; known forms &#8594; Document Intelligence.</p></li><li><p><strong>Speech recognition vs synthesis</strong> &#8212; recognition = speech-to-text; synthesis = text-to-speech.</p></li></ul><div><hr></div><h4><strong>My final strategy to pass AI-901</strong></h4><ul><li><p><strong>Bank Sections 1 and 2.</strong> Learn all six responsible-AI principles properly and drill service selection &#8212; these are your easy points.</p></li><li><p><strong>Pour your real study time into Section 3 (Foundry).</strong> It&#8217;s the biggest, hardest, thinnest-documented part.</p></li><li><p><strong>Practice reading SDK snippets and recognizing portal tabs</strong>, not memorizing definitions.</p></li><li><p><strong>Know the traps cold</strong> &#8212; hub vs project, deployment-name-vs-endpoint, prompt-role placement, Content Understanding vs Document Intelligence.</p></li><li><p><strong>Personal note:</strong> I saw a lot of <strong>Speech/Audio SDK</strong> configuration questions. Review Speech, but don&#8217;t over-fit &#8212; I can&#8217;t confirm which other SDK services show up.</p></li><li><p><strong>Skip classic ML theory.</strong> It wasn&#8217;t there.</p></li></ul><div><hr></div><h4><strong>AI-901 FAQ</strong></h4><p><strong>Is AI-901 hard?</strong> It&#8217;s a fundamentals exam, so it&#8217;s approachable &#8212; but the Foundry / Azure OpenAI section is genuinely harder than anything on the old AI-900, mostly because there&#8217;s so little material to study from yet.</p><p><strong>How many questions is AI-901, and how long?</strong> Expect roughly 40&#8211;60 questions in about 45&#8211;60 minutes &#8212; around a minute per question.</p><p><strong>Is AI-901 open book?</strong> No, although information from different sources diverge on this point. In my case, there was no access to MS Learn documentation.</p><p><strong>Do I need to know Python for AI-901?</strong> Only to <em>read</em> it. You&#8217;ll parse short SDK snippets; you never write code.</p><p><strong>Is my AI-900 certification still valid?</strong> Yes. AI-900 and AI-901 earn the same credential &#8212; <em>Microsoft Certified: Azure AI Fundamentals</em> &#8212; and it doesn&#8217;t expire.</p><p><strong>What&#8217;s the passing score?</strong> 700 out of 1000.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.histack.net/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading HiStack.net - AI &amp; System Design Newsletter! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h4><strong>Where to go next</strong></h4><p>Concepts stick when you test them &#8212; especially with no official practice assessment out yet.</p><ul><li><p>&#128073; <strong>Test yourself:</strong> I built a set of <strong>20+ free AI-901 practice questions</strong> with answers and explanations, organized by these same three sections &#8594; <strong><a href="https://www.microsoft365.com/hwav2/agents/%5BURL_ARTICLE_B%5D">AI-901 Practice Questions<span>(opens in new window)</span></a></strong>.</p></li><li><p>&#128229; <strong>Keep the cheat sheet:</strong> subscribers can download my <strong>AI-901 PDF study guide</strong> &#8212; every principle, decision tree, and trap on one quick reference &#8594; <strong><a href="https://www.microsoft365.com/hwav2/agents/%5BURL_PDF%5D">Download the PDF<span>(opens in new window)</span></a></strong>.</p></li></ul><p>If this made AI-901 click, <strong>subscribe</strong> &#8212; I&#8217;m releasing the practice set and study guide as a short AI-901 series and updating everything as Microsoft firms up the official content. Good luck; it&#8217;s a very passable exam once you know where the points hide.</p>]]></content:encoded></item><item><title><![CDATA[Essential Python Libraries for Data Science]]></title><description><![CDATA[Start your data science journey with these essential Python libraries to know. Learn the most used tools for machine learning, data visualization, NLP, and computer vision.]]></description><link>https://www.histack.net/p/python-libraries-for-data-science</link><guid isPermaLink="false">https://www.histack.net/p/python-libraries-for-data-science</guid><dc:creator><![CDATA[Maxime Marlot]]></dc:creator><pubDate>Mon, 24 Mar 2025 08:02:50 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F609b6dca-b02d-464d-a7ea-c821220ec243_1270x846.gif" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>If you're looking to start your journey in data science, one of the first questions you might ask is: <strong>What tools should I use?</strong> Python is the go-to language for data science, and it offers a powerful ecosystem of libraries to help you get started.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!D7GD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F609b6dca-b02d-464d-a7ea-c821220ec243_1270x846.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!D7GD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F609b6dca-b02d-464d-a7ea-c821220ec243_1270x846.gif 424w, https://substackcdn.com/image/fetch/$s_!D7GD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F609b6dca-b02d-464d-a7ea-c821220ec243_1270x846.gif 848w, https://substackcdn.com/image/fetch/$s_!D7GD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F609b6dca-b02d-464d-a7ea-c821220ec243_1270x846.gif 1272w, https://substackcdn.com/image/fetch/$s_!D7GD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F609b6dca-b02d-464d-a7ea-c821220ec243_1270x846.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!D7GD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F609b6dca-b02d-464d-a7ea-c821220ec243_1270x846.gif" width="1270" height="846" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/609b6dca-b02d-464d-a7ea-c821220ec243_1270x846.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:846,&quot;width&quot;:1270,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:779649,&quot;alt&quot;:&quot;A visual guide to essential Python libraries for data science, divided into four categories: Machine Learning (Scikit-learn, Pandas, XGBoost, NumPy), Natural Language Processing (Hugging Face, vLLM, spaCy, LangChain), Data Visualization (Seaborn, UMAP, Plotly, Streamlit), and Computer Vision (Scikit-image, OpenCV, TensorFlow, PyTorch). The diagram is color-coded for clarity and includes relevant logos of each library.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.histack.net/i/159656633?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F609b6dca-b02d-464d-a7ea-c821220ec243_1270x846.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="A visual guide to essential Python libraries for data science, divided into four categories: Machine Learning (Scikit-learn, Pandas, XGBoost, NumPy), Natural Language Processing (Hugging Face, vLLM, spaCy, LangChain), Data Visualization (Seaborn, UMAP, Plotly, Streamlit), and Computer Vision (Scikit-image, OpenCV, TensorFlow, PyTorch). The diagram is color-coded for clarity and includes relevant logos of each library." title="A visual guide to essential Python libraries for data science, divided into four categories: Machine Learning (Scikit-learn, Pandas, XGBoost, NumPy), Natural Language Processing (Hugging Face, vLLM, spaCy, LangChain), Data Visualization (Seaborn, UMAP, Plotly, Streamlit), and Computer Vision (Scikit-image, OpenCV, TensorFlow, PyTorch). The diagram is color-coded for clarity and includes relevant logos of each library." srcset="https://substackcdn.com/image/fetch/$s_!D7GD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F609b6dca-b02d-464d-a7ea-c821220ec243_1270x846.gif 424w, https://substackcdn.com/image/fetch/$s_!D7GD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F609b6dca-b02d-464d-a7ea-c821220ec243_1270x846.gif 848w, https://substackcdn.com/image/fetch/$s_!D7GD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F609b6dca-b02d-464d-a7ea-c821220ec243_1270x846.gif 1272w, https://substackcdn.com/image/fetch/$s_!D7GD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F609b6dca-b02d-464d-a7ea-c821220ec243_1270x846.gif 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Key Python Libraries for Data Science: Machine Learning, NLP, Data Visualization, and Computer Vision</figcaption></figure></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.histack.net/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Subscribe for free to receive the next diagram directly in your mailbox!</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>We will break down the key Python libraries you need to know where to start your data science journey. Whether you're working on machine learning, data visualization, natural language processing, or computer vision, these libraries will set you on the right path.</p><h2><strong>Getting Started with Data Science in Python</strong></h2><p>Before diving into coding, it's important to understand the fundamental steps of data science:</p><ol><li><p><strong>Data Collection &amp; Preparation</strong> &#8211; Cleaning and structuring data for analysis.</p></li><li><p><strong>Exploratory Data Analysis (EDA)</strong> &#8211; Understanding patterns and trends.</p></li><li><p><strong>Machine Learning &amp; AI</strong> &#8211; Building predictive models.</p></li><li><p><strong>Data Visualization</strong> &#8211; Communicating insights through charts and graphs.</p></li><li><p><strong>Deployment</strong> &#8211; Integrating models into real-world applications.</p></li></ol><p>To tackle these steps, let&#8217;s look at the essential Python libraries you need to start your data science journey.</p><div><hr></div><h2><strong>Best Python Libraries for Data Science</strong></h2><h3><strong>1. Machine Learning Libraries</strong></h3><p>Machine learning is a key part of data science, and these libraries will help you build models efficiently:</p><ul><li><p><strong>Scikit-learn</strong> &#8211; A beginner-friendly library for traditional machine learning models like regression, classification, and clustering.</p></li><li><p><strong>Pandas</strong> &#8211; The best tool for data manipulation and analysis, helping you structure datasets for machine learning.</p></li><li><p><strong>NumPy</strong> &#8211; Provides numerical computing power, essential for handling large datasets.</p></li><li><p><strong>XGBoost</strong> &#8211; A high-performance library for building powerful predictive models using gradient boosting.</p></li></ul><h3><strong>2. Data Visualization Libraries</strong></h3><p>Data visualization helps you understand and present data insights clearly:</p><ul><li><p><strong>Seaborn</strong> &#8211; Great for statistical data visualization, making charts visually appealing.</p></li><li><p><strong>Plotly</strong> &#8211; Enables interactive and dynamic visualizations for dashboards.</p></li><li><p><strong>Streamlit</strong> &#8211; Helps build interactive web applications for data science projects.</p></li><li><p><strong>UMAP</strong> &#8211; Primarily used for dimensionality reduction but also useful for visualizing high-dimensional data.</p></li></ul><h3><strong>3. Natural Language Processing (NLP) Libraries</strong></h3><p>If you're working with text data, these libraries will help you analyze and process it efficiently:</p><ul><li><p><strong>Hugging Face Transformers</strong> &#8211; The best library for working with pre-trained language models like BERT and GPT.</p></li><li><p><strong>spaCy</strong> &#8211; A fast and efficient NLP library for tokenization and entity recognition.</p></li><li><p><strong>LangChain</strong> &#8211; Ideal for building applications that interact with large language models (LLMs).</p></li><li><p><strong>vLLM</strong> &#8211; Optimized for running LLMs efficiently, improving performance.</p></li></ul><h3><strong>4. Computer Vision Libraries</strong></h3><p>For those interested in image processing and deep learning, these libraries are essential:</p><ul><li><p><strong>OpenCV</strong> &#8211; The most popular library for image processing and real-time computer vision.</p></li><li><p><strong>Scikit-Image</strong> &#8211; A specialized tool for advanced image processing within the SciPy ecosystem.</p></li><li><p><strong>TensorFlow &amp; PyTorch</strong> &#8211; Two leading deep learning frameworks for training AI models.</p></li></ul><div><hr></div><h2><strong>How to start learning Data Science?</strong></h2><p>If you're new to data science, follow these steps to get started:</p><ol><li><p><strong>Learn Python Basics</strong> &#8211; Get comfortable with Python syntax and basic programming concepts.</p></li><li><p><strong>Master Pandas and NumPy</strong> &#8211; These two libraries are the foundation of data analysis.</p></li><li><p><strong>Practice with Real Data</strong> &#8211; Use Kaggle datasets or your own data for hands-on projects.</p></li><li><p><strong>Understand Machine Learning</strong> &#8211; Start with Scikit-learn to build simple models.</p></li><li><p><strong>Work on Visualization</strong> &#8211; Learn Seaborn and Plotly to present your insights effectively.</p></li><li><p><strong>Explore NLP or Computer Vision</strong> &#8211; Depending on your interest, try Hugging Face for text or OpenCV for images.</p></li></ol><div><hr></div>]]></content:encoded></item><item><title><![CDATA[How to Build a RAG Pipeline for AI: Improve LLMs with Retrieval-Augmented Generation]]></title><description><![CDATA[LLM Limitations and How RAG Solves Them]]></description><link>https://www.histack.net/p/how-to-build-a-rag-pipeline</link><guid isPermaLink="false">https://www.histack.net/p/how-to-build-a-rag-pipeline</guid><dc:creator><![CDATA[Maxime Marlot]]></dc:creator><pubDate>Wed, 19 Mar 2025 03:00:42 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!AyGv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feeaed766-b4b0-4363-9d3e-98e37c060aa9_1514x790.gif" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Large Language Models (LLMs) like GPT-4, Claude, and Gemini are <strong>incredibly powerful</strong>, but they have some <strong>major limitations</strong>:</p><ol><li><p><strong>Limited Context Window</strong> &#8211; LLMs can only process a fixed number of tokens per prompt.</p></li><li><p><strong>Static Knowledge</strong> &#8211; Once trained, they <strong>cannot update</strong> their knowledge unless retrained on new data.</p></li><li><p><strong>Hallucinations</strong> &#8211; LLMs sometimes <strong>generate false or misleading information</strong> because they try to predict plausible answers rather than retrieving factual data.</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!AyGv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feeaed766-b4b0-4363-9d3e-98e37c060aa9_1514x790.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!AyGv!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feeaed766-b4b0-4363-9d3e-98e37c060aa9_1514x790.gif 424w, https://substackcdn.com/image/fetch/$s_!AyGv!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feeaed766-b4b0-4363-9d3e-98e37c060aa9_1514x790.gif 848w, https://substackcdn.com/image/fetch/$s_!AyGv!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feeaed766-b4b0-4363-9d3e-98e37c060aa9_1514x790.gif 1272w, https://substackcdn.com/image/fetch/$s_!AyGv!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feeaed766-b4b0-4363-9d3e-98e37c060aa9_1514x790.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!AyGv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feeaed766-b4b0-4363-9d3e-98e37c060aa9_1514x790.gif" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/eeaed766-b4b0-4363-9d3e-98e37c060aa9_1514x790.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2155213,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.histack.net/i/159242279?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feeaed766-b4b0-4363-9d3e-98e37c060aa9_1514x790.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!AyGv!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feeaed766-b4b0-4363-9d3e-98e37c060aa9_1514x790.gif 424w, https://substackcdn.com/image/fetch/$s_!AyGv!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feeaed766-b4b0-4363-9d3e-98e37c060aa9_1514x790.gif 848w, https://substackcdn.com/image/fetch/$s_!AyGv!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feeaed766-b4b0-4363-9d3e-98e37c060aa9_1514x790.gif 1272w, https://substackcdn.com/image/fetch/$s_!AyGv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feeaed766-b4b0-4363-9d3e-98e37c060aa9_1514x790.gif 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a><figcaption class="image-caption">RAG pipeline implementation: Enhancing LLMs with real-time knowledge retrieval.</figcaption></figure></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.histack.net/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Subscribe for free to receive the next diagram directly in your mailbox!</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>RAG (Retrieval-Augmented Generation) enhances LLMs by allowing them to <strong>retrieve relevant external information in real time</strong>, rather than relying solely on their pre-trained knowledge. This <strong>significantly improves accuracy</strong>, making AI models <strong>more useful for real-world applications</strong> like chatbots, customer support, and research assistants.</p><h2>How Does a RAG Pipeline Work?</h2><h3><strong>Step 1: Ingesting and Processing Documents</strong></h3><p>Before an LLM can retrieve external knowledge, it needs a <strong>source of information</strong>. The first step is document ingestion, where raw data is extracted and processed from different formats, including:</p><ul><li><p><strong>Text files</strong> (PDFs, Word documents, PowerPoint slides)</p></li><li><p><strong>Images &amp; Scanned Documents</strong> (processed via Optical Character Recognition - OCR)</p></li><li><p><strong>Web Pages &amp; Databases</strong></p></li></ul><p><strong>Why is document ingestion necessary?</strong></p><ul><li><p>LLMs <strong>can&#8217;t read raw files</strong> directly.</p></li><li><p>Extracting and formatting text ensures <strong>structured data processing</strong> for later retrieval.</p></li></ul><p>&#128161; <strong>Tools for document ingestion:</strong></p><ul><li><p><strong>LangChain</strong> &#8211; Handles multiple file formats efficiently.</p></li><li><p><strong>PyMuPDF</strong> &#8211; Extracts text from PDFs.</p></li><li><p><strong>Tesseract OCR</strong> &#8211; Converts images and scanned documents into text.</p></li></ul><h3><strong>Step 2: Splitting Text into Chunks</strong></h3><p>Once the documents are ingested, they are <strong>broken down into smaller chunks</strong> for efficient retrieval.</p><p><strong>Why do we split text into chunks?</strong></p><ul><li><p>LLMs work best with <strong>small, manageable pieces of text</strong> rather than large documents.</p></li><li><p>Smaller text chunks allow for <strong>faster and more relevant search results</strong>.</p></li></ul><p><strong>Best practices for text chunking:</strong></p><ul><li><p>Use <strong>overlapping chunks</strong> to preserve context.</p></li><li><p>Adjust chunk sizes based on <strong>document type</strong> (e.g., longer chunks for structured text like legal documents).</p></li></ul><p>Note: If you have a <strong>1,000-word article</strong>, chunking might create <strong>10 sections of 100 words each</strong>, making retrieval <strong>faster and more precise</strong>.</p><h3><strong>Step 3: Converting Text to Embeddings</strong></h3><p>Each text chunk is then <strong>converted into a numerical representation</strong> known as an <strong>embedding</strong>.</p><p><strong>What are embeddings?</strong><br>Embeddings are <strong>vector representations of text</strong> that help the system <strong>find semantically similar content</strong> instead of relying on exact word matches.</p><p>Example: The phrase <em>"AI in healthcare"</em> will have an embedding <strong>close</strong> to <em>"Machine learning in medicine"</em> because of their conceptual similarity.</p><p>&#128161; <strong>Popular embedding models:</strong></p><ul><li><p><strong>OpenAI&#8217;s text-embedding-ada-002</strong></p></li><li><p><strong>Google&#8217;s BERT</strong></p></li><li><p><strong>Hugging Face&#8217;s Sentence Transformers</strong></p></li></ul><h3><strong>Step 4: Storing Data in a Vector Database</strong></h3><p>Once the text embeddings are generated, they are stored in a <strong>vector database</strong> for fast retrieval.</p><p><strong>Why use a vector database?</strong></p><ul><li><p>It allows <strong>quick similarity searches</strong> to find the most relevant information.</p></li><li><p>It supports <strong>real-time updates</strong>, so new data can be added without retraining the LLM.</p></li></ul><p>&#128161; <strong>Popular vector databases for RAG:</strong></p><ul><li><p><strong>FAISS</strong> (Facebook AI Similarity Search)</p></li><li><p><strong>Pinecone</strong> (Optimized for production environments)</p></li><li><p><strong>Azure AI Search</strong> DB</p></li></ul><h3><strong>Step 5: Querying the RAG Pipeline</strong></h3><p>When a user submits a <strong>question or search query</strong>, the system follows these steps:</p><ol><li><p><strong>Convert the query into an embedding</strong> (same way document chunks were converted).</p></li><li><p><strong>Search the vector database</strong> for the most relevant chunks.</p></li><li><p><strong>Retrieve the top N chunks</strong> (e.g., the most similar 3-5 pieces of text).</p></li><li><p><strong>Combine the query and retrieved text</strong> to generate a complete response.</p></li></ol><p><strong>Why is this better than traditional LLMs?</strong></p><ul><li><p>Instead of relying only on its <strong>pre-trained knowledge</strong>, the LLM gets <strong>real-time information from retrieved documents</strong>.</p></li><li><p>This makes the <strong>generated response more accurate and contextually relevant</strong>.</p></li></ul><h3><strong>Step 6: Generating the Final Response</strong></h3><p>Finally, the retrieved text is <strong>fed into the LLM</strong> alongside the user query. The model <strong>processes the expanded context</strong> and generates a response that is:</p><ul><li><p><strong>More accurate</strong></p></li><li><p><strong>Less prone to hallucinations</strong></p></li><li><p><strong>Based on real-time information</strong></p></li></ul><p>This step <strong>completes the loop</strong>, allowing AI models to provide <strong>data-driven, up-to-date answers</strong>.</p>]]></content:encoded></item><item><title><![CDATA[6 Best Practices for REST API Design]]></title><description><![CDATA[Discover the 6 best practices for REST API design, including rate limiting, pagination, caching, and security. Learn how scalable APIs like ChatGPT handle billions of requests daily while ensuring performance and reliability.]]></description><link>https://www.histack.net/p/best-practices-rest-api-design</link><guid isPermaLink="false">https://www.histack.net/p/best-practices-rest-api-design</guid><dc:creator><![CDATA[Maxime Marlot]]></dc:creator><pubDate>Thu, 13 Mar 2025 09:02:22 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!oteX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04f5edfb-1f77-4632-82d2-9d0048118738_1270x844.gif" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>APIs are the backbone of modern applications, and large-scale services like ChatGPT demonstrate why proper API management is critical. With over <strong>300 million users per week</strong> and processing <strong>1 billion queries daily</strong>, ChatGPT relies on robust API architecture to ensure <strong>security, uptime, and response time</strong>. Many of these best practices stem from software engineering principles, and in this article, we will review six key techniques to optimize REST API design.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!oteX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04f5edfb-1f77-4632-82d2-9d0048118738_1270x844.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!oteX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04f5edfb-1f77-4632-82d2-9d0048118738_1270x844.gif 424w, https://substackcdn.com/image/fetch/$s_!oteX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04f5edfb-1f77-4632-82d2-9d0048118738_1270x844.gif 848w, https://substackcdn.com/image/fetch/$s_!oteX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04f5edfb-1f77-4632-82d2-9d0048118738_1270x844.gif 1272w, https://substackcdn.com/image/fetch/$s_!oteX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04f5edfb-1f77-4632-82d2-9d0048118738_1270x844.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!oteX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04f5edfb-1f77-4632-82d2-9d0048118738_1270x844.gif" width="1270" height="844" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/04f5edfb-1f77-4632-82d2-9d0048118738_1270x844.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:844,&quot;width&quot;:1270,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1806832,&quot;alt&quot;:&quot;Best Practices for REST API Design&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.histack.net/i/158920440?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04f5edfb-1f77-4632-82d2-9d0048118738_1270x844.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Best Practices for REST API Design" title="Best Practices for REST API Design" srcset="https://substackcdn.com/image/fetch/$s_!oteX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04f5edfb-1f77-4632-82d2-9d0048118738_1270x844.gif 424w, https://substackcdn.com/image/fetch/$s_!oteX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04f5edfb-1f77-4632-82d2-9d0048118738_1270x844.gif 848w, https://substackcdn.com/image/fetch/$s_!oteX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04f5edfb-1f77-4632-82d2-9d0048118738_1270x844.gif 1272w, https://substackcdn.com/image/fetch/$s_!oteX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04f5edfb-1f77-4632-82d2-9d0048118738_1270x844.gif 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Best Practices for REST API Design</figcaption></figure></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.histack.net/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Subscribe for free to receive the next diagram directly in your mailbox!</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h3>1. What is Rate Limiting in REST APIs? (How to Prevent API Abuse)</h3><p><strong>Prevents user abuse and improves stability</strong></p><p>Rate limiting controls how many API requests a user can make within a specific timeframe. This helps <strong>prevent system overloads</strong>, ensures fair usage, and <strong>protects against malicious attacks such as DDoS </strong>(Distributed Denial-of-Service). Implementing rate limiting through tools like API gateways or middleware ensures a more stable and secure API.</p><h3>2. How Does Pagination Improve REST API Performance?</h3><p><strong>Reduces data load and speeds up responses</strong></p><p>When an API returns large datasets, sending all the data at once can slow down performance. <strong>Pagination breaks down responses into smaller, manageable chunks</strong>, improving response time and reducing server strain. Implementing cursor-based or offset-based pagination enhances efficiency, especially for databases with extensive records.</p><h3>3. Why Are API Keys Important for Security? (How to Secure Your API)</h3><p><strong>Prevents unauthorized API access</strong></p><p>Authentication and authorization are critical for API security. API keys serve as a simple yet <strong>effective method to control access and prevent unauthorized usage</strong>. However, for enhanced security, consider using OAuth or JWT (JSON Web Tokens) for authentication alongside API keys.</p><h3>4. What is Stateless Architecture in REST APIs? (Why It&#8217;s Important)</h3><p><strong>Simplifies scaling and session management</strong></p><p>A RESTful API should be stateless, meaning that each request from a client contains all the necessary information to process it without relying on stored session data. This design principle enhances scalability and allows APIs to handle multiple concurrent requests efficiently. Statelessness <strong>simplifies load balancing</strong> and <strong>improves fault tolerance.</strong></p><h3>5. How Does Caching Improve REST API Speed? (Boost API Performance)</h3><p><strong>Speeds up responses</strong></p><p>APIs that serve frequently requested data can benefit from caching mechanisms. <strong>Caching reduces database queries and speeds up response times</strong> by storing copies of responses at different layers (client-side, server-side, or CDN). Implement cache-control headers to manage data freshness and optimize API performance.</p><h3>6. Why is API Versioning Important? (How to Avoid Breaking Changes)</h3><p><strong>Maintains compatibility during changes</strong></p><p>APIs evolve over time, and changes can break existing integrations. Versioning allows developers to <strong>introduce new features without disrupting existing users</strong>. Using versioning techniques like URL-based (<code>/v1/resource</code>) or header-based versioning ensures backward compatibility while enabling future enhancements.</p>]]></content:encoded></item><item><title><![CDATA[End-to-End Big Data Applications Architecture]]></title><description><![CDATA[Big Data Applications Architecture]]></description><link>https://www.histack.net/p/big-data-applications-architecture-diagram</link><guid isPermaLink="false">https://www.histack.net/p/big-data-applications-architecture-diagram</guid><dc:creator><![CDATA[Maxime Marlot]]></dc:creator><pubDate>Mon, 10 Mar 2025 11:51:22 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!qyBc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8851fb9e-8a3a-40cc-a84e-4a50d4015d13_1441x842.gif" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Data is the backbone of modern decision-making, driving everything from business strategies to AI-powered applications. However, raw data alone holds little value&#8212;it must be processed, analyzed, and structured into meaningful insights. This article breaks down an <strong>End-to-End Data Applications Architecture</strong>, explaining how data moves through a system from collection to deployment.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.histack.net/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qyBc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8851fb9e-8a3a-40cc-a84e-4a50d4015d13_1441x842.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qyBc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8851fb9e-8a3a-40cc-a84e-4a50d4015d13_1441x842.gif 424w, https://substackcdn.com/image/fetch/$s_!qyBc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8851fb9e-8a3a-40cc-a84e-4a50d4015d13_1441x842.gif 848w, https://substackcdn.com/image/fetch/$s_!qyBc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8851fb9e-8a3a-40cc-a84e-4a50d4015d13_1441x842.gif 1272w, https://substackcdn.com/image/fetch/$s_!qyBc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8851fb9e-8a3a-40cc-a84e-4a50d4015d13_1441x842.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qyBc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8851fb9e-8a3a-40cc-a84e-4a50d4015d13_1441x842.gif" width="1441" height="842" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8851fb9e-8a3a-40cc-a84e-4a50d4015d13_1441x842.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:842,&quot;width&quot;:1441,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3939168,&quot;alt&quot;:&quot;Big Data Applications Architecture Diagram&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.histack.net/i/158763065?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8851fb9e-8a3a-40cc-a84e-4a50d4015d13_1441x842.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Big Data Applications Architecture Diagram" title="Big Data Applications Architecture Diagram" srcset="https://substackcdn.com/image/fetch/$s_!qyBc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8851fb9e-8a3a-40cc-a84e-4a50d4015d13_1441x842.gif 424w, https://substackcdn.com/image/fetch/$s_!qyBc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8851fb9e-8a3a-40cc-a84e-4a50d4015d13_1441x842.gif 848w, https://substackcdn.com/image/fetch/$s_!qyBc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8851fb9e-8a3a-40cc-a84e-4a50d4015d13_1441x842.gif 1272w, https://substackcdn.com/image/fetch/$s_!qyBc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8851fb9e-8a3a-40cc-a84e-4a50d4015d13_1441x842.gif 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Big Data Applications Architecture Diagram</figcaption></figure></div><h3><strong>Data Collection and Storage</strong></h3><p>Organizations deal with various types of data:</p><ul><li><p><strong>Structured Data</strong> &#8211; Information stored in databases and spreadsheets, such as customer records or transaction logs.</p></li><li><p><strong>Unstructured Data</strong> &#8211; Free-form data like emails, images, and documents that require additional processing before use.</p></li></ul><p>Data collection is managed through <strong>time-based triggers or event-driven mechanisms</strong>, ensuring that new data is ingested at scheduled intervals or in response to real-time events. The data is then stored in a <strong>Data Lake</strong>, a centralized repository designed to handle both structured and unstructured data efficiently.</p><h3><strong>Data Processing and Preparation</strong></h3><p>Once collected, raw data must be transformed into a structured, usable format:</p><ul><li><p><strong>Data Exploration</strong> &#8211; Identifying patterns, anomalies, and trends in the dataset.</p></li><li><p><strong>Data Preprocessing</strong> &#8211; Cleaning and normalizing data to remove inconsistencies and missing values.</p></li><li><p><strong>Data Science Algorithms</strong> &#8211; Applying statistical and machine learning techniques to extract deeper insights.</p></li><li><p><strong>Machine Learning Models</strong> &#8211; Training AI models to detect patterns and make predictions based on historical data.</p></li></ul><p>This stage is critical for ensuring data quality and reliability before further processing or deployment.</p><h3><strong>Automation and System Integration</strong></h3><p>To maintain efficiency and scalability, automation plays a key role:</p><ul><li><p><strong>Automation Nodes</strong> &#8211; Manage workflows, schedule tasks, and ensure smooth data movement.</p></li><li><p><strong>API Nodes</strong> &#8211; Provide interfaces for external applications to request and interact with processed data in real-time.</p></li></ul><p>Automation reduces manual effort, streamlines data pipelines, and enables seamless integration with other business applications.</p><h3><strong>Deployment and Delivery of Insights</strong></h3><p>The final step is delivering insights to the right systems or users. This is achieved through <strong>Deployment Pipelines</strong>, which ensure that:</p><ul><li><p>AI models are updated with new data.</p></li><li><p>Processed insights are integrated into business dashboards or applications.</p></li><li><p>Predictions and decisions are available in real-time or on demand.</p></li></ul><p>Efficient deployment ensures that data-driven decisions can be made quickly and accurately, supporting business operations and AI-driven applications.</p><p></p><p></p>]]></content:encoded></item></channel></rss>