{"id":3195,"date":"2026-03-15T21:02:00","date_gmt":"2026-03-16T02:02:00","guid":{"rendered":"https:\/\/bijoos.com\/oraclenotes\/?p=3195"},"modified":"2026-03-15T23:07:17","modified_gmt":"2026-03-16T04:07:17","slug":"part-1-the-ebs-cloud-reality-check-why-lift-and-shift-to-vms-doesnt-work-for-erp","status":"publish","type":"post","link":"https:\/\/bijoos.com\/oraclenotes\/2026\/3195\/","title":{"rendered":"Part 1: The EBS Cloud Reality Check \u2014 Why &#8220;Lift and Shift to VMs&#8221; Doesn&#8217;t Work for ERP"},"content":{"rendered":"\n<p>If you&#8217;ve spent any significant time managing Oracle E-Business Suite (EBS), there&#8217;s an uncomfortable truth that EBS teams know well: it&#8217;s not a workload you casually split across network boundaries. Latency gets blamed most often, but the real reason EBS has historically stayed anchored on-prem is a three-part trap: punishing licensing math, rigid VM sizing, and the non-negotiable requirement for tier co-location. Get any one of these wrong, and the business case collapses\u2014or worse, you end up paying more in the cloud than you did on-prem.<\/p>\n\n\n\n<p>This series focuses on EBS 12.2 running on Oracle Database 19c\u2014the current supported release and the standard deployment target for Database@Azure.&nbsp;<\/p>\n\n\n\n<p>EBS isn\u2019t just an app and a database. It\u2019s an ERP gravity well. Consider the &#8220;satellites&#8221; that orbit the core system:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Tax engines (like Vertex or Avalara)<\/li>\n\n\n\n<li>Barcode and label printing systems<\/li>\n\n\n\n<li>Integration runtimes and file-based interfaces<\/li>\n\n\n\n<li>BI and reporting feeds<\/li>\n<\/ul>\n\n\n\n<p>These satellites aren&#8217;t optional, and the architecture assumes everything lives in the same low-latency domain. Split the ERP island, and you don&#8217;t just risk slower forms\u2014you risk operational coupling failures that show up at the worst possible times: month-end close, payroll runs, order-to-cash cycles that depend on sub-second round-trip times between the application tier and the database.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">The T-Shirt Size Trap Becomes a Licensing Trap<\/h4>\n\n\n\n<p>In Azure, Virtual Machines come in &#8220;T-shirt sizes.&#8221; For typical stateless web workloads, that&#8217;s convenient. For EBS databases, it can be punishing.<\/p>\n\n\n\n<p>EBS databases are notoriously memory-hungry and I\/O intensive. The VM family that finally meets your memory target almost always drags a massive CPU footprint along with it. If your Oracle licensing is core-based, you end up paying steep Oracle software costs for &#8220;ghost&#8221; CPUs you didn&#8217;t actually need\u2014just to buy the RAM you did.<\/p>\n\n\n\n<p>Consider a mid-size EBS database that requires 768GB of RAM and moderate CPU utilization\u2014say, 16 cores of actual sustained demand. On Azure, meeting that memory requirement pushes you into an M-series VM with 96 vCPUs. Under Oracle&#8217;s Authorized Cloud Environment licensing policy, every 2 vCPUs equals 1 processor license. That&#8217;s 48 processor licenses\u2014for a workload that genuinely needs 16 cores of compute. You&#8217;re licensing at 3x your actual CPU requirement, purely because of the memory-to-CPU ratio of the available VM shapes.<\/p>\n\n\n\n<p>There is a second nuance that makes the math even more painful\u2014especially for customers migrating from Unix platforms. On-prem, many infrastructure teams rely on the Oracle Processor Core Factor Table to reduce license counts. Customers running on SPARC (core factor 0.25) or POWER (core factor 1.0) platforms have historically benefited from favorable multipliers that significantly reduce the number of processor licenses required.<\/p>\n\n\n\n<p>When moving to Azure VMs, Oracle&#8217;s Authorized Cloud Environment policy applies a fixed counting rule: 2 vCPUs = 1 processor license (for hyper-threaded x86). Customers migrating from non-x86 platforms with favorable core factors can see their license requirements increase significantly\u2014sometimes doubling\u2014for the same effective compute capacity. And unlike on-prem, where hard partitioning (Oracle VM, Solaris Zones) can limit the licensable footprint, Azure VMs require you to license every vCPU allocated to the instance.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><strong>The Constrained vCPU &#8220;Gotcha&#8221;:<\/strong> Azure offers constrained vCPU VM variants\u2014instances that retain full memory allocation while reducing the active vCPU count (for example, a 96-vCPU class VM constrained to 48 active vCPUs). These look like the perfect technical fix for memory-heavy databases.<\/p>\n\n\n\n<p>Oracle&#8217;s cloud licensing policy does reference vCPU counts as the licensing basis, and recent guidance suggests constrained counts may be recognized. However, interpretations have shifted over time, and enforcement can vary. Most enterprise customers treat this as a conversation to have with Oracle licensing specialists&nbsp;<em>before<\/em>&nbsp;committing to a deployment model\u2014not an assumption to build a business case on.<\/p>\n<\/blockquote>\n\n\n\n<p>That\u2019s the CPU tax: in the wrong architecture, your Oracle software cost will rapidly eclipse your infrastructure cost.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">The Shift: Oracle Database@Azure is Not &#8220;Oracle on a VM&#8221;<\/h4>\n\n\n\n<p>Attempts to split the difference\u2014running the EBS application tier in Azure and the database elsewhere\u2014tend to fail in production reality. EBS must move as a cohesive unit.<\/p>\n\n\n\n<p>This is why Oracle Database@Azure fundamentally changes the playbook. It is Oracle delivering OCI-managed database services\u2014on Exadata infrastructure\u2014physically colocated inside Azure datacenters. You provision the infrastructure through the Azure portal and Azure APIs; it appears as a native Azure resource, billed on your Azure invoice. Deeper database management\u2014patching, Data Guard configuration, performance diagnostics\u2014is handled through the OCI console, accessible directly from the Azure portal.<\/p>\n\n\n\n<p>For EBS, this means you can move the entire ERP island into an Azure region without violating the physics of tier co-location, and without forcing your database into generic VM sizing patterns that create licensing waste.<\/p>\n\n\n\n<p>And for Azure-first organizations with existing Microsoft commitments, there&#8217;s a commercial detail that matters: Database@Azure spend counts toward your Microsoft Azure Consumption Commitment (MACC). Your Oracle database infrastructure cost draws down the same Azure commitment you&#8217;re already managing\u2014no separate Oracle infrastructure contract required. We&#8217;ll cover the commercial mechanics in detail in Part 2.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">How It Actually Connects: The Network Architecture<\/h4>\n\n\n\n<p>Understanding why Database@Azure delivers sub-millisecond latency to the EBS application tier requires a look at how the networking works\u2014because this is fundamentally different from the older OCI\u2013Azure Interconnect model.<\/p>\n\n\n\n<p>In the Interconnect model (still available, but not what we&#8217;re discussing in this series), traffic between Azure and OCI traversed a cross-cloud network link between separate datacenters. Latency was typically 1.5\u20132ms\u2014workable for some applications, but too high for EBS forms, concurrent managers, and high-frequency PL\/SQL calls that can generate thousands of database round trips per user session.<\/p>\n\n\n\n<p>Database@Azure eliminates that gap entirely. Oracle Exadata infrastructure is physically deployed&nbsp;<em>inside<\/em>&nbsp;Azure datacenters. Connectivity between your Azure VMs (running the EBS application tier) and the Database@Azure instance uses a&nbsp;<strong>delegated subnet<\/strong>&nbsp;within your existing Azure Virtual Network (VNet). Traffic never leaves the Azure datacenter fabric. Measured latency is typically&nbsp;<strong>under 0.5ms<\/strong>\u2014comparable to what you&#8217;d see between two Azure VMs in the same VNet.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Your Azure VNet contains your standard subnets for EBS application tier VMs, bastion hosts, load balancers, and any adjacent services (tax engines, reporting, integration runtimes).<\/li>\n\n\n\n<li>A\u00a0<strong>delegated subnet<\/strong>\u00a0is created within the same VNet, specifically for Database@Azure. This subnet is delegated to the\u00a0<code>Oracle.Database\/networkAttachments<\/code>\u00a0resource provider.<\/li>\n\n\n\n<li>The EBS application tier connects to the database using standard Oracle Net (TNS) over this private network path. No public endpoints, no internet traversal, no VPN tunnels.<\/li>\n\n\n\n<li>Network Security Groups (NSGs) can be applied to control traffic flow, and standard Azure routing and DNS resolution apply.<\/li>\n<\/ul>\n\n\n\n<p>The practical result: your entire EBS estate\u2014application tier, database tier, and all adjacent satellite systems\u2014lives within a single Azure VNet in a single Azure region. From a network topology perspective, it looks and behaves like a fully Azure-native deployment. The fact that the database tier runs on Oracle-managed Exadata hardware is transparent to the application layer.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Right-Sizing the Estate: Choosing Your Service Tier<\/h4>\n\n\n\n<p>It\u2019s important to say this plainly: Exadata isn\u2019t the right starting point for every EBS customer. For smaller enterprises or smaller database estates, Exadata capacity and cost can be overkill.<\/p>\n\n\n\n<p><strong>Exadata Database Service for Large Estates:<\/strong> For large EBS environments\u2014those with databases exceeding multiple terabytes, heavy concurrent user loads, and demanding batch processing windows\u2014Exadata Database Service (ExaDB-D) on Database@Azure is the natural fit. You get dedicated Exadata infrastructure with the I\/O performance, Smart Scan offloading, and storage compression that EBS database workloads benefit from. Compute and storage scale independently, which directly addresses the T-shirt sizing trap: you allocate the memory and OCPUs your workload actually needs, not what a generic VM shape forces on you.<\/p>\n\n\n\n<p><strong>Base Database Service for Smaller Estates and Non-Prod: <\/strong>This is where <strong>Oracle Base Database Service on Database@Azure<\/strong> becomes a highly pragmatic option. It provides broader choices across Oracle database services natively in Azure. The key advantage\u2014especially for Bring Your Own License (BYOL) customers\u2014is that you provision the database capacity you <em>actually<\/em> intend to license, rather than being forced into an oversized Azure VM. Base Database Service utilizes BYOL consumption pricing (ECPU-based) and is positioned specifically as a lower-cost, highly flexible way to run Oracle Database. You still get the integrated Database@Azure operating model, but with a service tier that naturally aligns to the size of your environment.<\/p>\n\n\n\n<p>We&#8217;ll explore the full service catalog\u2014including Exadata Database Service on Exascale, which introduces elastic, granular scaling for mid-size estates\u2014in Part 5.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Operations: Azure Teams Don\u2019t Have to Become OCI Experts<\/h4>\n\n\n\n<p>A common operational fear is: <em>\u201cDo my Azure engineers now need to learn OCI?\u201d<\/em><\/p>\n\n\n\n<p>The short answer is no. Microsoft and Oracle have established a clear division of labor. You provision Oracle Database@Azure using the Azure portal and Azure APIs, and the infrastructure\/cluster resources are managed natively in Azure. Meanwhile, deeper database management tasks can be performed using the OCI console or using your current familiar tools.<\/p>\n\n\n\n<p>This split maps perfectly to how real enterprise teams actually work:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Azure Cloud Engineers<\/strong>\u00a0stay in Azure for provisioning, network routing, monitoring, and broader operational workflows. Database@Azure resources appear as native Azure resource types, manageable through the Azure portal, CLI, ARM templates, and Terraform AzureRM provider.<\/li>\n\n\n\n<li><strong>DBAs<\/strong>\u00a0use OCI-side tooling when they need deeper database performance troubleshooting, patching, and Oracle-native diagnostics. This is accessed directly from the Azure portal via a linked OCI console\u2014no separate OCI tenancy setup or credential management required for basic operations.<\/li>\n<\/ul>\n\n\n\n<h5 class=\"wp-block-heading\">OEM for EBS Operations<\/h5>\n\n\n\n<p>For EBS-specific operations, Oracle Enterprise Manager (OEM) remains the primary management tool\u2014and it works with Database@Azure exactly as it does with any other Oracle database. OEM runs on an Azure VM alongside the EBS application tier and connects to the Database@Azure instance over the same low-latency private network. Your EBS DBAs&#8217; existing OEM workflows\u2014concurrent manager monitoring, workflow mailer management, EBS patching and cloning operations, AD\/TXK administration\u2014carry forward unchanged.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">A Note on Identity and Governance<\/h5>\n\n\n\n<p>One operational detail worth flagging early: Database@Azure operates across two control planes. Azure Entra ID (formerly Azure AD) governs portal access and resource-level RBAC. OCI IAM governs database-level administration policies. In practice, this means your cloud platform team manages access and governance in Azure as they do for any other Azure resource, while your DBA team gets a linked OCI tenancy for database operations. We&#8217;ll cover the identity and governance model in detail in Part 5.<\/p>\n\n\n\n<p>It&#8217;s a practical workflow that maps to how real enterprise teams actually work\u2014and it prevents the &#8220;everyone must retrain on everything&#8221; fear from blocking your cloud migration.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">The Bottom Line<\/h4>\n\n\n\n<p>EBS becomes \u201clegacy\u201d when it is trapped behind aging hardware and a cloud sizing model that punishes memory-heavy databases. The blocker was never &#8220;the cloud&#8221; itself\u2014it was the mismatch between EBS reality and generic VM economics.<\/p>\n\n\n\n<p>Oracle Database@Azure\u2014whether Exadata Database Service for large production estates or Base Database Service for smaller environments\u2014finally creates a credible Azure-first path to move EBS forward: without splitting tiers, without paying for capacity you don&#8217;t actually use, and with your Oracle database spend counting toward the Azure commitments you&#8217;re already managing.<\/p>\n\n\n\n<p>In Part 2, we&#8217;ll put real numbers behind this\u2014comparing the total cost of ownership for EBS on Azure VMs versus Database@Azure, and showing where the economics decisively shift.<\/p>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<p><strong>E-Business Suite on Azure with Oracle Database@Azure \u2014 Series<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Introduction:<\/strong> <em><a href=\"https:\/\/bijoos.com\/oraclenotes\/2026\/3192\/\">The Last Datacenter Exit: Migrating Oracle E-Business Suite to Azure with Database@Azure<\/a><\/em><\/li>\n\n\n\n<li><strong>Part 1:<\/strong> <a href=\"https:\/\/bijoos.com\/oraclenotes\/2026\/3195\/\">The EBS Cloud Reality Check \u2014 Why &#8220;Lift and Shift to VMs&#8221; Doesn&#8217;t Work for ERP<\/a><\/li>\n\n\n\n<li><strong>Part 2:<\/strong> <a href=\"https:\/\/bijoos.com\/oraclenotes\/2026\/3200\/\">Oracle EBS Economics: Oracle on Azure VMs vs Oracle Database@Azure \u2014 A Real TCO Comparison<\/a><\/li>\n\n\n\n<li><strong>Part 3:<\/strong> <a href=\"https:\/\/bijoos.com\/oraclenotes\/2026\/3208\/\">Resilient ERP \u2014 Backup, Recovery, and Cyber-Resiliency with Database@Azure<\/a><\/li>\n\n\n\n<li><strong>Part 4:<\/strong> <a href=\"https:\/\/bijoos.com\/oraclenotes\/2026\/3211\/\">EBS Platform Move \u2014 Unix to Azure Linux with Smaller Cutovers<\/a><\/li>\n\n\n\n<li><strong>Part 5:<\/strong> <a href=\"https:\/\/bijoos.com\/oraclenotes\/2026\/3213\/\">Picking the Right Database@Azure Service for EBS \u2014 Dedicated Exadata, Exascale, Base DB, and How to License Them<\/a><\/li>\n<\/ul>\n<\/div><\/div>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Managing Oracle E-Business Suite (EBS) is challenging, particularly with cloud migration due to licensing complexities, rigid VM sizing, and co-location requirements. EBS relies on interconnected systems that necessitate low-latency environments. Oracle Database@Azure addresses these issues by offering managed services on Exadata infrastructure, allowing for cohesive migration without excessive costs. Smaller enterprises benefit from the Base Database Service, which aligns capacity with actual licensing needs, enabling effective operations without requiring Azure teams to become OCI experts.<\/p>\n","protected":false},"author":1,"featured_media":3196,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":true,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[129,10],"tags":[130,111,153,154],"class_list":["post-3195","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-multicloud-hybrid","category-ebs","tag-database-azure","tag-multicloud","tag-oracle-ebs","tag-platform-migration"],"acf":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/bijoos.com\/oraclenotes\/wp-content\/uploads\/2026\/02\/ODBA-Part1-Cover.png?fit=1536%2C1024&ssl=1","jetpack-related-posts":[],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/bijoos.com\/oraclenotes\/wp-json\/wp\/v2\/posts\/3195","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bijoos.com\/oraclenotes\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bijoos.com\/oraclenotes\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bijoos.com\/oraclenotes\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bijoos.com\/oraclenotes\/wp-json\/wp\/v2\/comments?post=3195"}],"version-history":[{"count":4,"href":"https:\/\/bijoos.com\/oraclenotes\/wp-json\/wp\/v2\/posts\/3195\/revisions"}],"predecessor-version":[{"id":3261,"href":"https:\/\/bijoos.com\/oraclenotes\/wp-json\/wp\/v2\/posts\/3195\/revisions\/3261"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/bijoos.com\/oraclenotes\/wp-json\/wp\/v2\/media\/3196"}],"wp:attachment":[{"href":"https:\/\/bijoos.com\/oraclenotes\/wp-json\/wp\/v2\/media?parent=3195"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bijoos.com\/oraclenotes\/wp-json\/wp\/v2\/categories?post=3195"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bijoos.com\/oraclenotes\/wp-json\/wp\/v2\/tags?post=3195"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}