Update aws-vs-azure.html
· 1 year ago
f0bc461dc9f31bbf5d4efda11e791799f2f9ad52
Parent:
7d29a4a1b
1 file changed +96 −54
- aws-vs-azure.html +96 −54
Diff
--- a/aws-vs-azure.html +++ b/aws-vs-azure.html @@ -12,33 +12,39 @@ <meta name="description" - content="A direct side-by-side comparison of key AWS and Azure services for cloud architects, including Logic Apps, Application Insights, Step Functions, and more." + content="A direct side-by-side comparison of key AWS and Azure services for cloud architects, including Logic Apps, Application Insights, Step Functions, and more. Explore platform philosophies and unique strengths." /> - <link rel="canonical" href="http://cheatsheets.davidveksler.com/aws-vs-azure-comparison.html" /> <!-- Placeholder --> + <link rel="canonical" href="https://cheatsheets.davidveksler.com/aws-vs-azure-comparison.html" /> <!-- UPDATE THIS URL --> <meta property="og:title" content="AWS vs Azure: Side-by-Side Cloud Service Comparison" /> <meta property="og:description" - content="Visually compare AWS and Azure core services directly. Deep dive into philosophies, unique features, and find essential learning resources." + content="Visually compare AWS and Azure core services directly. Deep dive into philosophies, unique features, and find essential learning resources for cloud professionals." /> <meta property="og:type" content="article" /> - <meta property="og:url" content="http://cheatsheets.davidveksler.com/aws-vs-azure-comparison.html" /> <!-- Placeholder --> + <meta property="og:url" content="https://cheatsheets.davidveksler.com/aws-vs-azure-comparison.html" /> <!-- UPDATE THIS URL --> <meta property="og:site_name" content="Cloud Comparison Cheatsheets" /> + <meta property="og:image" content="https://cheatsheets.davidveksler.com/images/aws-vs-azure-comparison-og-image.jpg" /> <!-- Placeholder: Create & upload an image (e.g., 1200x630px) and update this URL --> + <meta property="og:image:width" content="1200" /> + <meta property="og:image:height" content="630" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:title" content="AWS vs Azure: Side-by-Side Cloud Service Comparison" /> <meta name="twitter:description" - content="Visually compare AWS and Azure core services directly, including Logic Apps, Application Insights. Deep dive into philosophies, unique features, and find essential learning resources." + content="Visually compare AWS and Azure core services directly. Deep dive into philosophies, unique features, and find essential learning resources for cloud professionals." /> + <meta name="twitter:image" content="https://cheatsheets.davidveksler.com/images/aws-vs-azure-comparison-twitter-image.jpg" /> <!-- Placeholder: Create & upload an image (can be same as OG image) and update this URL --> + <!-- Optional: <meta name="twitter:site" content="@YourTwitterHandle"> --> + <!-- Optional: <meta name="twitter:creator" content="@AuthorTwitterHandle"> --> <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" /> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/font/bootstrap-icons.min.css" /> <style> :root { - --bs-body-bg: #f4f7f9; - --bs-primary: #007bff; + --bs-body-bg: #f4f7f9; + --bs-primary: #007bff; --bs-primary-dark: #0056b3; --bs-primary-light: #e6f2ff; --bs-secondary: #6c757d; @@ -48,7 +54,7 @@ --text-color-secondary: #495057; --text-color-highlight: var(--bs-primary-dark); --blueprint-grid-color: rgba(0, 123, 255, 0.05); - --schema-bg-color: #ffffff; + --schema-bg-color: #ffffff; --schema-border-color: #ced4da; --aws-color: #FF9900; /* AWS Orange */ @@ -58,7 +64,7 @@ --theme-color-philosophy: #6f42c1; /* Purple for philosophy section */ --theme-color-strengths: #fd7e14; /* Orange for strengths section */ --theme-color-resources: #28a745; /* Green for resources section */ - + --theme-category-color: var(--bs-primary); /* Default */ } @@ -86,23 +92,23 @@ .page-header h1 { color: var(--bs-primary-dark); font-weight: 700; - font-size: 2.5rem; + font-size: 2.5rem; } .page-header h1 .bi { - font-size: 1.1em; + font-size: 1.1em; vertical-align: -0.1em; margin-right: 0.4em; color: var(--bs-primary); } .page-header .lead { color: var(--text-color-secondary); - font-size: 1.15rem; + font-size: 1.15rem; max-width: 900px; margin: auto; font-weight: 400; } - .schema-container { + .schema-container { /* Applied to <section> now */ background-color: var(--schema-bg-color); border: 1px solid var(--schema-border-color); border-radius: 10px; @@ -125,11 +131,11 @@ margin-right: 0.5em; color: var(--bs-primary); } - + .section-title { /* For collapsible sections */ color: #fff; background-color: var(--theme-category-color); - margin: -2.8rem 0 1.8rem 0; + margin: -2.8rem 0 1.8rem 0; /* Adjusted for <section> potentially */ font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; @@ -186,7 +192,7 @@ } .comparison-item .platform-label.aws-label { color: var(--aws-color); } .comparison-item .platform-label.azure-label { color: var(--azure-color); } - + .comparison-item .service-name { font-weight: 500; color: var(--text-color-main); @@ -254,7 +260,7 @@ font-size: 0.88rem; color: var(--bs-primary-dark); background-color: var(--bs-primary-light); padding: 0.2em 0.5em; border-radius: 4px; font-family: "SFMono-Regular", Consolas, Menlo, Courier, monospace; font-weight: 600; } - + .row > * { margin-bottom: 2rem; } footer { padding: 2.5rem 0 1.5rem 0; font-size: 0.9em; color: #5a6872; text-align: center; @@ -278,24 +284,53 @@ .section-strengths, .card-strengths { --theme-category-color: var(--theme-color-strengths); } .section-resources, .card-resources { --theme-category-color: var(--theme-color-resources); } </style> + + <script type="application/ld+json"> + { + "@context": "https://schema.org", + "@type": "BreadcrumbList", + "itemListElement": [{ + "@type": "ListItem", + "position": 1, + "name": "Cloud Comparison Cheatsheets", + "item": "https://cheatsheets.davidveksler.com/" + },{ + "@type": "ListItem", + "position": 2, + "name": "AWS vs Azure: Side-by-Side Cloud Service Comparison", + "item": "https://cheatsheets.davidveksler.com/aws-vs-azure-comparison.html" + }] + } + </script> </head> - <body> + <body itemscope itemtype="https://schema.org/TechArticle"> + <meta itemprop="datePublished" content="YYYY-MM-DD"> <!-- Placeholder: UPDATE WITH PUBLICATION DATE --> + <meta itemprop="dateModified" content="YYYY-MM-DD"> <!-- Placeholder: UPDATE WITH LAST MODIFIED DATE --> + <div itemprop="publisher" itemscope itemtype="https://schema.org/Organization" style="display:none;"> + <meta itemprop="name" content="Cloud Comparison Cheatsheets"> + <!-- Optional: <div itemprop="logo" itemscope itemtype="https://schema.org/ImageObject"><meta itemprop="url" content="URL_TO_YOUR_LOGO_IMAGE.png"></div> --> + </div> + <div itemprop="author" itemscope itemtype="https://schema.org/Organization" style="display:none;"> + <meta itemprop="name" content="Cloud Comparison Cheatsheets"> + </div> + <link itemprop="mainEntityOfPage" href="https://cheatsheets.davidveksler.com/aws-vs-azure-comparison.html" /> <!-- UPDATE THIS URL if different --> + <header class="page-header"> - <h1><i class="bi bi-clouds-fill"></i> AWS vs Azure: Cloud Service Showdown</h1> - <p class="lead"> + <h1 itemprop="headline"><i class="bi bi-clouds-fill"></i> AWS vs Azure: Side-by-Side Cloud Service Comparison</h1> + <p class="lead" itemprop="description"> A direct side-by-side comparison of core services, plus insights into platform philosophies, unique strengths, and essential resources for architects. </p> </header> - <div class="container" id="main-container"> + <main class="container" id="main-container" itemprop="articleBody"> <!-- I. SIDE-BY-SIDE SERVICE COMPARISON (NOT HIDDEN) --> - <div class="schema-container section-services-direct" data-section-id="section-service-comparison-direct"> + <section class="schema-container section-services-direct" data-section-id="section-service-comparison-direct" aria-labelledby="section-service-comparison-title"> <h2 class="section-title-main" id="section-service-comparison-title"><i class="bi bi-layout-split"></i> Core Services: AWS vs Azure</h2> <div class="comparison-area"> <!-- Compute Services --> - <div class="service-category-block"> + <div class="service-category-block" id="compute-services"> <h3 class="category-title-bar"><i class="bi bi-cpu-fill"></i> Compute</h3> <div class="comparison-item"> <div><span class="platform-label aws-label">AWS</span><span class="service-name">Elastic Compute Cloud (EC2)</span></div> @@ -330,7 +365,7 @@ </div> <!-- Storage Services --> - <div class="service-category-block"> + <div class="service-category-block" id="storage-services"> <h3 class="category-title-bar"><i class="bi bi-database-fill-up"></i> Storage</h3> <div class="comparison-item"> <div><span class="platform-label aws-label">AWS</span><span class="service-name">Simple Storage Service (S3)</span></div> @@ -365,7 +400,7 @@ </div> <!-- Networking Services --> - <div class="service-category-block"> + <div class="service-category-block" id="networking-services"> <h3 class="category-title-bar"><i class="bi bi-diagram-3-fill"></i> Networking</h3> <div class="comparison-item"> <div><span class="platform-label aws-label">AWS</span><span class="service-name">Virtual Private Cloud (VPC)</span></div> @@ -395,7 +430,7 @@ </div> <!-- Database Services --> - <div class="service-category-block"> + <div class="service-category-block" id="database-services"> <h3 class="category-title-bar"><i class="bi bi-server"></i> Databases</h3> <div class="comparison-item"> <div><span class="platform-label aws-label">AWS</span><span class="service-name">Relational Database Service (RDS)</span></div> @@ -413,9 +448,9 @@ <p class="comparison-description">Data warehousing services.</p> </div> </div> - + <!-- Management & Governance Services --> - <div class="service-category-block"> + <div class="service-category-block" id="management-governance-services"> <h3 class="category-title-bar"><i class="bi bi-gear-wide-connected"></i> Management & Governance</h3> <div class="comparison-item"> <div><span class="platform-label aws-label">AWS</span><span class="service-name">CloudWatch</span></div> @@ -450,7 +485,7 @@ </div> <!-- Security & Identity Services --> - <div class="service-category-block"> + <div class="service-category-block" id="security-identity-services"> <h3 class="category-title-bar"><i class="bi bi-shield-lock-fill"></i> Security & Identity</h3> <div class="comparison-item"> <div><span class="platform-label aws-label">AWS</span><span class="service-name">Identity and Access Management (IAM)</span></div> @@ -473,9 +508,9 @@ <p class="comparison-description">Protection against Distributed Denial of Service (DDoS) attacks.</p> </div> </div> - + <!-- Developer Tools --> - <div class="service-category-block"> + <div class="service-category-block" id="developer-tool-services"> <h3 class="category-title-bar"><i class="bi bi-tools"></i> Developer Tools</h3> <div class="comparison-item"> <div><span class="platform-label aws-label">AWS</span><span class="service-name">CodeCommit, CodeBuild, CodeDeploy, CodePipeline</span></div> @@ -483,9 +518,9 @@ <p class="comparison-description">Suite of services for DevOps practices including CI/CD.</p> </div> </div> - + <!-- Application Integration --> - <div class="service-category-block"> + <div class="service-category-block" id="application-integration-services"> <h3 class="category-title-bar"><i class="bi bi-link-45deg"></i> Application Integration</h3> <div class="comparison-item"> <div><span class="platform-label aws-label">AWS</span><span class="service-name">Step Functions</span></div> @@ -500,7 +535,7 @@ </div> <!-- AI & Machine Learning --> - <div class="service-category-block"> + <div class="service-category-block" id="ai-ml-services"> <h3 class="category-title-bar"><i class="bi bi-robot"></i> AI & Machine Learning</h3> <div class="comparison-item"> <div><span class="platform-label aws-label">AWS</span><span class="service-name">SageMaker, Rekognition, Polly, Lex</span></div> @@ -510,7 +545,7 @@ </div> <!-- Internet of Things (IoT) --> - <div class="service-category-block"> + <div class="service-category-block" id="iot-services"> <h3 class="category-title-bar"><i class="bi bi-hdd-network-fill"></i> Internet of Things (IoT)</h3> <div class="comparison-item"> <div><span class="platform-label aws-label">AWS</span><span class="service-name">AWS IoT Core, Greengrass</span></div> @@ -520,11 +555,11 @@ </div> </div> <!-- End comparison-area --> - </div> <!-- End Direct Service Comparison Section --> + </section> <!-- End Direct Service Comparison Section --> <!-- II. PHILOSOPHICAL DIFFERENCES (COLLAPSIBLE) --> - <div class="schema-container section-philosophy" data-section-id="section-platform-philosophy"> + <section class="schema-container section-philosophy" data-section-id="section-platform-philosophy" aria-labelledby="section-platform-philosophy-title"> <h2 class="section-title" id="section-platform-philosophy-title">Platform Philosophies</h2> <div class="row"> <div class="col-lg-12"> <!-- Single card for this section --> @@ -557,12 +592,12 @@ </div> </div> </div> - </div> - </div> + </div> + </section> <!-- III. UNIQUE ASPECTS OF EACH PLATFORM (COLLAPSIBLE) --> - <div class="schema-container section-strengths" data-section-id="section-unique-strengths"> + <section class="schema-container section-strengths" data-section-id="section-unique-strengths" aria-labelledby="section-unique-strengths-title"> <h2 class="section-title" id="section-unique-strengths-title">Unique Strengths & Differentiators</h2> <div class="row"> <div class="col-lg-6 col-md-6"> @@ -612,11 +647,11 @@ </div> </div> </div> - </div> + </section> <!-- IV. IMPORTANT LINKS & RESOURCES (COLLAPSIBLE) --> - <div class="schema-container section-resources" data-section-id="section-learning-resources"> + <section class="schema-container section-resources" data-section-id="section-learning-resources" aria-labelledby="section-learning-resources-title"> <h2 class="section-title" id="section-learning-resources-title">Learning Resources & Docs</h2> <div class="row"> <div class="col-lg-6 col-md-12"> @@ -665,14 +700,21 @@ </div> </div> </div> - </div> + </section> - </div> <!-- End Main Container --> + </main> <!-- End Main Container --> <footer class="container text-center pb-3"> - <p class="mb-2"> - © <span id="currentYear"></span> Cloud Comparison Cheatsheets. Content based on official AWS & Azure documentation and public information. - </p> + <p class="mb-2">© 2025 David Veksler</p> + <div> + <a href="https://www.linkedin.com/in/davidveksler/" title="David Veksler on LinkedIn" target="_blank" rel="noopener noreferrer" class="mx-2 link-secondary"> + <i class="bi bi-linkedin"></i> LinkedIn + </a> + <a href="https://cheatsheets.davidveksler.com/" title="Browse All Cheatsheets" class="mx-2 link-secondary"> + <i class="bi bi-collection"></i> All Cheatsheets + </a> + </div> + <div> <a href="https://aws.amazon.com/" target="_blank" rel="noopener noreferrer" class="mx-2"><i class="bi bi-amazon"></i> AWS Official Site</a> <a href="https://azure.microsoft.com/" target="_blank" rel="noopener noreferrer" class="mx-2"><i class="bi bi-microsoft"></i> Azure Official Site</a> @@ -688,20 +730,20 @@ const icon = button ? button.querySelector(".bi") : null; if (button && icon) { const updateIconAndButton = (isShown) => { - const chevronDown = icon.classList.contains("bi-chevron-down"); - const chevronUp = icon.classList.contains("bi-chevron-up"); - + // Use bi-chevron-up and bi-chevron-down for clarity if (isShown) { - if (chevronDown) icon.classList.remove("bi-chevron-down"); - if (!chevronUp) icon.classList.add("bi-chevron-up"); + icon.classList.remove("bi-chevron-down"); + icon.classList.add("bi-chevron-up"); button.setAttribute("aria-expanded", "true"); } else { - if (chevronUp) icon.classList.remove("bi-chevron-up"); - if (!chevronDown) icon.classList.add("bi-chevron-down"); + icon.classList.remove("bi-chevron-up"); + icon.classList.add("bi-chevron-down"); button.setAttribute("aria-expanded", "false"); } }; + // Initialize based on current state updateIconAndButton(collapseEl.classList.contains("show")); + // Add event listeners collapseEl.addEventListener("show.bs.collapse", () => updateIconAndButton(true)); collapseEl.addEventListener("hide.bs.collapse", () => updateIconAndButton(false)); }