Update aws-vs-azure.html

D David Veksler · 1 year ago f0bc461dc9f31bbf5d4efda11e791799f2f9ad52
Parent: 7d29a4a1b

1 file changed +96 −54

Diff

diff --git a/aws-vs-azure.html b/aws-vs-azure.html
index e8a1e0e..85f1c27 100644
--- 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">&copy; 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));
           }