Spaces:
Running
Running
Manual changes saved
Browse files- intel.html +75 -85
intel.html
CHANGED
|
@@ -106,18 +106,18 @@
|
|
| 106 |
<div class="flex items-center justify-center mb-3">
|
| 107 |
<img src="https://huggingface.co/spaces/DjayChucko/EnablingSales/resolve/main/images/3D_POP-Instances-Illustration-3D.png" alt="MEDDICC Illustration" class="w-40 mx-auto my-4">
|
| 108 |
</div>
|
| 109 |
-
<p class="text-gray-700 dark:text-gray-300 max-w-2xl mx-auto mb-8">Match competitive products instantly</p>
|
| 110 |
</div>
|
| 111 |
<div class="grid grid-cols-1 md:grid-cols-2 gap-8 max-w-4xl mx-auto">
|
| 112 |
<div class="text-center">
|
| 113 |
-
<label for="scaleway-product-selector" class="block text-sm font-bold text-gray-800 dark:text-gray-200 mb-2">
|
| 114 |
<select id="scaleway-product-selector" class="block w-full py-3 px-4 pr-10 border border-gray-300 dark:border-gray-600 rounded-xl text-base font-semibold text-gray-800 dark:text-gray-200 bg-white dark:bg-gray-700 focus:ring-2 focus:ring-purple-500 focus:outline-none transition duration-200 shadow-lg text-center">
|
| 115 |
<option value="">- Select a Scaleway Product -</option>
|
| 116 |
</select>
|
| 117 |
</div>
|
| 118 |
|
| 119 |
<div class="text-center">
|
| 120 |
-
<label for="competitor-search" class="block text-sm font-bold text-gray-800 dark:text-gray-200 mb-2">
|
| 121 |
<input type="search" id="competitor-search" placeholder="e.g., EC2, S3, Blob Storage..." class="block w-full py-3 px-4 border border-gray-300 dark:border-gray-600 rounded-xl text-base font-semibold text-gray-800 dark:text-gray-200 bg-white dark:bg-gray-700 focus:ring-2 focus:ring-purple-500 focus:outline-none transition duration-200 shadow-lg text-center">
|
| 122 |
</div>
|
| 123 |
</div>
|
|
@@ -162,9 +162,9 @@
|
|
| 162 |
themeToggle.addEventListener('click', () => {
|
| 163 |
html.classList.toggle('dark');
|
| 164 |
localStorage.theme = html.classList.contains('dark') ? 'dark' : 'light';
|
| 165 |
-
feather.replace();
|
| 166 |
});
|
| 167 |
-
|
| 168 |
if (localStorage.theme === 'dark' || (!('theme' in localStorage) && window.matchMedia('(prefers-color-scheme: dark)').matches)) {
|
| 169 |
html.classList.add('dark');
|
| 170 |
} else {
|
|
@@ -182,65 +182,33 @@
|
|
| 182 |
});
|
| 183 |
|
| 184 |
feather.replace();
|
| 185 |
-
|
| 186 |
-
// --- START: Auto-scroll effect ---
|
| 187 |
-
const mainContent = document.querySelector('main');
|
| 188 |
-
let initialScrollDone = false;
|
| 189 |
-
|
| 190 |
-
const handleInitialScroll = (event) => {
|
| 191 |
-
// This function triggers only on the user's first downward scroll attempt from the top of the page.
|
| 192 |
-
if (!initialScrollDone && window.scrollY === 0 && event.deltaY > 0) {
|
| 193 |
-
event.preventDefault(); // Prevents the default jumpy scroll.
|
| 194 |
-
mainContent.scrollIntoView({ behavior: 'smooth', block: 'start' }); // Scrolls smoothly to the main content.
|
| 195 |
-
initialScrollDone = true; // Sets a flag so this doesn't run again.
|
| 196 |
-
}
|
| 197 |
-
};
|
| 198 |
-
|
| 199 |
-
// We add the listener with { passive: false } because we need to call event.preventDefault().
|
| 200 |
-
window.addEventListener('wheel', handleInitialScroll, { passive: false });
|
| 201 |
-
// --- END: Auto-scroll effect ---
|
| 202 |
-
|
| 203 |
-
|
| 204 |
// --- PAGE-SPECIFIC MAPPER LOGIC ---
|
| 205 |
const COMPETITOR_DATA = [
|
| 206 |
-
{
|
| 207 |
-
{
|
| 208 |
-
{
|
| 209 |
-
{
|
| 210 |
-
{ Category: "
|
| 211 |
-
{ Category: "
|
| 212 |
-
{ Category: "
|
| 213 |
-
{ Category: "
|
| 214 |
-
{ Category: "
|
| 215 |
-
{ Category: "
|
| 216 |
-
{ Category: "
|
| 217 |
-
{ Category: "
|
| 218 |
-
{ Category: "
|
| 219 |
-
{ Category: "
|
| 220 |
-
{ Category: "
|
| 221 |
-
{ Category: "
|
| 222 |
-
{
|
| 223 |
-
{
|
| 224 |
-
{
|
| 225 |
-
{
|
| 226 |
-
{
|
| 227 |
-
{ Category: "Security &
|
| 228 |
-
{
|
| 229 |
-
{ Category: "
|
| 230 |
-
{ Category: "Serverless & Event-Driven", AWS: "Lambda", Azure: "Functions", GCP: "Cloud Functions", OracleOCI: "Functions", Scaleway: "Serverless", OVHcloud: "Serverless", Outscale: "Serverless" },
|
| 231 |
-
{ Category: "Serverless & Event-Driven", AWS: "EventBridge", Azure: "Event Grid", GCP: "Eventarc", OracleOCI: "Events", Scaleway: "Events", OVHcloud: "Events", Outscale: "Events" },
|
| 232 |
-
{ Category: "Serverless & Event-Driven", AWS: "Step Functions", Azure: "Logic Apps", GCP: "Workflows", OracleOCI: "Workflows", Scaleway: "Workflows", OVHcloud: "Workflows", Outscale: "Workflows" },
|
| 233 |
-
{ Category: "DevOps & Management", AWS: "CloudFormation", Azure: "Resource Manager", GCP: "Deployment Manager", OracleOCI: "Resource Manager", Scaleway: "Terraform", OVHcloud: "Terraform", Outscale: "Terraform" },
|
| 234 |
-
{ Category: "DevOps & Management", AWS: "CodePipeline", Azure: "DevOps", GCP: "Cloud Build", OracleOCI: "DevOps", Scaleway: "CI/CD", OVHcloud: "CI/CD", Outscale: "CI/CD" },
|
| 235 |
-
{ Category: "DevOps & Management", AWS: "CloudWatch", Azure: "Monitor", GCP: "Operations Suite", OracleOCI: "Monitoring", Scaleway: "Monitoring", OVHcloud: "Monitoring", Outscale: "Monitoring" },
|
| 236 |
-
{ Category: "DevOps & Management", AWS: "Systems Manager", Azure: "Automation", GCP: "Config", OracleOCI: "Management", Scaleway: "Management", OVHcloud: "Management", Outscale: "Management" },
|
| 237 |
-
{ Category: "Edge & IoT", AWS: "IoT Core", Azure: "IoT Hub", GCP: "Cloud IoT Core", OracleOCI: "IoT", Scaleway: "IoT", OVHcloud: "IoT", Outscale: "IoT" },
|
| 238 |
-
{ Category: "Edge & IoT", AWS: "Local Zones", Azure: "Edge Zones", GCP: "Edge Network", OracleOCI: "Edge", Scaleway: "Edge", OVHcloud: "Edge", Outscale: "Edge" },
|
| 239 |
-
{ Category: "Edge & IoT", AWS: "Wavelength", Azure: "Private 5G", GCP: "Mobile Edge", OracleOCI: "Edge", Scaleway: "Edge", OVHcloud: "Edge", Outscale: "Edge" },
|
| 240 |
-
{ Category: "Miscellaneous & Specialized", AWS: "Outposts", Azure: "Azure Stack", GCP: "Anthos", OracleOCI: "Dedicated Region", Scaleway: "Dedibox", OVHcloud: "Bare Metal Pod", Outscale: "Sovereign Cloud" },
|
| 241 |
-
{ Category: "Miscellaneous & Specialized", AWS: "WorkSpaces", Azure: "Virtual Desktop", GCP: "BeyondCorp", OracleOCI: "Virtual Desktop", Scaleway: "Virtual Desktop", OVHcloud: "Virtual Desktop", Outscale: "Virtual Desktop" },
|
| 242 |
-
{ Category: "Miscellaneous & Specialized", AWS: "AppSync", Azure: "API Management", GCP: "Apigee", OracleOCI: "API Gateway", Scaleway: "API Gateway", OVHcloud: "API Gateway", Outscale: "API Gateway" },
|
| 243 |
-
{ Category: "Miscellaneous & Specialized", AWS: "Amplify", Azure: "Static Web Apps", GCP: "Firebase Hosting", OracleOCI: "Static Hosting", Scaleway: "Static Hosting", OVHcloud: "Static Hosting", Outscale: "Static Hosting" }
|
| 244 |
];
|
| 245 |
|
| 246 |
const scalewaySelector = document.getElementById('scaleway-product-selector');
|
|
@@ -249,7 +217,7 @@
|
|
| 249 |
const initialMessage = document.getElementById('initial-message');
|
| 250 |
|
| 251 |
function populateScalewayDropdown() {
|
| 252 |
-
const scalewayProducts = [...new Set(COMPETITOR_DATA.map(item => item.
|
| 253 |
scalewayProducts.forEach(product => {
|
| 254 |
const option = document.createElement('option');
|
| 255 |
option.value = product;
|
|
@@ -258,6 +226,13 @@
|
|
| 258 |
});
|
| 259 |
}
|
| 260 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 261 |
scalewaySelector.addEventListener('change', () => {
|
| 262 |
const selectedProduct = scalewaySelector.value;
|
| 263 |
competitorSearch.value = '';
|
|
@@ -266,20 +241,25 @@
|
|
| 266 |
initialMessage.classList.remove('hidden');
|
| 267 |
return;
|
| 268 |
}
|
| 269 |
-
|
| 270 |
-
|
| 271 |
-
|
| 272 |
-
|
| 273 |
-
|
| 274 |
-
|
| 275 |
-
|
| 276 |
-
|
| 277 |
-
|
| 278 |
-
|
| 279 |
-
|
| 280 |
-
|
| 281 |
-
|
| 282 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 283 |
});
|
| 284 |
|
| 285 |
competitorSearch.addEventListener('input', () => {
|
|
@@ -291,26 +271,36 @@
|
|
| 291 |
return;
|
| 292 |
}
|
| 293 |
const results = [];
|
| 294 |
-
const providers = ["AWS", "Azure", "GCP", "
|
| 295 |
COMPETITOR_DATA.forEach(row => {
|
| 296 |
providers.forEach(provider => {
|
| 297 |
if (row[provider] && row[provider].toLowerCase().includes(searchTerm)) {
|
| 298 |
-
results.push({
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 299 |
}
|
| 300 |
});
|
| 301 |
});
|
| 302 |
-
|
|
|
|
| 303 |
if (results.length > 0) {
|
| 304 |
results.forEach(res => {
|
| 305 |
-
html += `<div class="bg-slate-900/70 backdrop-blur-sm p-6 rounded-xl shadow-lg">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 306 |
});
|
| 307 |
} else {
|
| 308 |
html += `<p class="text-center text-white/80 mt-4">No matching competitor products found.</p>`;
|
| 309 |
}
|
| 310 |
-
|
| 311 |
-
|
| 312 |
-
resultsArea.classList.remove('hidden');
|
| 313 |
-
resultsArea.scrollIntoView({ behavior: 'smooth', block: 'start' });
|
| 314 |
});
|
| 315 |
|
| 316 |
window.onload = () => {
|
|
|
|
| 106 |
<div class="flex items-center justify-center mb-3">
|
| 107 |
<img src="https://huggingface.co/spaces/DjayChucko/EnablingSales/resolve/main/images/3D_POP-Instances-Illustration-3D.png" alt="MEDDICC Illustration" class="w-40 mx-auto my-4">
|
| 108 |
</div>
|
| 109 |
+
<p class="text-gray-700 dark:text-gray-300 max-w-2xl mx-auto mb-8">Match competitive products and identify key differentiators instantly.</p>
|
| 110 |
</div>
|
| 111 |
<div class="grid grid-cols-1 md:grid-cols-2 gap-8 max-w-4xl mx-auto">
|
| 112 |
<div class="text-center">
|
| 113 |
+
<label for="scaleway-product-selector" class="block text-sm font-bold text-gray-800 dark:text-gray-200 mb-2">Find Competitors by Scaleway Product</label>
|
| 114 |
<select id="scaleway-product-selector" class="block w-full py-3 px-4 pr-10 border border-gray-300 dark:border-gray-600 rounded-xl text-base font-semibold text-gray-800 dark:text-gray-200 bg-white dark:bg-gray-700 focus:ring-2 focus:ring-purple-500 focus:outline-none transition duration-200 shadow-lg text-center">
|
| 115 |
<option value="">- Select a Scaleway Product -</option>
|
| 116 |
</select>
|
| 117 |
</div>
|
| 118 |
|
| 119 |
<div class="text-center">
|
| 120 |
+
<label for="competitor-search" class="block text-sm font-bold text-gray-800 dark:text-gray-200 mb-2">Find Scaleway Equivalent by Competitor</label>
|
| 121 |
<input type="search" id="competitor-search" placeholder="e.g., EC2, S3, Blob Storage..." class="block w-full py-3 px-4 border border-gray-300 dark:border-gray-600 rounded-xl text-base font-semibold text-gray-800 dark:text-gray-200 bg-white dark:bg-gray-700 focus:ring-2 focus:ring-purple-500 focus:outline-none transition duration-200 shadow-lg text-center">
|
| 122 |
</div>
|
| 123 |
</div>
|
|
|
|
| 162 |
themeToggle.addEventListener('click', () => {
|
| 163 |
html.classList.toggle('dark');
|
| 164 |
localStorage.theme = html.classList.contains('dark') ? 'dark' : 'light';
|
| 165 |
+
feather.replace();
|
| 166 |
});
|
| 167 |
+
|
| 168 |
if (localStorage.theme === 'dark' || (!('theme' in localStorage) && window.matchMedia('(prefers-color-scheme: dark)').matches)) {
|
| 169 |
html.classList.add('dark');
|
| 170 |
} else {
|
|
|
|
| 182 |
});
|
| 183 |
|
| 184 |
feather.replace();
|
| 185 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 186 |
// --- PAGE-SPECIFIC MAPPER LOGIC ---
|
| 187 |
const COMPETITOR_DATA = [
|
| 188 |
+
{ ScalewayProduct: "Dedibox", Category: "Bare Metal (Legacy)", AWS: "(Legacy)", Azure: "(Legacy)", GCP: "(Legacy)", OVHcloud: "Dedicated Servers (Eco range)", Nebius: "N/A", Outscale: "N/A", Ionos: "Dedicated Servers", Coreweave: "N/A", CleverCloud: "N/A", KeyDifferentiator: "Price & Reliability: For long-term workloads, Dedibox offers unbeatable monthly pricing on reliable dedicated hardware. A cornerstone of our offerings, trusted for years." },
|
| 189 |
+
{ ScalewayProduct: "Apple silicon", Category: "Bare Metal (Specialized)", AWS: "EC2 Mac Instances", Azure: "N/A", GCP: "N/A", OVHcloud: "N/A", Nebius: "N/A", Outscale: "N/A", Ionos: "N/A", Coreweave: "N/A", CleverCloud: "N/A", KeyDifferentiator: "Unique European CI/CD: The leading European cloud offering for native macOS/iOS development. Build and test your Apple apps in a sovereign environment with predictable, cost-effective hardware." },
|
| 190 |
+
{ ScalewayProduct: "Elastic Metal", Category: "Bare Metal", AWS: "EC2 Bare Metal", Azure: "BareMetal Infra", GCP: "Bare Metal Solution", OVHcloud: "Dedicated Servers (Advance, HG)", Nebius: "Bare Metal (GPU only)", Outscale: "Bare Metal Servers", Ionos: "Cloud Cubes", Coreweave: "N/A", CleverCloud: "N/A", KeyDifferentiator: "API-Driven & Flexible: Unlike traditional dedicated servers, our bare metal is fully API-driven and can be billed hourly, offering cloud-like flexibility with the raw power of dedicated hardware." },
|
| 191 |
+
{ ScalewayProduct: "Production Instances", Category: "Virtual Machines", AWS: "EC2 (M, T series)", Azure: "VMs (D, B series)", GCP: "Compute Engine", OVHcloud: "Public Cloud Instances", Nebius: "Virtual Machines", Outscale: "Cloud Instances (ECU)", Ionos: "Cloud Cubes", Coreweave: "N/A", CleverCloud: "N/A", KeyDifferentiator: "Full Ecosystem & Simplicity: Beyond just a VM, get a high-performance instance that's part of a complete, easy-to-use cloud ecosystem. Simpler to navigate and price than hyperscalers and more PaaS-rich than other EU providers." },
|
| 192 |
+
{ ScalewayProduct: "Cost-Optimized Instances", Category: "Virtual Machines", AWS: "EC2 (T series)", Azure: "VMs (B-series)", GCP: "Compute Engine", OVHcloud: "Public Cloud Instances", Nebius: "Virtual Machines", Outscale: "Cloud Instances (ECU)", Ionos: "Cloud Cubes", Coreweave: "N/A", CleverCloud: "N/A", KeyDifferentiator: "Predictable Low Cost: Ideal for dev/test, we offer a consistently low price without the complex credit systems or the volatility of the hyperscaler 'spot' market." },
|
| 193 |
+
{ ScalewayProduct: "GPU Instances", Category: "Virtual Machines (GPU)", AWS: "EC2 (P, G series)", Azure: "VMs (N series)", GCP: "Compute Engine", OVHcloud: "Public Cloud GPU", Nebius: "GPU Instances", Outscale: "GPU Instances", Ionos: "GPU Cloud Server", Coreweave: "GPU Instances", CleverCloud: "N/A", KeyDifferentiator: "Sovereign AI Ecosystem: Access the latest NVIDIA hardware in a sovereign European cloud. Unlike specialized GPU providers, we offer a complete ecosystem (storage, DBs, networking) to support your entire AI application, not just the training." },
|
| 194 |
+
{ ScalewayProduct: "Kubernetes Kapsule", Category: "Containers", AWS: "EKS", Azure: "AKS", GCP: "GKE", OVHcloud: "Managed Kubernetes", Nebius: "Managed Kubernetes", Outscale: "Managed Kubernetes", Ionos: "Managed Kubernetes", Coreweave: "N/A", CleverCloud: "N/A", KeyDifferentiator: "Cost-Effective & True Multi-Cloud: A CNCF-certified Kubernetes service at a fraction of the hyperscaler cost. Our free Kosmos tool lets you manage multi-cloud clusters from a single control plane—a unique feature no other European provider offers." },
|
| 195 |
+
{ ScalewayProduct: "Serverless Functions", Category: "Serverless", AWS: "Lambda", Azure: "Functions", GCP: "Cloud Functions", OVHcloud: "N/A", Nebius: "N/A", Outscale: "N/A", Ionos: "N/A", Coreweave: "N/A", CleverCloud: "N/A", KeyDifferentiator: "Pioneering European Serverless: The most mature European serverless functions platform. Built on open-source Knative for portability, fully integrated with our ecosystem (e.g., triggering from Object Storage events)." },
|
| 196 |
+
{ ScalewayProduct: "Serverless Containers", Category: "Serverless", AWS: "Fargate", Azure: "Container Instances", GCP: "Cloud Run", OVHcloud: "N/A", Nebius: "Serverless Containers", Outscale: "N/A", Ionos: "N/A", Coreweave: "N/A", CleverCloud: "N/A", KeyDifferentiator: "Open Standards & Simplicity: Deploy containers without managing servers. Our developer-friendly platform is built on open standards, offering a simpler, more portable alternative to hyperscaler-proprietary systems." },
|
| 197 |
+
{ ScalewayProduct: "Container Registry", Category: "Containers", AWS: "ECR", Azure: "ACR", GCP: "Artifact Registry", OVHcloud: "Managed Private Registry", Nebius: "Container Registry", Outscale: "N/A", Ionos: "Container Registry", Coreweave: "N/A", CleverCloud: "N/A", KeyDifferentiator: "Integrated & Simple: A private, secure Docker registry fully integrated with our Kubernetes and Serverless ecosystem. Simple, predictable pricing based purely on storage." },
|
| 198 |
+
{ ScalewayProduct: "Object Storage", Category: "Storage", AWS: "S3", Azure: "Blob Storage", GCP: "Cloud Storage", OVHcloud: "S3 Object Storage", Nebius: "Object Storage", Outscale: "S3 Object Storage", Ionos: "S3 Object Storage", Coreweave: "N/A", CleverCloud: "Cellar S3", KeyDifferentiator: "Sovereign & Predictable Egress: Fully S3-compatible, hosted in Europe for data sovereignty. Our key differentiator is a simpler, more predictable pricing model with often significantly cheaper egress fees than the competition." },
|
| 199 |
+
{ ScalewayProduct: "Glacier (Cold Storage)", Category: "Storage", AWS: "S3 Glacier", Azure: "Blob Archive", GCP: "Cloud Archive", OVHcloud: "Cloud Archive", Nebius: "Cold Storage", Outscale: "N/A", Ionos: "N/A", Coreweave: "N/A", CleverCloud: "N/A", KeyDifferentiator: "Low-Cost European Archive: The most cost-effective solution for long-term data archiving and backups within the EU, ensuring compliance and DR at an unbeatable price point." },
|
| 200 |
+
{ ScalewayProduct: "Block Storage", Category: "Storage", AWS: "EBS", Azure: "Disk Storage", GCP: "Persistent Disk", OVHcloud: "Block Storage", Nebius: "Block Storage", Outscale: "Block Storage", Ionos: "Block Storage", Coreweave: "N/A", CleverCloud: "N/A", KeyDifferentiator: "High Performance & Flexible: SSD-based block storage for your instances. Offers more predictable IOPS performance for the price compared to the complex, tiered offerings from other providers." },
|
| 201 |
+
{ ScalewayProduct: "Managed Databases (PG/MySQL)", Category: "Databases", AWS: "RDS", Azure: "Azure DB", GCP: "Cloud SQL", OVHcloud: "Public Cloud Databases", Nebius: "Managed DBs", Outscale: "N/A", Ionos: "Managed DBs", Coreweave: "N/A", CleverCloud: "Managed DBs", KeyDifferentiator: "Simple, Reliable, Integrated: Get a production-ready database in minutes without the feature overload and complex pricing of hyperscalers. It's the perfect balance of performance and simplicity for developers." },
|
| 202 |
+
{ ScalewayProduct: "Managed Database for Redis™", Category: "Databases", AWS: "ElastiCache", Azure: "Cache for Redis", GCP: "Memorystore", OVHcloud: "N/A", Nebius: "Managed Redis", Outscale: "N/A", Ionos: "N/A", Coreweave: "N/A", CleverCloud: "Managed Redis", KeyDifferentiator: "Performance Caching: Deploy a high-performance in-memory cache with one click. Simple, instance-based pricing makes it a straightforward choice for real-time applications." },
|
| 203 |
+
{ ScalewayProduct: "Serverless SQL DB", Category: "Databases", AWS: "Aurora Serverless", Azure: "SQL DB Serverless", GCP: "(No direct equivalent)", OVHcloud: "N/A", Nebius: "N/A", Outscale: "N/A", Ionos: "N/A", Coreweave: "N/A", CleverCloud: "N/A", KeyDifferentiator: "Unique European Offering: A fully serverless SQL database that scales to zero. Perfect for apps with unpredictable traffic, you only pay for what you use. A unique, cost-saving product in the European market." },
|
| 204 |
+
{ ScalewayProduct: "Private Networks (VPC)", Category: "Networking", AWS: "VPC", Azure: "Virtual Network", GCP: "VPC", OVHcloud: "vRack", Nebius: "Virtual Private Cloud", Outscale: "Virtual Private Cloud", Ionos: "Private LAN", Coreweave: "N/A", CleverCloud: "N/A", KeyDifferentiator: "Free & Secure: Completely isolate your infrastructure in a private network, free of charge. A core security feature that other clouds often monetize through add-ons and complex gateway pricing." },
|
| 205 |
+
{ ScalewayProduct: "Load Balancer", Category: "Networking", AWS: "ELB", Azure: "Load Balancer", GCP: "Cloud Load Balancing", OVHcloud: "Load Balancer", Nebius: "Load Balancer", Outscale: "Load Balancer", Ionos: "Load Balancer", Coreweave: "N/A", CleverCloud: "N/A", KeyDifferentiator: "Affordable High Availability: Distribute traffic to ensure high availability for your applications. Our load balancers are easy to configure and significantly more cost-effective than hyperscaler equivalents." },
|
| 206 |
+
{ ScalewayProduct: "Web Hosting", Category: "PaaS", AWS: "Amplify, Lightsail", Azure: "Static Web Apps", GCP: "Firebase Hosting", OVHcloud: "Web Hosting", Nebius: "N/A", Outscale: "N/A", Ionos: "Web Hosting", Coreweave: "N/A", CleverCloud: "N/A", KeyDifferentiator: "Simple & All-in-One: The easiest way to host your sites. Unlike IaaS providers, we provide an all-inclusive package with email and databases, perfect for users who aren't cloud experts." },
|
| 207 |
+
{ ScalewayProduct: "Transactional Email", Category: "PaaS", AWS: "SES", Azure: "Communication Services", GCP: "(Partners)", OVHcloud: "N/A", Nebius: "N/A", Outscale: "N/A", Ionos: "N/A", Coreweave: "N/A", CleverCloud: "N/A", KeyDifferentiator: "European Email Delivery: Ensure your application's emails are sent from European servers, improving deliverability and GDPR compliance. A rare PaaS offering among European IaaS providers." },
|
| 208 |
+
{ ScalewayProduct: "IoT Hub", Category: "PaaS", AWS: "IoT Core", Azure: "IoT Hub", GCP: "IoT Core", OVHcloud: "N/A", Nebius: "N/A", Outscale: "N/A", Ionos: "N/A", Coreweave: "N/A", CleverCloud: "N/A", KeyDifferentiator: "Secure & Scalable IoT: A straightforward, cost-effective, and sovereign solution for your European IoT deployments. An integrated PaaS product most IaaS providers lack." },
|
| 209 |
+
{ ScalewayProduct: "IAM", Category: "Security & Account", AWS: "IAM", Azure: "Azure AD", GCP: "Cloud IAM", OVHcloud: "User Management", Nebius: "IAM", Outscale: "IAM", Ionos: "User Management", Coreweave: "N/A", CleverCloud: "N/A", KeyDifferentiator: "Granular Control: A fundamental security tool included free with your account. Manage users, groups, and permissions with fine-grained control across all Scaleway products." },
|
| 210 |
+
{ ScalewayProduct: "Cockpit (Monitoring)", Category: "Management Tools", AWS: "CloudWatch", Azure: "Monitor", GCP: "Cloud's ops suite", OVHcloud: "Metrics Data Platform", Nebius: "Monitoring", Outscale: "N/A", Ionos: "Monitoring", Coreweave: "N/A", CleverCloud: "Metrics", KeyDifferentiator: "Integrated Observability: Gain a unified view of your infrastructure's health and performance. Cockpit is included by default, providing easy monitoring without the complex setup of third-party tools." },
|
| 211 |
+
{ ScalewayProduct: "Managed Inference", Category: "AI / ML", AWS: "SageMaker", Azure: "Azure ML", GCP: "Vertex AI", OVHcloud: "AI Deploy", Nebius: "N/A", Outscale: "N/A", Ionos: "N/A", Coreweave: "N/A", CleverCloud: "N/A", KeyDifferentiator: "Effortless & Sovereign Model Serving: Deploy trained models with a fully managed API. We handle the infrastructure and scaling in a sovereign environment, offering a simpler and more integrated experience than setting up your own GPU servers." }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 212 |
];
|
| 213 |
|
| 214 |
const scalewaySelector = document.getElementById('scaleway-product-selector');
|
|
|
|
| 217 |
const initialMessage = document.getElementById('initial-message');
|
| 218 |
|
| 219 |
function populateScalewayDropdown() {
|
| 220 |
+
const scalewayProducts = [...new Set(COMPETITOR_DATA.map(item => item.ScalewayProduct))].sort();
|
| 221 |
scalewayProducts.forEach(product => {
|
| 222 |
const option = document.createElement('option');
|
| 223 |
option.value = product;
|
|
|
|
| 226 |
});
|
| 227 |
}
|
| 228 |
|
| 229 |
+
function displayResults(html) {
|
| 230 |
+
resultsArea.innerHTML = html;
|
| 231 |
+
initialMessage.classList.add('hidden');
|
| 232 |
+
resultsArea.classList.remove('hidden');
|
| 233 |
+
resultsArea.scrollIntoView({ behavior: 'smooth', block: 'start' });
|
| 234 |
+
}
|
| 235 |
+
|
| 236 |
scalewaySelector.addEventListener('change', () => {
|
| 237 |
const selectedProduct = scalewaySelector.value;
|
| 238 |
competitorSearch.value = '';
|
|
|
|
| 241 |
initialMessage.classList.remove('hidden');
|
| 242 |
return;
|
| 243 |
}
|
| 244 |
+
|
| 245 |
+
const row = COMPETITOR_DATA.find(r => r.ScalewayProduct === selectedProduct);
|
| 246 |
+
if (!row) return;
|
| 247 |
+
|
| 248 |
+
let html = `<div class="bg-slate-900/70 backdrop-blur-sm p-6 rounded-xl shadow-lg">`;
|
| 249 |
+
html += `<h2 class="text-2xl font-bold text-white mb-4">Comparison for: <span class="text-purple-400">${selectedProduct}</span></h2>`;
|
| 250 |
+
html += `<p class="text-sm text-gray-400 mb-6">Category: ${row.Category}</p>`;
|
| 251 |
+
|
| 252 |
+
html += `<div class="mb-6"><h3 class="text-lg font-semibold text-white mb-3 flex items-center"><i data-feather="zap" class="w-5 h-5 mr-2 text-yellow-400"></i>Key Differentiation & Talking Points</h3><p class="text-gray-200 bg-purple-900/30 p-4 rounded-lg">${row.KeyDifferentiator}</p></div>`;
|
| 253 |
+
|
| 254 |
+
html += `<div><h3 class="text-lg font-semibold text-white mb-3 flex items-center"><i data-feather="shuffle" class="w-5 h-5 mr-2 text-cyan-400"></i>Competitor Equivalents</h3><div class="grid grid-cols-2 sm:grid-cols-3 gap-4 text-base">`;
|
| 255 |
+
const competitors = { AWS: row.AWS, Azure: row.Azure, GCP: row.GCP, OVHcloud: row.OVHcloud, Nebius: row.Nebius, Outscale: row.Outscale, Ionos: row.Ionos, Coreweave: row.Coreweave, CleverCloud: row.CleverCloud };
|
| 256 |
+
for (const [provider, product] of Object.entries(competitors)) {
|
| 257 |
+
html += `<div><span class="font-semibold text-gray-100">${provider}:</span> <span class="text-gray-300">${product || 'N/A'}</span></div>`;
|
| 258 |
+
}
|
| 259 |
+
html += `</div></div></div>`;
|
| 260 |
+
|
| 261 |
+
displayResults(html);
|
| 262 |
+
feather.replace();
|
| 263 |
});
|
| 264 |
|
| 265 |
competitorSearch.addEventListener('input', () => {
|
|
|
|
| 271 |
return;
|
| 272 |
}
|
| 273 |
const results = [];
|
| 274 |
+
const providers = ["AWS", "Azure", "GCP", "OVHcloud", "Nebius", "Outscale", "Ionos", "Coreweave", "CleverCloud"];
|
| 275 |
COMPETITOR_DATA.forEach(row => {
|
| 276 |
providers.forEach(provider => {
|
| 277 |
if (row[provider] && row[provider].toLowerCase().includes(searchTerm)) {
|
| 278 |
+
results.push({
|
| 279 |
+
provider: provider,
|
| 280 |
+
competitorProduct: row[provider],
|
| 281 |
+
scalewayProduct: row.ScalewayProduct,
|
| 282 |
+
category: row.Category,
|
| 283 |
+
differentiator: row.KeyDifferentiator
|
| 284 |
+
});
|
| 285 |
}
|
| 286 |
});
|
| 287 |
});
|
| 288 |
+
|
| 289 |
+
let html = `<h2 class="text-2xl font-bold text-white text-center mb-6">Results for "${competitorSearch.value}"</h2>`;
|
| 290 |
if (results.length > 0) {
|
| 291 |
results.forEach(res => {
|
| 292 |
+
html += `<div class="bg-slate-900/70 backdrop-blur-sm p-6 rounded-xl shadow-lg">`;
|
| 293 |
+
html += `<p class="text-gray-300 text-lg mb-2">Match for <span class="font-bold text-white">${res.competitorProduct}</span> (${res.provider})</p>`;
|
| 294 |
+
html += `<p class="text-purple-400 font-bold text-2xl">Scaleway Equivalent: ${res.scalewayProduct}</p>`;
|
| 295 |
+
html += `<p class="text-sm text-gray-400 mt-2 mb-4">Category: ${res.category}</p>`;
|
| 296 |
+
html += `<div class="border-t border-purple-800 pt-4"><h4 class="font-semibold text-white mb-2 flex items-center"><i data-feather="zap" class="w-4 h-4 mr-2 text-yellow-400"></i>Talking Point</h4><p class="text-gray-200">${res.differentiator}</p></div>`;
|
| 297 |
+
html += `</div>`;
|
| 298 |
});
|
| 299 |
} else {
|
| 300 |
html += `<p class="text-center text-white/80 mt-4">No matching competitor products found.</p>`;
|
| 301 |
}
|
| 302 |
+
displayResults(html);
|
| 303 |
+
feather.replace();
|
|
|
|
|
|
|
| 304 |
});
|
| 305 |
|
| 306 |
window.onload = () => {
|