seo optimizations
· 1 year ago
eee5c7f736e68d05297e42c87fe4ece322d509a9
Parent:
015998434
6 files changed +5135 −2561
- azure-devops.html +1066 −503
- capitalism.html +47 −43
- engineering-metals-selection.html +3781 −1304
- images/azure-devops.png binary
- images/modern-devops-pipelines.png binary
- modern-devops-pipelines.html +241 −711
Diff
--- a/azure-devops.html +++ b/azure-devops.html @@ -1,37 +1,31 @@ - - <!DOCTYPE html> <html lang="en"> -<head> - <meta charset="UTF-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <title>The Complete Azure DevOps Cheatsheet: From Boards to Pipelines & Beyond</title> - <link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22><text y=%22.9em%22 font-size=%2290%22>🚀</text></svg>"> - - <!-- SEO & Metadata --> - <meta name="description" content="A comprehensive, opinionated cheatsheet for the entire Azure DevOps ecosystem. Covers Azure Boards, Repos, Pipelines, Test Plans, Artifacts, Terraform for IaC, and SonarQube for code quality."> - <meta name="keywords" content="DevOps, Azure DevOps, Cheatsheet, Azure Boards, Azure Repos, Azure Pipelines, Azure Test Plans, Azure Artifacts, Terraform, SonarQube, CI/CD, Agile, Git, IaC, Security, YAML"> - <link rel="canonical" href="https://cheatsheets.davidveksler.com/azure-devops.html"> - - <!-- Open Graph / Facebook --> - <meta property="og:type" content="website"> - <meta property="og:url" content="https://cheatsheets.davidveksler.com/azure-devops.html"> - <meta property="og:title" content="The Complete Azure DevOps Cheatsheet: From Boards to Pipelines & Beyond"> - <meta property="og:description" content="A battle-hardened guide to the full Azure DevOps suite, including Boards for planning, Repos for code, Pipelines for CI/CD, Test Plans, and Artifacts for package management."> - <meta property="og:image" content="https://cheatsheets.davidveksler.com/images/azure-devops.png"> - <meta property="og:image:alt" content="A visual diagram of the full DevOps lifecycle, highlighting components like Boards, Repos, and Pipelines."> - - <!-- Twitter --> - <meta name="twitter:card" content="summary_large_image"> - <meta name="twitter:url" content="https://cheatsheets.davidveksler.com/azure-devops.html"> - <meta name="twitter:title" content="The Complete Azure DevOps Cheatsheet: From Boards to Pipelines & Beyond"> - <meta name="twitter:description" content="An opinionated cheatsheet for mastering the Azure DevOps ecosystem, from agile planning with Boards to CI/CD with Pipelines."> - <meta name="twitter:image" content="https://cheatsheets.davidveksler.com/images/azure-devops.png"> - <meta name="twitter:creator" content="@heroiclife"> - - <!-- JSON-LD Structured Data --> - <script type="application/ld+json"> - { + <head> + <meta charset="utf-8"/> + <meta content="width=device-width, initial-scale=1.0" name="viewport"/> + <title> + The Complete Azure DevOps Cheatsheet: From Boards to Pipelines & Beyond + </title> + <link href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22><text y=%22.9em%22 font-size=%2290%22>🚀</text></svg>" rel="icon"/> + <!-- SEO & Metadata --> + <meta content="A comprehensive, opinionated cheatsheet for the entire Azure DevOps ecosystem. Covers Azure Boards, Repos, Pipelines, Test Plans, Artifacts, Terraform for IaC, and SonarQube for code quality." name="description"/> + <meta content="DevOps, Azure DevOps, Cheatsheet, Azure Boards, Azure Repos, Azure Pipelines, Azure Test Plans, Azure Artifacts, Terraform, SonarQube, CI/CD, Agile, Git, IaC, Security, YAML" name="keywords"/> + <link href="https://cheatsheets.davidveksler.com/azure-devops.html" rel="canonical"/> + <!-- Open Graph / Facebook --> + <meta content="website" property="og:type"/> + <meta content="https://cheatsheets.davidveksler.com/azure-devops.html" property="og:url"/> + <meta content="The Complete Azure DevOps Cheatsheet: From Boards to Pipelines & Beyond" property="og:title"/> + <meta content="A battle-hardened guide to the full Azure DevOps suite, including Boards for planning, Repos for code, Pipelines for CI/CD, Test Plans, and Artifacts for package management." property="og:description"/> + <meta content="A visual diagram of the full DevOps lifecycle, highlighting components like Boards, Repos, and Pipelines." property="og:image:alt"/> + <!-- Twitter --> + <meta content="summary_large_image" name="twitter:card"/> + <meta content="https://cheatsheets.davidveksler.com/azure-devops.html" name="twitter:url"/> + <meta content="The Complete Azure DevOps Cheatsheet: From Boards to Pipelines & Beyond" name="twitter:title"/> + <meta content="An opinionated cheatsheet for mastering the Azure DevOps ecosystem, from agile planning with Boards to CI/CD with Pipelines." name="twitter:description"/> + <meta content="@heroiclife" name="twitter:creator"/> + <!-- JSON-LD Structured Data --> + <script type="application/ld+json"> + { "@context": "https://schema.org", "@type": "TechArticle", "headline": "The Complete Azure DevOps Cheatsheet: From Boards to Pipelines & Beyond", @@ -53,15 +47,13 @@ "dateModified": "2024-06-15", "keywords": "DevOps, CI/CD, Azure DevOps, Azure Boards, Azure Repos, Azure Pipelines, Azure Test Plans, Azure Artifacts, Terraform, SonarQube, IaC, Git, Automation, Security" } - </script> - - <!-- Bootstrap CSS --> - <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous"> - <!-- Bootstrap Icons --> - <link href="https://cdn.jsdelivr.net/npm/[email protected]/font/bootstrap-icons.min.css" rel="stylesheet"> - - <style> - :root { + </script> + <!-- Bootstrap CSS --> + <link crossorigin="anonymous" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" rel="stylesheet"/> + <!-- Bootstrap Icons --> + <link href="https://cdn.jsdelivr.net/npm/[email protected]/font/bootstrap-icons.min.css" rel="stylesheet"/> + <style> + :root { --bs-body-bg: #1a1d21; --bs-body-color: #e9ecef; --bs-primary: #0d6efd; /* Azure Blue */ @@ -191,477 +183,1048 @@ footer { border-top: 1px solid var(--schema-border-color); padding-top: 2rem; margin-top: 2rem; color: var(--text-color-secondary); font-size: 0.9em; } footer a { color: var(--text-color-secondary); text-decoration: none; } footer a:hover { color: #fff; text-decoration: underline; } - </style> -</head> -<body class="bg-dark text-light"> - - <header class="page-header"> - <h1><i class="bi bi-bezier"></i> The Complete Azure DevOps Cheatsheet</h1> - <p class="lead">A brutally honest, battle-hardened guide to the entire Azure DevOps suite. From planning with Boards, coding with Repos, building and releasing with Pipelines, to testing, artifacts, and beyond.</p> - </header> - - <div class="container"> - <div id="filter-controls"> - <input type="search" id="search-box" class="form-control mb-3" placeholder="Search topics, tools, or keywords (e.g., Boards, YAML, SAST)..."> - <div id="category-filters" class="btn-toolbar" role="toolbar" aria-label="Category Filters"></div> - <div class="alert alert-warning mt-3" id="no-results" style="display: none;">No items match your criteria.</div> + </style> + <meta content="images/azure-devops.png" property="og:image"/> + <meta content="images/azure-devops.png" name="twitter:image"/> + </head> + <body class="bg-dark text-light"> + <header class="page-header"> + <h1> + <i class="bi bi-bezier"> + </i> + The Complete Azure DevOps Cheatsheet + </h1> + <p class="lead"> + A brutally honest, battle-hardened guide to the entire Azure DevOps suite. From planning with Boards, coding with Repos, building and releasing with Pipelines, to testing, artifacts, and beyond. + </p> + </header> + <div class="container"> + <div id="filter-controls"> + <input class="form-control mb-3" id="search-box" placeholder="Search topics, tools, or keywords (e.g., Boards, YAML, SAST)..." type="search"/> + <div aria-label="Category Filters" class="btn-toolbar" id="category-filters" role="toolbar"> + </div> + <div class="alert alert-warning mt-3" id="no-results" style="display: none;"> + No items match your criteria. + </div> + </div> + </div> + <main class="container" id="main-container"> + <!-- 1. Agile Planning (Azure Boards) --> + <div class="schema-container section-plan" data-section-id="section-plan" data-section-name="Plan"> + <h2 class="section-title"> + Agile Planning & Work Management + </h2> + <div class="row g-4"> + <div class="col-lg-6"> + <div class="info-card card-plan" id="card-plan-boards"> + <div class="card-body d-flex flex-column"> + <h5> + <i class="bi bi-kanban"> + </i> + Azure Boards + </h5> + <div class="card-content-wrapper"> + <p class="summary"> + If you don't plan your work, you plan to fail. Azure Boards is the central hub for work item tracking, backlogs, and sprint planning. It's where all work should originate. + </p> + <button aria-controls="collapsePlanBoards" aria-expanded="false" class="btn btn-outline-secondary btn-sm details-toggle" data-bs-target="#collapsePlanBoards" data-bs-toggle="collapse" type="button"> + Details + <i class="bi bi-chevron-down"> + </i> + </button> </div> + <div class="collapse collapse-content" id="collapsePlanBoards"> + <h6> + Core Components: + </h6> + <ul> + <li> + <strong> + Work Items: + </strong> + The fundamental units of work (e.g., User Story, Bug, Task). + </li> + <li> + <strong> + Backlogs: + </strong> + A prioritized list of work items. You'll have product backlogs (all work) and sprint backlogs (work for the current iteration). + </li> + <li> + <strong> + Boards: + </strong> + Kanban-style visualization of your workflow. Customize columns to match your team's process. + </li> + <li> + <strong> + Sprints/Iterations: + </strong> + Time-boxed periods where a team commits to a set of work. + </li> + </ul> + </div> + </div> + </div> + </div> + <div class="col-lg-6"> + <div class="info-card card-plan" id="card-plan-linking"> + <div class="card-body d-flex flex-column"> + <h5> + <i class="bi bi-link-45deg"> + </i> + Best Practice: Traceability + </h5> + <div class="card-content-wrapper"> + <p class="summary"> + Your mantra: "If it's not in Boards, it doesn't exist." Every commit, branch, and pull request must be linked to a work item. This provides end-to-end traceability from idea to deployment. + </p> + <button aria-controls="collapsePlanLinking" aria-expanded="false" class="btn btn-outline-secondary btn-sm details-toggle" data-bs-target="#collapsePlanLinking" data-bs-toggle="collapse" type="button"> + Details + <i class="bi bi-chevron-down"> + </i> + </button> + </div> + <div class="collapse collapse-content" id="collapsePlanLinking"> + <h6> + Why It's Non-Negotiable: + </h6> + <ul> + <li> + <strong> + Context: + </strong> + Understand *why* a change was made, directly from the code. + </li> + <li> + <strong> + Auditing: + </strong> + Easily track all changes related to a specific feature or bug fix. + </li> + <li> + <strong> + Automation: + </strong> + Use branch policies to enforce work item linking on all pull requests. + </li> + <li> + <strong> + Reporting: + </strong> + Generate accurate reports on team velocity, cycle time, and project status. + </li> + </ul> + <div class="callout callout-danger"> + <strong> + Critical Rule: + </strong> + Configure your `main` branch policy to "Check for linked work items." This is the simplest and most effective process improvement you can make. + </div> + </div> + </div> + </div> + </div> </div> - - <main class="container" id="main-container"> - - <!-- 1. Agile Planning (Azure Boards) --> - <div class="schema-container section-plan" data-section-id="section-plan" data-section-name="Plan"> - <h2 class="section-title">Agile Planning & Work Management</h2> - <div class="row g-4"> - <div class="col-lg-6"> - <div class="info-card card-plan" id="card-plan-boards"> - <div class="card-body d-flex flex-column"> - <h5><i class="bi bi-kanban"></i> Azure Boards</h5> - <div class="card-content-wrapper"> - <p class="summary">If you don't plan your work, you plan to fail. Azure Boards is the central hub for work item tracking, backlogs, and sprint planning. It's where all work should originate.</p> - <button class="btn btn-outline-secondary btn-sm details-toggle" type="button" data-bs-toggle="collapse" data-bs-target="#collapsePlanBoards" aria-expanded="false" aria-controls="collapsePlanBoards">Details <i class="bi bi-chevron-down"></i></button> - </div> - <div class="collapse collapse-content" id="collapsePlanBoards"> - <h6>Core Components:</h6> - <ul> - <li><strong>Work Items:</strong> The fundamental units of work (e.g., User Story, Bug, Task).</li> - <li><strong>Backlogs:</strong> A prioritized list of work items. You'll have product backlogs (all work) and sprint backlogs (work for the current iteration).</li> - <li><strong>Boards:</strong> Kanban-style visualization of your workflow. Customize columns to match your team's process.</li> - <li><strong>Sprints/Iterations:</strong> Time-boxed periods where a team commits to a set of work.</li> - </ul> - </div> - </div> - </div> - </div> - <div class="col-lg-6"> - <div class="info-card card-plan" id="card-plan-linking"> - <div class="card-body d-flex flex-column"> - <h5><i class="bi bi-link-45deg"></i> Best Practice: Traceability</h5> - <div class="card-content-wrapper"> - <p class="summary">Your mantra: "If it's not in Boards, it doesn't exist." Every commit, branch, and pull request must be linked to a work item. This provides end-to-end traceability from idea to deployment.</p> - <button class="btn btn-outline-secondary btn-sm details-toggle" type="button" data-bs-toggle="collapse" data-bs-target="#collapsePlanLinking" aria-expanded="false" aria-controls="collapsePlanLinking">Details <i class="bi bi-chevron-down"></i></button> - </div> - <div class="collapse collapse-content" id="collapsePlanLinking"> - <h6>Why It's Non-Negotiable:</h6> - <ul> - <li><strong>Context:</strong> Understand *why* a change was made, directly from the code.</li> - <li><strong>Auditing:</strong> Easily track all changes related to a specific feature or bug fix.</li> - <li><strong>Automation:</strong> Use branch policies to enforce work item linking on all pull requests.</li> - <li><strong>Reporting:</strong> Generate accurate reports on team velocity, cycle time, and project status.</li> - </ul> - <div class="callout callout-danger"><strong>Critical Rule:</strong> Configure your `main` branch policy to "Check for linked work items." This is the simplest and most effective process improvement you can make.</div> - </div> - </div> - </div> - </div> - </div> + </div> + <!-- 2. Source Control Management (SCM) --> + <div class="schema-container section-scm" data-section-id="section-scm" data-section-name="Code"> + <h2 class="section-title"> + Source Control Management + </h2> + <div class="row g-4"> + <div class="col-lg-6"> + <div class="info-card card-scm" id="card-scm-azure-repos"> + <div class="card-body d-flex flex-column"> + <h5> + <i class="bi bi-git"> + </i> + Azure Repos + </h5> + <div class="card-content-wrapper"> + <p class="summary"> + The foundation of your pipeline. It's Git. Don't overthink it. If your code is in TFVC, your top priority is migrating. No excuses. + </p> + <button aria-controls="collapseScmAzureRepos" aria-expanded="false" class="btn btn-outline-secondary btn-sm details-toggle" data-bs-target="#collapseScmAzureRepos" data-bs-toggle="collapse" type="button"> + Details + <i class="bi bi-chevron-down"> + </i> + </button> </div> - - <!-- 2. Source Control Management (SCM) --> - <div class="schema-container section-scm" data-section-id="section-scm" data-section-name="Code"> - <h2 class="section-title">Source Control Management</h2> - <div class="row g-4"> - <div class="col-lg-6"> - <div class="info-card card-scm" id="card-scm-azure-repos"> - <div class="card-body d-flex flex-column"> - <h5><i class="bi bi-git"></i> Azure Repos</h5> - <div class="card-content-wrapper"> - <p class="summary">The foundation of your pipeline. It's Git. Don't overthink it. If your code is in TFVC, your top priority is migrating. No excuses.</p> - <button class="btn btn-outline-secondary btn-sm details-toggle" type="button" data-bs-toggle="collapse" data-bs-target="#collapseScmAzureRepos" aria-expanded="false" aria-controls="collapseScmAzureRepos">Details <i class="bi bi-chevron-down"></i></button> - </div> - <div class="collapse collapse-content" id="collapseScmAzureRepos"> - <h6>Core Principle:</h6> - <p>This is your single source of truth. All changes—code, configuration, pipelines, infrastructure—must live here. Protect it accordingly.</p> - <h6>Tooling:</h6> - <ul> - <li><strong>Azure Repos:</strong> It's a perfectly functional Git host that integrates tightly with the rest of Azure DevOps.</li> - <li><strong>Git:</strong> The undisputed standard for version control. Anything else is a historical artifact and technical debt.</li> - </ul> - </div> - </div> - </div> - </div> - <div class="col-lg-6"> - <div class="info-card card-scm" id="card-scm-branch-policies"> - <div class="card-body d-flex flex-column"> - <h5><i class="bi bi-sign-turn-right"></i> Best Practice: Branch Policies</h5> - <div class="card-content-wrapper"> - <p class="summary">Policies are non-negotiable. Protect your `main` branch like it's the last bastion of sanity. Automate your Pull Requests to enforce quality gates from the very start.</p> - <button class="btn btn-outline-secondary btn-sm details-toggle" type="button" data-bs-toggle="collapse" data-bs-target="#collapseScmBranchPolicies" aria-expanded="false" aria-controls="collapseScmBranchPolicies">Details <i class="bi bi-chevron-down"></i></button> - </div> - <div class="collapse collapse-content" id="collapseScmBranchPolicies"> - <h6>Mandatory Policies for `main`:</h6> - <ul> - <li><strong>Require a minimum number of reviewers:</strong> No developer merges their own code without a second pair of eyes.</li> - <li><strong>Check for linked work items:</strong> Every change must be traceable to a requirement or bug.</li> - <li><strong>Check for comment resolution:</strong> Ensure all review feedback is addressed.</li> - <li><strong>Enforce Build Validation:</strong> Link your CI pipeline here. If the PR doesn't build and pass tests, it's blocked. This is your first quality gate.</li> - </ul> - </div> - </div> - </div> - </div> - </div> + <div class="collapse collapse-content" id="collapseScmAzureRepos"> + <h6> + Core Principle: + </h6> + <p> + This is your single source of truth. All changes—code, configuration, pipelines, infrastructure—must live here. Protect it accordingly. + </p> + <h6> + Tooling: + </h6> + <ul> + <li> + <strong> + Azure Repos: + </strong> + It's a perfectly functional Git host that integrates tightly with the rest of Azure DevOps. + </li> + <li> + <strong> + Git: + </strong> + The undisputed standard for version control. Anything else is a historical artifact and technical debt. + </li> + </ul> </div> - - <!-- 3. Continuous Integration (CI) --> - <div class="schema-container section-ci" data-section-id="section-ci" data-section-name="Build"> - <h2 class="section-title">Continuous Integration</h2> - <div class="row g-4"> - <div class="col-lg-4"> - <div class="info-card card-ci" id="card-ci-pipelines"> - <div class="card-body d-flex flex-column"> - <h5><i class="bi bi-filetype-yml"></i> Azure Pipelines (YAML ONLY)</h5> - <div class="card-content-wrapper"> - <p class="summary">Your pipeline is code. Treat it like code. Do NOT use the "classic" UI editor. It creates a click-ops nightmare that is impossible to version, review, or scale.</p> - <button class="btn btn-outline-secondary btn-sm details-toggle" type="button" data-bs-toggle="collapse" data-bs-target="#collapseCiPipelines" aria-expanded="false" aria-controls="collapseCiPipelines">Details <i class="bi bi-chevron-down"></i></button> - </div> - <div class="collapse collapse-content" id="collapseCiPipelines"> - <h6>Core Principle:</h6> - <p>Define your build pipeline as an `azure-pipelines.yml` file, committed to the root of your repository. This ensures your pipeline is versioned alongside your code.</p> - <h6>Best Practices:</h6> - <ul> - <li><strong>Use Templates:</strong> For common, reusable steps, create pipeline templates. This standardizes your process and makes maintenance trivial.</li> - <li><strong>Use Variable Groups:</strong> For shared variables and secrets. Link them to Azure Key Vault.</li> - </ul> - </div> - </div> - </div> - </div> - <div class="col-lg-4"> - <div class="info-card card-ci" id="card-ci-sonarqube"> - <div class="card-body d-flex flex-column"> - <h5><i class="bi bi-search-heart"></i> SonarQube Integration</h5> - <div class="card-content-wrapper"> - <p class="summary"><span class="term" data-bs-toggle="tooltip" title="A tool for continuous inspection of code quality.">SonarQube</span> is your automated code reviewer. Integrate it into CI and fail the build if the quality gate is not met.</p> - <button class="btn btn-outline-secondary btn-sm details-toggle" type="button" data-bs-toggle="collapse" data-bs-target="#collapseCiSonarqube" aria-expanded="false" aria-controls="collapseCiSonarqube">Details <i class="bi bi-chevron-down"></i></button> - </div> - <div class="collapse collapse-content" id="collapseCiSonarqube"> - <h6>Typical CI Pipeline Steps with SonarQube:</h6> - <ol> - <li><strong>Prepare Analysis:</strong> Connects to your SonarQube server.</li> - <li><strong>Run Build & Tests:</strong> Compile code and generate code coverage reports.</li> - <li><strong>Run Code Analysis:</strong> Sonar scanner analyzes code and coverage reports.</li> - <li><strong>Publish Quality Gate Result:</strong> Polls SonarQube and checks the Quality Gate status.</li> - </ol> - <div class="callout callout-danger"> - <strong>Critical Rule:</strong> Configure the "Publish Quality Gate Result" task to fail the build if the gate fails. - </div> - </div> - </div> - </div> - </div> - <div class="col-lg-4"> - <div class="info-card card-ci" id="card-ci-stages"> - <div class="card-body d-flex flex-column"> - <h5><i class="bi bi-boxes"></i> CI Key Stages</h5> - <div class="card-content-wrapper"> - <p class="summary">The moment code is merged, it must be built, tested, and packaged. The goal is to catch errors early and often, before they reach production.</p> - <button class="btn btn-outline-secondary btn-sm details-toggle" type="button" data-bs-toggle="collapse" data-bs-target="#collapseCiStages" aria-expanded="false" aria-controls="collapseCiStages">Details <i class="bi bi-chevron-down"></i></button> - </div> - <div class="collapse collapse-content" id="collapseCiStages"> - <h6>Mandatory Stages:</h6> - <ul> - <li><strong>Build:</strong> Compile the code. If it doesn't build, it's broken.</li> - <li><strong>Test:</strong> Run unit and integration tests.</li> - <li><strong>Scan:</strong> Perform security and quality scans (e.g., SonarQube, SAST, SCA).</li> - <li><strong>Package:</strong> Create a deployable artifact (e.g., a <span class="term" data-bs-toggle="tooltip" title="A standardized unit of software that packages up code and all its dependencies.">Docker image</span>).</li> - </ul> - </div> - </div> - </div> - </div> - </div> + </div> + </div> + </div> + <div class="col-lg-6"> + <div class="info-card card-scm" id="card-scm-branch-policies"> + <div class="card-body d-flex flex-column"> + <h5> + <i class="bi bi-sign-turn-right"> + </i> + Best Practice: Branch Policies + </h5> + <div class="card-content-wrapper"> + <p class="summary"> + Policies are non-negotiable. Protect your `main` branch like it's the last bastion of sanity. Automate your Pull Requests to enforce quality gates from the very start. + </p> + <button aria-controls="collapseScmBranchPolicies" aria-expanded="false" class="btn btn-outline-secondary btn-sm details-toggle" data-bs-target="#collapseScmBranchPolicies" data-bs-toggle="collapse" type="button"> + Details + <i class="bi bi-chevron-down"> + </i> + </button> </div> - - <!-- 4. Quality Assurance (Azure Test Plans) --> - <div class="schema-container section-testing" data-section-id="section-testing" data-section-name="Test"> - <h2 class="section-title">Quality Assurance & Test Management</h2> - <div class="row g-4"> - <div class="col-lg-6"> - <div class="info-card card-testing" id="card-test-plans"> - <div class="card-body d-flex flex-column"> - <h5><i class="bi bi-clipboard2-check"></i> Azure Test Plans</h5> - <div class="card-content-wrapper"> - <p class="summary">Automated tests are essential but don't cover everything. Use Azure Test Plans for manual, exploratory, and user acceptance testing (UAT) to ensure comprehensive quality.</p> - <button class="btn btn-outline-secondary btn-sm details-toggle" type="button" data-bs-toggle="collapse" data-bs-target="#collapseTestPlans" aria-expanded="false" aria-controls="collapseTestPlans">Details <i class="bi bi-chevron-down"></i></button> - </div> - <div class="collapse collapse-content" id="collapseTestPlans"> - <h6>Key Features:</h6> - <ul> - <li><strong>Test Plans & Suites:</strong> Group test cases into logical suites. Requirement-based suites automatically link test cases to user stories in Boards.</li> - <li><strong>Test Case Management:</strong> Define detailed, step-by-step manual test cases with expected results.</li> - <li><strong>Web-based Test Runner:</strong> Execute tests directly in the browser, marking steps as pass/fail and capturing screenshots or recordings.</li> - <li><strong>Exploratory Testing:</strong> Capture rich data (notes, screenshots, HAR files) during unscripted testing sessions.</li> - </ul> - </div> - </div> - </div> - </div> - <div class="col-lg-6"> - <div class="info-card card-testing" id="card-test-integration"> - <div class="card-body d-flex flex-column"> - <h5><i class="bi bi-arrows-angle-contract"></i> End-to-End Traceability</h5> - <div class="card-content-wrapper"> - <p class="summary">Linking test results back to requirements is critical for quality reporting. Test Plans creates a full audit trail, showing which tests validate which features and what their latest outcomes are.</p> - <button class="btn btn-outline-secondary btn-sm details-toggle" type="button" data-bs-toggle="collapse" data-bs-target="#collapseTestIntegration" aria-expanded="false" aria-controls="collapseTestIntegration">Details <i class="bi bi-chevron-down"></i></button> - </div> - <div class="collapse collapse-content" id="collapseTestIntegration"> - <h6>How It Connects:</h6> - <ul> - <li>Failing a manual test step can automatically create a bug in Azure Boards, pre-populated with repro steps and system info.</li> - <li>Test results from automated CI/CD pipeline runs can be published to Test Plans, providing a single view of both manual and automated test quality.</li> - <li>Stakeholders can view the "Test" tab on a work item to see all associated test cases and their results, providing confidence before deployment.</li> - </ul> - </div> - </div> - </div> - </div> - </div> + <div class="collapse collapse-content" id="collapseScmBranchPolicies"> + <h6> + Mandatory Policies for `main`: + </h6> + <ul> + <li> + <strong> + Require a minimum number of reviewers: + </strong> + No developer merges their own code without a second pair of eyes. + </li> + <li> + <strong> + Check for linked work items: + </strong> + Every change must be traceable to a requirement or bug. + </li> + <li> + <strong> + Check for comment resolution: + </strong> + Ensure all review feedback is addressed. + </li> + <li> + <strong> + Enforce Build Validation: + </strong> + Link your CI pipeline here. If the PR doesn't build and pass tests, it's blocked. This is your first quality gate. + </li> + </ul> </div> - - <!-- 5. Package Management (Azure Artifacts) --> - <div class="schema-container section-artifacts" data-section-id="section-artifacts" data-section-name="Artifacts"> - <h2 class="section-title">Package Management</h2> - <div class="row g-4"> - <div class="col-lg-6"> - <div class="info-card card-artifacts" id="card-artifacts-overview"> - <div class="card-body d-flex flex-column"> - <h5><i class="bi bi-box-seam"></i> Azure Artifacts</h5> - <div class="card-content-wrapper"> - <p class="summary">Manage your dependencies. Azure Artifacts provides private, secure feeds for hosting packages like NuGet, npm, Maven, Python, and Universal Packages. Stop relying solely on public registries.</p> - <button class="btn btn-outline-secondary btn-sm details-toggle" type="button" data-bs-toggle="collapse" data-bs-target="#collapseArtifactsOverview" aria-expanded="false" aria-controls="collapseArtifactsOverview">Details <i class="bi bi-chevron-down"></i></button> - </div> - <div class="collapse collapse-content" id="collapseArtifactsOverview"> - <h6>Why Use It?</h6> - <ul> - <li><strong>Reliability:</strong> Cache upstream packages. If a public registry goes down or a package is unpublished, your builds won't break.</li> - <li><strong>Security:</strong> Control what packages your organization uses. Share private packages securely across teams.</li> - <li><strong>Integration:</strong> Seamlessly integrated with Azure Pipelines for publishing and restoring packages.</li> - </ul> - </div> - </div> - </div> - </div> - <div class="col-lg-6"> - <div class="info-card card-artifacts" id="card-artifacts-feeds"> - <div class="card-body d-flex flex-column"> - <h5><i class="bi bi-diagram-3"></i> Feeds and Views</h5> - <div class="card-content-wrapper"> - <p class="summary">Don't just dump packages into a single feed. Use views (`@local`, `@prerelease`, `@release`) to promote packages through different quality rings, just like you do with your code.</p> - <button class="btn btn-outline-secondary btn-sm details-toggle" type="button" data-bs-toggle="collapse" data-bs-target="#collapseArtifactsFeeds" aria-expanded="false" aria-controls="collapseArtifactsFeeds">Details <i class="bi bi-chevron-down"></i></button> - </div> - <div class="collapse collapse-content" id="collapseArtifactsFeeds"> - <h6>Release Flow with Views:</h6> - <ol> - <li>CI build publishes a new package version to the `@local` view.</li> - <li>Automated tests run against the `@local` view.</li> - <li>If tests pass, the pipeline promotes the package to the `@prerelease` view for broader integration testing.</li> - <li>After validation, a release pipeline promotes the package to the `@release` view, making it available for production use.</li> - </ol> - </div> - </div> - </div> - </div> - </div> + </div> + </div> + </div> + </div> + </div> + <!-- 3. Continuous Integration (CI) --> + <div class="schema-container section-ci" data-section-id="section-ci" data-section-name="Build"> + <h2 class="section-title"> + Continuous Integration + </h2> + <div class="row g-4"> + <div class="col-lg-4"> + <div class="info-card card-ci" id="card-ci-pipelines"> + <div class="card-body d-flex flex-column"> + <h5> + <i class="bi bi-filetype-yml"> + </i> + Azure Pipelines (YAML ONLY) + </h5> + <div class="card-content-wrapper"> + <p class="summary"> + Your pipeline is code. Treat it like code. Do NOT use the "classic" UI editor. It creates a click-ops nightmare that is impossible to version, review, or scale. + </p> + <button aria-controls="collapseCiPipelines" aria-expanded="false" class="btn btn-outline-secondary btn-sm details-toggle" data-bs-target="#collapseCiPipelines" data-bs-toggle="collapse" type="button"> + Details + <i class="bi bi-chevron-down"> + </i> + </button> </div> - - <!-- 6. Infrastructure as Code (IaC) --> - <div class="schema-container section-iac" data-section-id="section-iac" data-section-name="IaC"> - <h2 class="section-title">Infrastructure as Code</h2> - <div class="row g-4"> - <div class="col-lg-6"> - <div class="info-card card-iac" id="card-iac-terraform"> - <div class="card-body d-flex flex-column"> - <h5><i class="bi bi-filetype-tf"></i> Terraform</h5> - <div class="card-content-wrapper"> - <p class="summary">Your infrastructure must be defined as code. Manual configuration in the Azure Portal is a recipe for disaster. <span class="term" data-bs-toggle="tooltip" title="An open-source IaC tool by HashiCorp.">Terraform</span> is the industry standard.</p> - <button class="btn btn-outline-secondary btn-sm details-toggle" type="button" data-bs-toggle="collapse" data-bs-target="#collapseIacTerraform" aria-expanded="false" aria-controls="collapseIacTerraform">Details <i class="bi bi-chevron-down"></i></button> - </div> - <div class="collapse collapse-content" id="collapseIacTerraform"> - <h6>Why Terraform?</h6> - <p>While Microsoft pushes Bicep/ARM, Terraform is cloud-agnostic and its `plan` command is a lifesaver for preventing accidental changes.</p> - <h6>The Holy Trinity of Terraform Commands in a Pipeline:</h6> - <ul> - <li><code>terraform init</code>: Initializes the backend and providers.</li> - <li><code>terraform plan</code>: Shows exactly what will change. This step must create a plan artifact that requires manual approval.</li> - <li><code>terraform apply</code>: Executes the approved plan.</li> - </ul> - </div> - </div> - </div> - </div> - <div class="col-lg-6"> - <div class="info-card card-iac" id="card-iac-state"> - <div class="card-body d-flex flex-column"> - <h5><i class="bi bi-database-lock"></i> Terraform Remote State</h5> - <div class="card-content-wrapper"> - <p class="summary">The biggest mistake teams make with Terraform is storing the `terraform.tfstate` file locally. Always use a remote backend like an Azure Storage Account.</p> - <button class="btn btn-outline-secondary btn-sm details-toggle" type="button" data-bs-toggle="collapse" data-bs-target="#collapseIacState" aria-expanded="false" aria-controls="collapseIacState">Details <i class="bi bi-chevron-down"></i></button> - </div> - <div class="collapse collapse-content" id="collapseIacState"> - <h6>Why Remote State is Critical:</h6> - <ul> - <li><strong>Collaboration:</strong> Allows multiple team members to work on the same infrastructure.</li> - <li><strong>State Locking:</strong> Prevents concurrent runs from corrupting the state file.</li> - <li><strong>Security:</strong> The state file can contain secrets. Storing it in a secured storage account is essential.</li> - </ul> - </div> - </div> - </div> - </div> - </div> + <div class="collapse collapse-content" id="collapseCiPipelines"> + <h6> + Core Principle: + </h6> + <p> + Define your build pipeline as an `azure-pipelines.yml` file, committed to the root of your repository. This ensures your pipeline is versioned alongside your code. + </p> + <h6> + Best Practices: + </h6> + <ul> + <li> + <strong> + Use Templates: + </strong> + For common, reusable steps, create pipeline templates. This standardizes your process and makes maintenance trivial. + </li> + <li> + <strong> + Use Variable Groups: + </strong> + For shared variables and secrets. Link them to Azure Key Vault. + </li> + </ul> </div> - - <!-- 7. Continuous Delivery/Deployment (CD) --> - <div class="schema-container section-cd" data-section-id="section-cd" data-section-name="Release"> - <h2 class="section-title">Continuous Delivery/Deployment</h2> - <div class="row g-4"> - <div class="col-lg-6"> - <div class="info-card card-cd" id="card-cd-releases"> - <div class="card-body d-flex flex-column"> - <h5><i class="bi bi-rocket-takeoff"></i> Azure Pipelines (Releases)</h5> - <div class="card-content-wrapper"> - <p class="summary">Automating your release is the whole point. Release Pipelines offer better visualization of your environments and crucial manual approval gates for production.</p> - <button class="btn btn-outline-secondary btn-sm details-toggle" type="button" data-bs-toggle="collapse" data-bs-target="#collapseCdReleases" aria-expanded="false" aria-controls="collapseCdReleases">Details <i class="bi bi-chevron-down"></i></button> - </div> - <div class="collapse collapse-content" id="collapseCdReleases"> - <h6>Release Pipeline Structure:</h6> - <ul> - <li><strong>Artifacts:</strong> Triggered by a new build artifact (e.g., Docker image, Terraform plan).</li> - <li><strong>Stages:</strong> Create a stage for each environment (e.g., Dev, QA, Prod).</li> - <li><strong>Approval Gates:</strong> Use automated gates (smoke tests) and manual gates (human approval) to control promotion between stages.</li> - </ul> - </div> - </div> - </div> - </div> - <div class="col-lg-6"> - <div class="info-card card-cd" id="card-cd-concepts"> - <div class="card-body d-flex flex-column"> - <h5><i class="bi bi-lightbulb"></i> Key Deployment Concepts</h5> - <div class="card-content-wrapper"> - <p class="summary">Differentiate between Continuous Delivery (manual deploy to prod) and Continuous Deployment (automatic to prod). Use deployment strategies to limit blast radius.</p> - <button class="btn btn-outline-secondary btn-sm details-toggle" type="button" data-bs-toggle="collapse" data-bs-target="#collapseCdConcepts" aria-expanded="false" aria-controls="collapseCdConcepts">Details <i class="bi bi-chevron-down"></i></button> - </div> - <div class="collapse collapse-content" id="collapseCdConcepts"> - <ul> - <li><strong>Immutable Infrastructure:</strong> Don't modify running servers. Replace them with fresh ones built from your artifacts.</li> - <li><strong>Blue/Green or Canary Deployments:</strong> Deploy to a subset of users (Canary) or a parallel environment (Blue/Green) before a full rollout.</li> - </ul> - </div> - </div> - </div> - </div> - </div> + </div> + </div> + </div> + <div class="col-lg-4"> + <div class="info-card card-ci" id="card-ci-sonarqube"> + <div class="card-body d-flex flex-column"> + <h5> + <i class="bi bi-search-heart"> + </i> + SonarQube Integration + </h5> + <div class="card-content-wrapper"> + <p class="summary"> + <span class="term" data-bs-toggle="tooltip" title="A tool for continuous inspection of code quality."> + SonarQube + </span> + is your automated code reviewer. Integrate it into CI and fail the build if the quality gate is not met. + </p> + <button aria-controls="collapseCiSonarqube" aria-expanded="false" class="btn btn-outline-secondary btn-sm details-toggle" data-bs-target="#collapseCiSonarqube" data-bs-toggle="collapse" type="button"> + Details + <i class="bi bi-chevron-down"> + </i> + </button> </div> - - <!-- 8. Security --> - <div class="schema-container section-security" data-section-id="section-security" data-section-name="Security"> - <h2 class="section-title">Security</h2> - <div class="row g-4"> - <div class="col-lg-6"> - <div class="info-card card-security" id="card-security-practices"> - <div class="card-body d-flex flex-column"> - <h5><i class="bi bi-shield-check"></i> Key Security Practices (Shift Left)</h5> - <div class="card-content-wrapper"> - <p class="summary">Security is not a separate step; it's a part of every step. Embed automated security checks into your pipeline to catch vulnerabilities early.</p> - <button class="btn btn-outline-secondary btn-sm details-toggle" type="button" data-bs-toggle="collapse" data-bs-target="#collapseSecurityPractices" aria-expanded="false" aria-controls="collapseSecurityPractices">Details <i class="bi bi-chevron-down"></i></button> - </div> - <div class="collapse collapse-content" id="collapseSecurityPractices"> - <h6>Pipeline Integration Points:</h6> - <ul> - <li><strong><span class="term" data-bs-toggle="tooltip" title="Static Application Security Testing">SAST</span>:</strong> Analyze source code. SonarQube has SAST capabilities.</li> - <li><strong><span class="term" data-bs-toggle="tooltip" title="Software Composition Analysis">SCA</span>:</strong> Scan open-source dependencies for known vulnerabilities.</li> - <li><strong>Container Scanning:</strong> Scan your Docker images for vulnerabilities.</li> - </ul> - </div> - </div> - </div> - </div> - <div class="col-lg-6"> - <div class="info-card card-security" id="card-security-keyvault"> - <div class="card-body d-flex flex-column"> - <h5><i class="bi bi-key"></i> Secret Management: Azure Key Vault</h5> - <div class="card-content-wrapper"> - <p class="summary">Don't put secrets in your code, variable groups, or YAML files. This is amateur hour. Use Azure Key Vault.</p> - <button class="btn btn-outline-secondary btn-sm details-toggle" type="button" data-bs-toggle="collapse" data-bs-target="#collapseSecurityKeyvault" aria-expanded="false" aria-controls="collapseSecurityKeyvault">Details <i class="bi bi-chevron-down"></i></button> - </div> - <div class="collapse collapse-content" id="collapseSecurityKeyvault"> - <h6>The Only Acceptable Way:</h6> - <p>Store all secrets in Azure Key Vault. In your Pipeline, use a Variable Group linked to the Key Vault. Secrets will be fetched at runtime and masked in logs.</p> - <div class="callout callout-danger"> - <strong>Critical Rule:</strong> Developers should not have direct access to production secrets. The pipeline is the only entity that should fetch and use them in production. - </div> - </div> - </div> - </div> - </div> - </div> + <div class="collapse collapse-content" id="collapseCiSonarqube"> + <h6> + Typical CI Pipeline Steps with SonarQube: + </h6> + <ol> + <li> + <strong> + Prepare Analysis: + </strong> + Connects to your SonarQube server. + </li> + <li> + <strong> + Run Build & Tests: + </strong> + Compile code and generate code coverage reports. + </li> + <li> + <strong> + Run Code Analysis: + </strong> + Sonar scanner analyzes code and coverage reports. + </li> + <li> + <strong> + Publish Quality Gate Result: + </strong> + Polls SonarQube and checks the Quality Gate status. + </li> + </ol> + <div class="callout callout-danger"> + <strong> + Critical Rule: + </strong> + Configure the "Publish Quality Gate Result" task to fail the build if the gate fails. + </div> </div> - - <!-- 9. Monitoring & Observability --> - <div class="schema-container section-monitoring" data-section-id="section-monitoring" data-section-name="Monitor"> - <h2 class="section-title">Monitoring & Observability</h2> - <div class="row g-4"> - <div class="col-lg-6"> - <div class="info-card card-monitoring" id="card-monitoring-pillars"> - <div class="card-body d-flex flex-column"> - <h5><i class="bi bi-kanban"></i> The Three Pillars</h5> - <div class="card-content-wrapper"> - <p class="summary">If you're not monitoring your application in production, you're flying blind. Observability is understanding your system's state from the outside.</p> - <button class="btn btn-outline-secondary btn-sm details-toggle" type="button" data-bs-toggle="collapse" data-bs-target="#collapseMonitoringPillars" aria-expanded="false" aria-controls="collapseMonitoringPillars">Details <i class="bi bi-chevron-down"></i></button> - </div> - <div class="collapse collapse-content" id="collapseMonitoringPillars"> - <ul> - <li><strong>Logging:</strong> Records of discrete events. Use structured logging.</li> - <li><strong>Metrics:</strong> Aggregated, time-series data on key performance indicators (e.g., CPU, latency).</li> - <li><strong>Tracing:</strong> Track a single request as it moves through your distributed system.</li> - </ul> - </div> - </div> - </div> - </div> - <div class="col-lg-6"> - <div class="info-card card-monitoring" id="card-monitoring-tools"> - <div class="card-body d-flex flex-column"> - <h5><i class="bi bi-tools"></i> Azure Tooling</h5> - <div class="card-content-wrapper"> - <p class="summary">Use the integrated Azure tools. They're not always best-in-class, but their deep integration simplifies your life immensely.</p> - <button class="btn btn-outline-secondary btn-sm details-toggle" type="button" data-bs-toggle="collapse" data-bs-target="#collapseMonitoringTools" aria-expanded="false" aria-controls="collapseMonitoringTools">Details <i class="bi bi-chevron-down"></i></button> - </div> - <div class="collapse collapse-content" id="collapseMonitoringTools"> - <h6>Recommended Azure Stack:</h6> - <ul> - <li><strong>Azure Monitor:</strong> The umbrella service for metrics and basic logging.</li> - <li><strong>Application Insights:</strong> The APM solution. Instrument your code with its SDK to get rich logging, dependency tracking, and distributed tracing.</li> - <li><strong>Log Analytics Workspace:</strong> The destination for all your logs. Use Kusto Query Language (KQL) to query everything.</li> - </ul> - </div> - </div> - </div> - </div> - </div> + </div> + </div> + </div> + <div class="col-lg-4"> + <div class="info-card card-ci" id="card-ci-stages"> + <div class="card-body d-flex flex-column"> + <h5> + <i class="bi bi-boxes"> + </i> + CI Key Stages + </h5> + <div class="card-content-wrapper"> + <p class="summary"> + The moment code is merged, it must be built, tested, and packaged. The goal is to catch errors early and often, before they reach production. + </p> + <button aria-controls="collapseCiStages" aria-expanded="false" class="btn btn-outline-secondary btn-sm details-toggle" data-bs-target="#collapseCiStages" data-bs-toggle="collapse" type="button"> + Details + <i class="bi bi-chevron-down"> + </i> + </button> </div> - - </main> - - <footer class="container text-center py-4"> - <p class="mb-1">© <span id="currentYear"></span> David Veksler Cheatsheets</p> - <p class="mb-2" style="font-size: 0.8em;">Last Updated: <span id="lastUpdatedDate">June 15, 2024</span></p> - <div> - <a href="https://learn.microsoft.com/en-us/azure/devops/" target="_blank" rel="noopener noreferrer" class="mx-2"><i class="bi bi-box"></i> Azure DevOps Docs</a> - <a href="https://www.terraform.io/docs" target="_blank" rel="noopener noreferrer" class="mx-2"><i class="bi bi-file-earmark-code"></i> Terraform Docs</a> - <a href="https://docs.sonarqube.org/latest/" target="_blank" rel="noopener noreferrer" class="mx-2"><i class="bi bi-search"></i> SonarQube Docs</a> - </div> - </footer> - - <!-- Bootstrap JS --> - <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script> - - <script> - document.addEventListener('DOMContentLoaded', () => { + <div class="collapse collapse-content" id="collapseCiStages"> + <h6> + Mandatory Stages: + </h6> + <ul> + <li> + <strong> + Build: + </strong> + Compile the code. If it doesn't build, it's broken. + </li> + <li> + <strong> + Test: + </strong> + Run unit and integration tests. + </li> + <li> + <strong> + Scan: + </strong> + Perform security and quality scans (e.g., SonarQube, SAST, SCA). + </li> + <li> + <strong> + Package: + </strong> + Create a deployable artifact (e.g., a + <span class="term" data-bs-toggle="tooltip" title="A standardized unit of software that packages up code and all its dependencies."> + Docker image + </span> + ). + </li> + </ul> + </div> + </div> + </div> + </div> + </div> + </div> + <!-- 4. Quality Assurance (Azure Test Plans) --> + <div class="schema-container section-testing" data-section-id="section-testing" data-section-name="Test"> + <h2 class="section-title"> + Quality Assurance & Test Management + </h2> + <div class="row g-4"> + <div class="col-lg-6"> + <div class="info-card card-testing" id="card-test-plans"> + <div class="card-body d-flex flex-column"> + <h5> + <i class="bi bi-clipboard2-check"> + </i> + Azure Test Plans + </h5> + <div class="card-content-wrapper"> + <p class="summary"> + Automated tests are essential but don't cover everything. Use Azure Test Plans for manual, exploratory, and user acceptance testing (UAT) to ensure comprehensive quality. + </p> + <button aria-controls="collapseTestPlans" aria-expanded="false" class="btn btn-outline-secondary btn-sm details-toggle" data-bs-target="#collapseTestPlans" data-bs-toggle="collapse" type="button"> + Details + <i class="bi bi-chevron-down"> + </i> + </button> + </div> + <div class="collapse collapse-content" id="collapseTestPlans"> + <h6> + Key Features: + </h6> + <ul> + <li> + <strong> + Test Plans & Suites: + </strong> + Group test cases into logical suites. Requirement-based suites automatically link test cases to user stories in Boards. + </li> + <li> + <strong> + Test Case Management: + </strong> + Define detailed, step-by-step manual test cases with expected results. + </li> + <li> + <strong> + Web-based Test Runner: + </strong> + Execute tests directly in the browser, marking steps as pass/fail and capturing screenshots or recordings. + </li> + <li> + <strong> + Exploratory Testing: + </strong> + Capture rich data (notes, screenshots, HAR files) during unscripted testing sessions. + </li> + </ul> + </div> + </div> + </div> + </div> + <div class="col-lg-6"> + <div class="info-card card-testing" id="card-test-integration"> + <div class="card-body d-flex flex-column"> + <h5> + <i class="bi bi-arrows-angle-contract"> + </i> + End-to-End Traceability + </h5> + <div class="card-content-wrapper"> + <p class="summary"> + Linking test results back to requirements is critical for quality reporting. Test Plans creates a full audit trail, showing which tests validate which features and what their latest outcomes are. + </p> + <button aria-controls="collapseTestIntegration" aria-expanded="false" class="btn btn-outline-secondary btn-sm details-toggle" data-bs-target="#collapseTestIntegration" data-bs-toggle="collapse" type="button"> + Details + <i class="bi bi-chevron-down"> + </i> + </button> + </div> + <div class="collapse collapse-content" id="collapseTestIntegration"> + <h6> + How It Connects: + </h6> + <ul> + <li> + Failing a manual test step can automatically create a bug in Azure Boards, pre-populated with repro steps and system info. + </li> + <li> + Test results from automated CI/CD pipeline runs can be published to Test Plans, providing a single view of both manual and automated test quality. + </li> + <li> + Stakeholders can view the "Test" tab on a work item to see all associated test cases and their results, providing confidence before deployment. + </li> + </ul> + </div> + </div> + </div> + </div> + </div> + </div> + <!-- 5. Package Management (Azure Artifacts) --> + <div class="schema-container section-artifacts" data-section-id="section-artifacts" data-section-name="Artifacts"> + <h2 class="section-title"> + Package Management + </h2> + <div class="row g-4"> + <div class="col-lg-6"> + <div class="info-card card-artifacts" id="card-artifacts-overview"> + <div class="card-body d-flex flex-column"> + <h5> + <i class="bi bi-box-seam"> + </i> + Azure Artifacts + </h5> + <div class="card-content-wrapper"> + <p class="summary"> + Manage your dependencies. Azure Artifacts provides private, secure feeds for hosting packages like NuGet, npm, Maven, Python, and Universal Packages. Stop relying solely on public registries. + </p> + <button aria-controls="collapseArtifactsOverview" aria-expanded="false" class="btn btn-outline-secondary btn-sm details-toggle" data-bs-target="#collapseArtifactsOverview" data-bs-toggle="collapse" type="button"> + Details + <i class="bi bi-chevron-down"> + </i> + </button> + </div> + <div class="collapse collapse-content" id="collapseArtifactsOverview"> + <h6> + Why Use It? + </h6> + <ul> + <li> + <strong> + Reliability: + </strong> + Cache upstream packages. If a public registry goes down or a package is unpublished, your builds won't break. + </li> + <li> + <strong> + Security: + </strong> + Control what packages your organization uses. Share private packages securely across teams. + </li> + <li> + <strong> + Integration: + </strong> + Seamlessly integrated with Azure Pipelines for publishing and restoring packages. + </li> + </ul> + </div> + </div> + </div> + </div> + <div class="col-lg-6"> + <div class="info-card card-artifacts" id="card-artifacts-feeds"> + <div class="card-body d-flex flex-column"> + <h5> + <i class="bi bi-diagram-3"> + </i> + Feeds and Views + </h5> + <div class="card-content-wrapper"> + <p class="summary"> + Don't just dump packages into a single feed. Use views (`@local`, `@prerelease`, `@release`) to promote packages through different quality rings, just like you do with your code. + </p> + <button aria-controls="collapseArtifactsFeeds" aria-expanded="false" class="btn btn-outline-secondary btn-sm details-toggle" data-bs-target="#collapseArtifactsFeeds" data-bs-toggle="collapse" type="button"> + Details + <i class="bi bi-chevron-down"> + </i> + </button> + </div> + <div class="collapse collapse-content" id="collapseArtifactsFeeds"> + <h6> + Release Flow with Views: + </h6> + <ol> + <li> + CI build publishes a new package version to the `@local` view. + </li> + <li> + Automated tests run against the `@local` view. + </li> + <li> + If tests pass, the pipeline promotes the package to the `@prerelease` view for broader integration testing. + </li> + <li> + After validation, a release pipeline promotes the package to the `@release` view, making it available for production use. + </li> + </ol> + </div> + </div> + </div> + </div> + </div> + </div> + <!-- 6. Infrastructure as Code (IaC) --> + <div class="schema-container section-iac" data-section-id="section-iac" data-section-name="IaC"> + <h2 class="section-title"> + Infrastructure as Code + </h2> + <div class="row g-4"> + <div class="col-lg-6"> + <div class="info-card card-iac" id="card-iac-terraform"> + <div class="card-body d-flex flex-column"> + <h5> + <i class="bi bi-filetype-tf"> + </i> + Terraform + </h5> + <div class="card-content-wrapper"> + <p class="summary"> + Your infrastructure must be defined as code. Manual configuration in the Azure Portal is a recipe for disaster. + <span class="term" data-bs-toggle="tooltip" title="An open-source IaC tool by HashiCorp."> + Terraform + </span> + is the industry standard. + </p> + <button aria-controls="collapseIacTerraform" aria-expanded="false" class="btn btn-outline-secondary btn-sm details-toggle" data-bs-target="#collapseIacTerraform" data-bs-toggle="collapse" type="button"> + Details + <i class="bi bi-chevron-down"> + </i> + </button> + </div> + <div class="collapse collapse-content" id="collapseIacTerraform"> + <h6> + Why Terraform? + </h6> + <p> + While Microsoft pushes Bicep/ARM, Terraform is cloud-agnostic and its `plan` command is a lifesaver for preventing accidental changes. + </p> + <h6> + The Holy Trinity of Terraform Commands in a Pipeline: + </h6> + <ul> + <li> + <code> + terraform init + </code> + : Initializes the backend and providers. + </li> + <li> + <code> + terraform plan + </code> + : Shows exactly what will change. This step must create a plan artifact that requires manual approval. + </li> + <li> + <code> + terraform apply + </code> + : Executes the approved plan. + </li> + </ul> + </div> + </div> + </div> + </div> + <div class="col-lg-6"> + <div class="info-card card-iac" id="card-iac-state"> + <div class="card-body d-flex flex-column"> + <h5> + <i class="bi bi-database-lock"> + </i> + Terraform Remote State + </h5> + <div class="card-content-wrapper"> + <p class="summary"> + The biggest mistake teams make with Terraform is storing the `terraform.tfstate` file locally. Always use a remote backend like an Azure Storage Account. + </p> + <button aria-controls="collapseIacState" aria-expanded="false" class="btn btn-outline-secondary btn-sm details-toggle" data-bs-target="#collapseIacState" data-bs-toggle="collapse" type="button"> + Details + <i class="bi bi-chevron-down"> + </i> + </button> + </div> + <div class="collapse collapse-content" id="collapseIacState"> + <h6> + Why Remote State is Critical: + </h6> + <ul> + <li> + <strong> + Collaboration: + </strong> + Allows multiple team members to work on the same infrastructure. + </li> + <li> + <strong> + State Locking: + </strong> + Prevents concurrent runs from corrupting the state file. + </li> + <li> + <strong> + Security: + </strong> + The state file can contain secrets. Storing it in a secured storage account is essential. + </li> + </ul> + </div> + </div> + </div> + </div> + </div> + </div> + <!-- 7. Continuous Delivery/Deployment (CD) --> + <div class="schema-container section-cd" data-section-id="section-cd" data-section-name="Release"> + <h2 class="section-title"> + Continuous Delivery/Deployment + </h2> + <div class="row g-4"> + <div class="col-lg-6"> + <div class="info-card card-cd" id="card-cd-releases"> + <div class="card-body d-flex flex-column"> + <h5> + <i class="bi bi-rocket-takeoff"> + </i> + Azure Pipelines (Releases) + </h5> + <div class="card-content-wrapper"> + <p class="summary"> + Automating your release is the whole point. Release Pipelines offer better visualization of your environments and crucial manual approval gates for production. + </p> + <button aria-controls="collapseCdReleases" aria-expanded="false" class="btn btn-outline-secondary btn-sm details-toggle" data-bs-target="#collapseCdReleases" data-bs-toggle="collapse" type="button"> + Details + <i class="bi bi-chevron-down"> + </i> + </button> + </div> + <div class="collapse collapse-content" id="collapseCdReleases"> + <h6> + Release Pipeline Structure: + </h6> + <ul> + <li> + <strong> + Artifacts: + </strong> + Triggered by a new build artifact (e.g., Docker image, Terraform plan). + </li> + <li> + <strong> + Stages: + </strong> + Create a stage for each environment (e.g., Dev, QA, Prod). + </li> + <li> + <strong> + Approval Gates: + </strong> + Use automated gates (smoke tests) and manual gates (human approval) to control promotion between stages. + </li> + </ul> + </div> + </div> + </div> + </div> + <div class="col-lg-6"> + <div class="info-card card-cd" id="card-cd-concepts"> + <div class="card-body d-flex flex-column"> + <h5> + <i class="bi bi-lightbulb"> + </i> + Key Deployment Concepts + </h5> + <div class="card-content-wrapper"> + <p class="summary"> + Differentiate between Continuous Delivery (manual deploy to prod) and Continuous Deployment (automatic to prod). Use deployment strategies to limit blast radius. + </p> + <button aria-controls="collapseCdConcepts" aria-expanded="false" class="btn btn-outline-secondary btn-sm details-toggle" data-bs-target="#collapseCdConcepts" data-bs-toggle="collapse" type="button"> + Details + <i class="bi bi-chevron-down"> + </i> + </button> + </div> + <div class="collapse collapse-content" id="collapseCdConcepts"> + <ul> + <li> + <strong> + Immutable Infrastructure: + </strong> + Don't modify running servers. Replace them with fresh ones built from your artifacts. + </li> + <li> + <strong> + Blue/Green or Canary Deployments: + </strong> + Deploy to a subset of users (Canary) or a parallel environment (Blue/Green) before a full rollout. + </li> + </ul> + </div> + </div> + </div> + </div> + </div> + </div> + <!-- 8. Security --> + <div class="schema-container section-security" data-section-id="section-security" data-section-name="Security"> + <h2 class="section-title"> + Security + </h2> + <div class="row g-4"> + <div class="col-lg-6"> + <div class="info-card card-security" id="card-security-practices"> + <div class="card-body d-flex flex-column"> + <h5> + <i class="bi bi-shield-check"> + </i> + Key Security Practices (Shift Left) + </h5> + <div class="card-content-wrapper"> + <p class="summary"> + Security is not a separate step; it's a part of every step. Embed automated security checks into your pipeline to catch vulnerabilities early. + </p> + <button aria-controls="collapseSecurityPractices" aria-expanded="false" class="btn btn-outline-secondary btn-sm details-toggle" data-bs-target="#collapseSecurityPractices" data-bs-toggle="collapse" type="button"> + Details + <i class="bi bi-chevron-down"> + </i> + </button> + </div> + <div class="collapse collapse-content" id="collapseSecurityPractices"> + <h6> + Pipeline Integration Points: + </h6> + <ul> + <li> + <strong> + <span class="term" data-bs-toggle="tooltip" title="Static Application Security Testing"> + SAST + </span> + : + </strong> + Analyze source code. SonarQube has SAST capabilities. + </li> + <li> + <strong> + <span class="term" data-bs-toggle="tooltip" title="Software Composition Analysis"> + SCA + </span> + : + </strong> + Scan open-source dependencies for known vulnerabilities. + </li> + <li> + <strong> + Container Scanning: + </strong> + Scan your Docker images for vulnerabilities. + </li> + </ul> + </div> + </div> + </div> + </div> + <div class="col-lg-6"> + <div class="info-card card-security" id="card-security-keyvault"> + <div class="card-body d-flex flex-column"> + <h5> + <i class="bi bi-key"> + </i> + Secret Management: Azure Key Vault + </h5> + <div class="card-content-wrapper"> + <p class="summary"> + Don't put secrets in your code, variable groups, or YAML files. This is amateur hour. Use Azure Key Vault. + </p> + <button aria-controls="collapseSecurityKeyvault" aria-expanded="false" class="btn btn-outline-secondary btn-sm details-toggle" data-bs-target="#collapseSecurityKeyvault" data-bs-toggle="collapse" type="button"> + Details + <i class="bi bi-chevron-down"> + </i> + </button> + </div> + <div class="collapse collapse-content" id="collapseSecurityKeyvault"> + <h6> + The Only Acceptable Way: + </h6> + <p> + Store all secrets in Azure Key Vault. In your Pipeline, use a Variable Group linked to the Key Vault. Secrets will be fetched at runtime and masked in logs. + </p> + <div class="callout callout-danger"> + <strong> + Critical Rule: + </strong> + Developers should not have direct access to production secrets. The pipeline is the only entity that should fetch and use them in production. + </div> + </div> + </div> + </div> + </div> + </div> + </div> + <!-- 9. Monitoring & Observability --> + <div class="schema-container section-monitoring" data-section-id="section-monitoring" data-section-name="Monitor"> + <h2 class="section-title"> + Monitoring & Observability + </h2> + <div class="row g-4"> + <div class="col-lg-6"> + <div class="info-card card-monitoring" id="card-monitoring-pillars"> + <div class="card-body d-flex flex-column"> + <h5> + <i class="bi bi-kanban"> + </i> + The Three Pillars + </h5> + <div class="card-content-wrapper"> + <p class="summary"> + If you're not monitoring your application in production, you're flying blind. Observability is understanding your system's state from the outside. + </p> + <button aria-controls="collapseMonitoringPillars" aria-expanded="false" class="btn btn-outline-secondary btn-sm details-toggle" data-bs-target="#collapseMonitoringPillars" data-bs-toggle="collapse" type="button"> + Details + <i class="bi bi-chevron-down"> + </i> + </button> + </div> + <div class="collapse collapse-content" id="collapseMonitoringPillars"> + <ul> + <li> + <strong> + Logging: + </strong> + Records of discrete events. Use structured logging. + </li> + <li> + <strong> + Metrics: + </strong> + Aggregated, time-series data on key performance indicators (e.g., CPU, latency). + </li> + <li> + <strong> + Tracing: + </strong> + Track a single request as it moves through your distributed system. + </li> + </ul> + </div> + </div> + </div> + </div> + <div class="col-lg-6"> + <div class="info-card card-monitoring" id="card-monitoring-tools"> + <div class="card-body d-flex flex-column"> + <h5> + <i class="bi bi-tools"> + </i> + Azure Tooling + </h5> + <div class="card-content-wrapper"> + <p class="summary"> + Use the integrated Azure tools. They're not always best-in-class, but their deep integration simplifies your life immensely. + </p> + <button aria-controls="collapseMonitoringTools" aria-expanded="false" class="btn btn-outline-secondary btn-sm details-toggle" data-bs-target="#collapseMonitoringTools" data-bs-toggle="collapse" type="button"> + Details + <i class="bi bi-chevron-down"> + </i> + </button> + </div> + <div class="collapse collapse-content" id="collapseMonitoringTools"> + <h6> + Recommended Azure Stack: + </h6> + <ul> + <li> + <strong> + Azure Monitor: + </strong> + The umbrella service for metrics and basic logging. + </li> + <li> + <strong> + Application Insights: + </strong> + The APM solution. Instrument your code with its SDK to get rich logging, dependency tracking, and distributed tracing. + </li> + <li> + <strong> + Log Analytics Workspace: + </strong> + The destination for all your logs. Use Kusto Query Language (KQL) to query everything. + </li> + </ul> + </div> + </div> + </div> + </div> + </div> + </div> + </main> + <footer class="container text-center py-4"> + <p class="mb-1"> + © + <span id="currentYear"> + </span> + David Veksler Cheatsheets + </p> + <p class="mb-2" style="font-size: 0.8em;"> + Last Updated: + <span id="lastUpdatedDate"> + June 15, 2024 + </span> + </p> + <div> + <a class="mx-2" href="https://learn.microsoft.com/en-us/azure/devops/" rel="noopener noreferrer" target="_blank"> + <i class="bi bi-box"> + </i> + Azure DevOps Docs + </a> + <a class="mx-2" href="https://www.terraform.io/docs" rel="noopener noreferrer" target="_blank"> + <i class="bi bi-file-earmark-code"> + </i> + Terraform Docs + </a> + <a class="mx-2" href="https://docs.sonarqube.org/latest/" rel="noopener noreferrer" target="_blank"> + <i class="bi bi-search"> + </i> + SonarQube Docs + </a> + </div> + </footer> + <!-- Bootstrap JS --> + <script crossorigin="anonymous" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"> + </script> + <script> + document.addEventListener('DOMContentLoaded', () => { // Initialize Bootstrap Tooltips const tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]')); tooltipTriggerList.map(function (tooltipTriggerEl) { @@ -763,6 +1326,6 @@ initializeFilters(); }); - </script> -</body> + </script> + </body> </html> --- a/capitalism.html +++ b/capitalism.html @@ -1,34 +1,31 @@ <!DOCTYPE html> <html lang="en"> -<head> - <!-- === METADATA === --> - <meta charset="utf-8" /> - <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <title>Capitalism Explained: A Pro-Market Guide to Prosperity & Freedom</title> - <link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22><text y=%22.9em%22 font-size=%2290%22>📈</text></svg>" /> - <meta name="description" content="Explore the core principles of capitalism with this comprehensive guide. Understand how private property, free markets, and competition drive innovation, prosperity, and individual freedom. An essential resource for understanding economic liberty." /> - <meta name="keywords" content="Capitalism, cheatsheet, Free Market, Pro-Capitalist, Mises, Cato, FEE, Friedman, Smith, what is capitalism, capitalism benefits, capitalism explanation, economic freedom, private property, free enterprise, innovation, prosperity, economic liberty" /> - - <!-- === CANONICAL URL === --> - <link rel="canonical" href="https://cheatsheets.davidveksler.com/capitalism.html" /> - - <!-- === SOCIAL MEDIA META TAGS (Open Graph & Twitter Cards) === --> - <meta property="og:title" content="Capitalism Explained: A Pro-Market Guide to Prosperity & Freedom" /> - <meta property="og:description" content="A comprehensive cheatsheet outlining the principles, benefits, and mechanisms of Capitalism from a strong pro-market perspective." /> - <meta property="og:type" content="website" /> - <meta property="og:url" content="https://cheatsheets.davidveksler.com/capitalism.html" /> - <meta property="og:site_name" content="David Veksler Cheatsheets" /> - <meta property="og:image" content="https://cheatsheets.davidveksler.com/images/capitalism.png" /> - <meta property="og:image:alt" content="A graphic illustrating key concepts of capitalism including a rising stock chart, a factory, and currency symbols." /> - <meta name="twitter:card" content="summary_large_image" /> - <meta name="twitter:image" content="https://cheatsheets.davidveksler.com/images/capitalism.png" /> - <meta name="twitter:image:alt" content="A graphic illustrating key concepts of capitalism including a rising stock chart, a factory, and currency symbols." /> - - <!-- === STYLESHEETS === --> - <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> - body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; } + <head> + <!-- === METADATA === --> + <meta charset="utf-8"/> + <meta content="width=device-width, initial-scale=1.0" name="viewport"/> + <title> + Capitalism Explained: A Pro-Market Guide to Prosperity & Freedom + </title> + <link href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22><text y=%22.9em%22 font-size=%2290%22>📈</text></svg>" rel="icon"/> + <meta content="Explore the core principles of capitalism with this comprehensive guide. Understand how private property, free markets, and competition drive innovation, prosperity, and individual freedom. An essential resource for understanding economic liberty." name="description"/> + <meta content="Capitalism, cheatsheet, Free Market, Pro-Capitalist, Mises, Cato, FEE, Friedman, Smith, what is capitalism, capitalism benefits, capitalism explanation, economic freedom, private property, free enterprise, innovation, prosperity, economic liberty" name="keywords"/> + <!-- === CANONICAL URL === --> + <link href="https://cheatsheets.davidveksler.com/capitalism.html" rel="canonical"/> + <!-- === SOCIAL MEDIA META TAGS (Open Graph & Twitter Cards) === --> + <meta content="Capitalism Explained: A Pro-Market Guide to Prosperity & Freedom" property="og:title"/> + <meta content="A comprehensive cheatsheet outlining the principles, benefits, and mechanisms of Capitalism from a strong pro-market perspective." property="og:description"/> + <meta content="website" property="og:type"/> + <meta content="https://cheatsheets.davidveksler.com/capitalism.html" property="og:url"/> + <meta content="David Veksler Cheatsheets" property="og:site_name"/> + <meta content="A graphic illustrating key concepts of capitalism including a rising stock chart, a factory, and currency symbols." property="og:image:alt"/> + <meta content="summary_large_image" name="twitter:card"/> + <meta content="A graphic illustrating key concepts of capitalism including a rising stock chart, a factory, and currency symbols." name="twitter:image:alt"/> + <!-- === STYLESHEETS === --> + <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet"/> + <link href="https://cdn.jsdelivr.net/npm/[email protected]/font/bootstrap-icons.min.css" rel="stylesheet"/> + <style> + body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; } .page-header { background-color: #f8f9fa; padding: 2rem; margin-bottom: 2rem; border-radius: .3rem; } .cards-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 1.5rem; } .info-card { border: 1px solid #dee2e6; border-radius: .25rem; box-shadow: 0 0.125rem 0.25rem rgba(0,0,0,.075); } @@ -38,11 +35,10 @@ .further-reading { margin-top: 1rem; } .further-reading a { margin-right: 10px; display: inline-block; } .faq-section { margin-top: 3rem; } - </style> - - <!-- === SCHEMA.ORG MARKUP (JSON-LD) === --> - <script type="application/ld+json"> - { + </style> + <!-- === SCHEMA.ORG MARKUP (JSON-LD) === --> + <script type="application/ld+json"> + { "@context": "https://schema.org", "@type": "Article", "headline": "Capitalism Explained: A Pro-Market Guide to Prosperity & Freedom", @@ -67,9 +63,9 @@ "@id": "https://cheatsheets.davidveksler.com/capitalism.html" } } - </script> - <script type="application/ld+json"> - { + </script> + <script type="application/ld+json"> + { "@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [ @@ -99,8 +95,10 @@ } ] } - </script> -</head> + </script> + <meta content="images/capitalism.png" property="og:image"/> + <meta content="images/capitalism.png" name="twitter:image"/> + </head> <body> <header class="page-header"> <h1> @@ -669,17 +667,23 @@ </div> <footer class="container text-center pb-3"> <div class="mb-3"> - <strong>Related Financial Tools:</strong><br> + <strong> + Related Financial Tools: + </strong> + <br/> <a class="mx-2" href="lifestyle-calculator.html" rel="noopener noreferrer" target="_blank" title="Lifestyle Budget Calculator"> - <i class="bi bi-calculator"></i> + <i class="bi bi-calculator"> + </i> Lifestyle Calculator </a> <a class="mx-2" href="housing-comparison.html" rel="noopener noreferrer" target="_blank" title="Housing Budget Comparison Tool"> - <i class="bi bi-house-door"></i> + <i class="bi bi-house-door"> + </i> Housing Comparison </a> <a class="mx-2" href="currency-timeline.html" rel="noopener noreferrer" target="_blank" title="History of Money and Currency"> - <i class="bi bi-clock-history"></i> + <i class="bi bi-clock-history"> + </i> Currency Timeline </a> </div> --- a/engineering-metals-selection.html +++ b/engineering-metals-selection.html @@ -1,30 +1,30 @@ <!DOCTYPE html> <html lang="en"> -<head> -<meta charset="utf-8"/> -<meta content="width=device-width, initial-scale=1.0" name="viewport"/> -<title>Engineering Metals & Alloys Cheatsheet | Properties, Equivalents, Selection Guide</title> -<meta content="The definitive guide to engineering metals. Compare steel, aluminum, titanium, copper & more. Find mechanical properties, common equivalents, and clear terminology to make the right material selection for your project." name="description"/> -<meta content="engineering metals, material selection guide, alloy properties, steel grades, aluminum alloys, titanium grades, 304 vs 316 stainless steel, 4140 steel properties, 7075 aluminum, Ti-6Al-4V, material equivalents, machinability, weldability, corrosion resistance, yield strength, tensile strength, hardness, AHSS, MMC, amorphous metals, high entropy alloys, material selection process" name="keywords"/> -<link href="https://cheatsheets.davidveksler.com/engineering-metals-selection.html" rel="canonical"/> -<!-- Open Graph & Twitter Card Metadata --> -<meta content="Engineering Metals & Alloys Cheatsheet | Properties, Equivalents, Selection Guide" property="og:title"/> -<meta content="The definitive guide to engineering metals. Compare steel, aluminum, titanium, copper & more. Find mechanical properties, common equivalents, and clear terminology to make the right material selection for your project." property="og:description"/> -<meta content="website" property="og:type"/> -<meta content="https://cheatsheets.davidveksler.com/engineering-metals-selection.html" property="og:url"/> -<meta content="https://cheatsheets.davidveksler.com/images/engineering-metals-selection-og.png" property="og:image"/> -<meta content="summary_large_image" name="twitter:card"/> -<meta content="Engineering Metals & Alloys Cheatsheet | Properties, Equivalents, Selection Guide" name="twitter:title"/> -<meta content="The definitive guide to engineering metals. Compare steel, aluminum, titanium, copper & more. Find mechanical properties, common equivalents, and clear terminology to make the right material selection for your project." name="twitter:description"/> -<meta content="https://cheatsheets.davidveksler.com/images/engineering-metals-selection-og.png" name="twitter:image"/> -<!-- Bootstrap CSS --> -<link crossorigin="anonymous" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" rel="stylesheet"/> -<!-- Bootstrap Icons --> -<link href="https://cdn.jsdelivr.net/npm/[email protected]/font/bootstrap-icons.min.css" rel="stylesheet"/> -<!-- Favicon (Microscope Emoji for Lab Theme) --> -<link href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22><text y=%22.9em%22 font-size=%2290%22>🔬</text></svg>" rel="icon"/> -<style> - :root { + <head> + <meta charset="utf-8"/> + <meta content="width=device-width, initial-scale=1.0" name="viewport"/> + <title> + Engineering Metals & Alloys Cheatsheet | Properties, Equivalents, Selection Guide + </title> + <meta content="The definitive guide to engineering metals. Compare steel, aluminum, titanium, copper & more. Find mechanical properties, common equivalents, and clear terminology to make the right material selection for your project." name="description"/> + <meta content="engineering metals, material selection guide, alloy properties, steel grades, aluminum alloys, titanium grades, 304 vs 316 stainless steel, 4140 steel properties, 7075 aluminum, Ti-6Al-4V, material equivalents, machinability, weldability, corrosion resistance, yield strength, tensile strength, hardness, AHSS, MMC, amorphous metals, high entropy alloys, material selection process" name="keywords"/> + <link href="https://cheatsheets.davidveksler.com/engineering-metals-selection.html" rel="canonical"/> + <!-- Open Graph & Twitter Card Metadata --> + <meta content="Engineering Metals & Alloys Cheatsheet | Properties, Equivalents, Selection Guide" property="og:title"/> + <meta content="The definitive guide to engineering metals. Compare steel, aluminum, titanium, copper & more. Find mechanical properties, common equivalents, and clear terminology to make the right material selection for your project." property="og:description"/> + <meta content="website" property="og:type"/> + <meta content="https://cheatsheets.davidveksler.com/engineering-metals-selection.html" property="og:url"/> + <meta content="summary_large_image" name="twitter:card"/> + <meta content="Engineering Metals & Alloys Cheatsheet | Properties, Equivalents, Selection Guide" name="twitter:title"/> + <meta content="The definitive guide to engineering metals. Compare steel, aluminum, titanium, copper & more. Find mechanical properties, common equivalents, and clear terminology to make the right material selection for your project." name="twitter:description"/> + <!-- Bootstrap CSS --> + <link crossorigin="anonymous" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" rel="stylesheet"/> + <!-- Bootstrap Icons --> + <link href="https://cdn.jsdelivr.net/npm/[email protected]/font/bootstrap-icons.min.css" rel="stylesheet"/> + <!-- Favicon (Microscope Emoji for Lab Theme) --> + <link href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22><text y=%22.9em%22 font-size=%2290%22>🔬</text></svg>" rel="icon"/> + <style> + :root { --primary-accent-color: #005A9C; /* Professional Blue */ --secondary-accent-color: #4A6B82; /* Muted Blue-Gray */ --light-bg-color: #FFFFFF; /* White background */ @@ -370,10 +370,10 @@ display: none !important; /* Hide tooltips in print */ } } - </style> -<!-- JSON-LD Schema --> -<script type="application/ld+json"> - { + </style> + <!-- JSON-LD Schema --> + <script type="application/ld+json"> + { "@context": "https://schema.org", "@type": "TechArticle", "headline": "The Ultimate Engineering Metals & Alloys Selection Cheatsheet", @@ -398,1283 +398,3760 @@ "@type": "WebPage", "@id": "https://cheatsheets.davidveksler.com/engineering-metals-selection.html" }, - "image": "https://cheatsheets.davidveksler.com/images/engineering-metals-selection-og.png" + "image": "https://cheatsheets.davidveksler.com/images/engineering-metals-selection.png" } - </script> -</head> -<body> -<header class="page-header"> -<div class="container"> -<h1><i class="bi bi-vial"></i> Engineering Metals & Alloys Cheatsheet <small class="text-white-50" style="font-size: 0.6em;">Lab Edition</small></h1> -<p class="lead">Navigating the world of engineering metals can be complex. This cheatsheet is your definitive technical reference for comparing common alloys, understanding their properties, and making informed material selections.</p> -<p class="last-updated">Last Updated: May 28, 2024</p> -</div> -</header> - -<!-- Sticky Navigation Bar --> -<nav class="page-nav d-flex justify-content-center"> - <a class="nav-link" href="#beginner-guides">Beginner's Guides</a> - <a class="nav-link" href="#terminology-guide">Terminology</a> - <a class="nav-link" href="#carbon-alloy-steels">Carbon & Alloy Steels</a> - <a class="nav-link" href="#stainless-steels">Stainless Steels</a> - <a class="nav-link" href="#aluminum-alloys">Aluminum Alloys</a> - <a class="nav-link" href="#titanium-alloys">Titanium Alloys</a> - <a class="nav-link" href="#copper-alloys">Copper Alloys</a> - <a class="nav-link" href="#tool-steels">Tool Steels</a> - <a class="nav-link" href="#superalloys">Superalloys</a> - <a class="nav-link" href="#emerging-materials">Emerging Materials</a> - <a class="nav-link" href="#selection-matrix">Selection Matrix</a> - <a class="nav-link" href="#processing-warnings">Processing Warnings</a> -</nav> - -<main class="container" id="main-container"> -<div class="search-bar-container mt-4"> -<div class="input-group mb-3"> -<span class="input-group-text" id="search-addon"><i class="bi bi-search"></i></span> -<input aria-describedby="search-addon" aria-label="Search metals" class="form-control form-control-lg" id="searchInput" placeholder="Search for a metal, property, equivalent, or term (e.g., '7075-T6', 'weldability', 'Inconel')..." type="text"/> -</div> -</div> -<!-- Introductory Sections for Beginners --> -<section class="intro-section" id="beginner-guides"> -<h2 class="section-title" style="margin-top: 0; font-size: 1.5rem;"><i class="bi bi-book-half"></i> How to Use This Guide & Beginner's Intro</h2> - -<div class="mb-4 p-3 bg-light border rounded"> - <h4>Navigating This Cheatsheet</h4> - <p>This reference is structured to help you quickly find and compare materials. Here's how to get the most out of it:</p> - <ul> - <li>Use the <strong>Search Bar</strong> above to instantly filter all sections for a specific material, property, or keyword.</li> - <li>Use the sticky <strong>Navigation Bar</strong> to jump directly to a material family or selection guide.</li> - <li>Start with the <strong>Beginner's Guides</strong> below if you need a refresher on base metals and alloying effects.</li> - <li>Consult the <strong>Terminology Guide</strong> to understand the key properties used in the tables.</li> - <li>Review the <strong>Selection Matrix</strong> and <strong>Processing Warnings</strong> for high-level decision-making and to avoid common pitfalls.</li> - <li>Click the <span class="badge bg-secondary">Info <i class="bi bi-chevron-down"></i></span> button in any table row for detailed performance characteristics, applications, and limitations.</li> - </ul> -</div> - - -<div class="accordion" id="beginnerAccordion"> -<div class="accordion-item"> -<h3 class="accordion-header" id="headingIronSteel"> -<button aria-controls="collapseIronSteel" aria-expanded="false" class="accordion-button collapsed" data-bs-target="#collapseIronSteel" data-bs-toggle="collapse" type="button"> - Understanding Iron (Fe) and Steel - </button> -</h3> -<div aria-labelledby="headingIronSteel" class="accordion-collapse collapse" data-bs-parent="#beginnerAccordion" id="collapseIronSteel"> -<div class="accordion-body"> -<p><strong>Iron (Fe)</strong> is a relatively soft, malleable, and ductile metal. It's strongly magnetic and rusts easily in moist air. Pure iron has limited engineering applications due to its low strength.</p> -<p><strong>Steel</strong> is an alloy of iron and carbon, typically with a carbon content between 0.2% and 2.1% by weight. Carbon is the primary hardening element. Steels offer a vast range of mechanical properties and are the most widely used metallic materials in construction and engineering.</p> -<h4>Common Alloying Elements in Steel and Their Effects:</h4> -<ul> -<li><span class="term">Carbon (C):</span> The most crucial alloying element. Increases <span class="term-tooltip" data-bs-toggle="tooltip" title="Resistance of a material to localized deformation.">hardness</span>, <span class="term-tooltip" data-bs-toggle="tooltip" title="The maximum stress a material can withstand while being stretched or pulled before necking.">tensile strength</span>, and responsiveness to <span class="term-tooltip" data-bs-toggle="tooltip" title="Controlled heating and cooling processes to alter material properties.">heat treatment</span>. Decreases <span class="term-tooltip" data-bs-toggle="tooltip" title="Ability of a material to deform under tensile stress before fracturing.">ductility</span> and <span class="term-tooltip" data-bs-toggle="tooltip" title="Ease with which a material can be welded to form a sound joint.">weldability</span>.</li> -<li><span class="term">Manganese (Mn):</span> Increases strength, hardness, and <span class="term-tooltip" data-bs-toggle="tooltip" title="Ability of a steel to be hardened by heat treatment (formation of martensite).">hardenability</span>. Acts as a <span class="term-tooltip" data-bs-toggle="tooltip" title="An element added to molten metal to remove oxygen.">deoxidizer</span> and <span class="term-tooltip" data-bs-toggle="tooltip" title="An element added to molten metal to remove sulfur.">desulfurizer</span>, improving <span class="term-tooltip" data-bs-toggle="tooltip" title="The ease with which a metal can be shaped by processes like rolling or forging at elevated temperatures.">hot workability</span>.</li> -<li><span class="term">Chromium (Cr):</span> Increases hardness, <span class="term-tooltip" data-bs-toggle="tooltip" title="Ability of a material to absorb energy and plastically deform before fracturing.">toughness</span>, and wear resistance. Crucially, it imparts <span class="term-tooltip" data-bs-toggle="tooltip" title="Ability of a material to resist degradation due to chemical reactions with its environment.">corrosion resistance</span> (essential for stainless steels, typically >10.5% Cr). Improves high-temperature strength.</li> -<li><span class="term">Nickel (Ni):</span> Increases strength, toughness (especially at low temperatures), and corrosion resistance. Important in <span class="term-tooltip" data-bs-toggle="tooltip" title="A phase in iron-based alloys with a face-centered cubic (FCC) crystal structure, typically non-magnetic.">austenitic</span> stainless steels.</li> -<li><span class="term">Molybdenum (Mo):</span> Increases strength, hardness, hardenability, and toughness, especially at elevated temperatures (<span class="term-tooltip" data-bs-toggle="tooltip" title="Ability of a material to resist slow deformation under constant stress at high temperatures.">creep resistance</span>). Enhances corrosion resistance, particularly against pitting in stainless steels.</li> -<li><span class="term">Silicon (Si):</span> Acts as a deoxidizer. Increases strength and hardness. In cast irons, promotes graphite formation.</li> -<li><span class="term">Vanadium (V):</span> Increases strength, toughness, and wear resistance. Promotes fine grain structure.</li> -</ul> -</div> -</div> -</div> -<div class="accordion-item"> -<h3 class="accordion-header" id="headingAluminum"> -<button aria-controls="collapseAluminum" aria-expanded="false" class="accordion-button collapsed" data-bs-target="#collapseAluminum" data-bs-toggle="collapse" type="button"> - Basics of Aluminum (Al) and Its Alloys - </button> -</h3> -<div aria-labelledby="headingAluminum" class="accordion-collapse collapse" data-bs-parent="#beginnerAccordion" id="collapseAluminum"> -<div class="accordion-body"> -<p><strong>Aluminum (Al)</strong> is a lightweight, silvery-white, non-magnetic, and ductile metal. It has excellent corrosion resistance due to the formation of a passive oxide layer (<span class="term-tooltip" data-bs-toggle="tooltip" title="Formation of a protective, non-reactive surface layer on a metal.">passivation</span>). It's a good thermal and electrical conductor. Pure aluminum is relatively soft and not very strong, so it's often alloyed.</p> -<h4>Common Alloying Elements in Aluminum and Their Effects:</h4> -<ul> -<li><span class="term">Silicon (Si):</span> Improves fluidity and reduces solidification shrinkage, making it excellent for casting alloys. Increases strength and hardness, and wear resistance.</li> -<li><span class="term">Copper (Cu):</span> Significantly increases strength and hardness, especially through heat treatment (<span class="term-tooltip" data-bs-toggle="tooltip" title="Strengthening mechanism where fine particles (precipitates) are formed within the metal matrix.">precipitation hardening</span>). Can reduce corrosion resistance and weldability.</li> -<li><span class="term">Magnesium (Mg):</span> Increases strength through <span class="term-tooltip" data-bs-toggle="tooltip" title="Strengthening mechanism achieved by adding solute atoms to a base metal, distorting the crystal lattice.">solid solution strengthening</span> and improves <span class="term-tooltip" data-bs-toggle="tooltip" title="Increase in hardness and strength of a metal due to plastic deformation.">strain hardening</span> ability. When combined with silicon (as Mg₂Si), allows for heat treatment (6xxx series alloys). Generally improves corrosion resistance.</li> -<li><span class="term">Manganese (Mn):</span> Increases strength somewhat through solution strengthening. Improves strain hardening and controls grain structure.</li> -<li><span class="term">Zinc (Zn):</span> When combined with magnesium (and sometimes copper), produces the highest strength heat-treatable aluminum alloys (7xxx series).</li> -<li><span class="term">Titanium (Ti):</span> Used as a grain refiner, improving mechanical properties and preventing cracking in castings and welds.</li> -</ul> -</div> -</div> -</div> -<div class="accordion-item"> -<h3 class="accordion-header" id="headingTitanium"> -<button aria-controls="collapseTitanium" aria-expanded="false" class="accordion-button collapsed" data-bs-target="#collapseTitanium" data-bs-toggle="collapse" type="button"> - Understanding Titanium (Ti) and Its Alloys - </button> -</h3> -<div aria-labelledby="headingTitanium" class="accordion-collapse collapse" data-bs-parent="#beginnerAccordion" id="collapseTitanium"> -<div class="accordion-body"> -<p><strong>Titanium (Ti)</strong> is a strong, lightweight, corrosion-resistant metal with a silver color. It has a very high strength-to-density ratio. Its excellent corrosion resistance is due to a stable, protective oxide layer. Titanium exists in two main crystallographic forms (<span class="term-tooltip" data-bs-toggle="tooltip" title="A crystallographic phase in titanium alloys, typically with a hexagonal close-packed (HCP) structure.">alpha</span> and <span class="term-tooltip" data-bs-toggle="tooltip" title="A crystallographic phase in titanium alloys, typically with a body-centered cubic (BCC) structure.">beta</span>), which influences alloying behavior.</p> -<h4>Common Alloying Elements in Titanium and Their Effects:</h4> -<ul> -<li><span class="term">Aluminum (Al):</span> Primarily an <span class="term-tooltip" data-bs-toggle="tooltip" title="An alloying element that stabilizes the alpha phase in titanium, generally increasing its transformation temperature.">alpha stabilizer</span>. Increases strength (both at room and elevated temperatures) and lowers density. Too much Al can lead to embrittlement.</li> -<li><span class="term">Vanadium (V):</span> A <span class="term-tooltip" data-bs-toggle="tooltip" title="An alloying element that stabilizes the beta phase in titanium, generally lowering its transformation temperature.">beta stabilizer</span>. Improves hardenability and strength. Ti-6Al-4V is the most common titanium alloy, where Vanadium contributes significantly to its heat treatability and strength.</li> -<li><span class="term">Molybdenum (Mo):</span> A strong beta stabilizer. Increases strength, hardenability, and high-temperature properties.</li> -<li><span class="term">Chromium (Cr):</span> A beta stabilizer. Similar effects to Molybdenum, enhances strength and hardenability.</li> -<li><span class="term">Iron (Fe):</span> A beta stabilizer. Can increase strength but may reduce ductility if present in high amounts or as undesirable phases.</li> -<li><span class="term">Oxygen (O), Nitrogen (N), Carbon (C):</span> <span class="term-tooltip" data-bs-toggle="tooltip" title="Small atoms that fit into the spaces (interstices) between the main atoms in a crystal lattice, significantly affecting properties.">Interstitial elements</span>. Small amounts can significantly increase strength and hardness but drastically reduce ductility and toughness. Controlled additions are used in some CP (Commercially Pure) grades.</li> -</ul> -</div> -</div> -</div> -<div class="accordion-item"> -<h3 class="accordion-header" id="headingCopper"> -<button aria-controls="collapseCopper" aria-expanded="false" class="accordion-button collapsed" data-bs-target="#collapseCopper" data-bs-toggle="collapse" type="button"> - Basics of Copper (Cu) and Its Alloys (Brass, Bronze) - </button> -</h3> -<div aria-labelledby="headingCopper" class="accordion-collapse collapse" data-bs-parent="#beginnerAccordion" id="collapseCopper"> -<div class="accordion-body"> -<p><strong>Copper (Cu)</strong> is a ductile metal with very high thermal and electrical conductivity. It's reddish-brown, relatively soft, and has good corrosion resistance in many environments. Pure copper is widely used for electrical wiring and plumbing.</p> -<p><strong>Brasses</strong> are primarily alloys of copper and zinc. <strong>Bronzes</strong> are primarily alloys of copper, usually with tin as the main additive, but the term is also used for alloys with other elements like aluminum or silicon.</p> -<h4>Common Alloying Elements in Copper and Their Effects:</h4> -<ul> -<li><span class="term">Zinc (Zn):</span> Forms <span class="term">Brass</span>. Increases strength, hardness, and ductility (up to ~35% Zn). Improves castability and machinability (especially with lead additions). Reduces cost compared to pure copper. Higher Zn content can decrease corrosion resistance (<span class="term-tooltip" data-bs-toggle="tooltip" title="Selective leaching of zinc from brass alloys, leaving a porous copper-rich residue.">dezincification</span>).</li> -<li><span class="term">Tin (Sn):</span> Forms <span class="term">Bronze</span>. Significantly increases strength, hardness, and wear resistance. Improves corrosion resistance. Reduces electrical conductivity more than zinc.</li> -<li><span class="term">Aluminum (Al):</span> Forms <span class="term">Aluminum Bronze</span>. Provides high strength, excellent corrosion resistance (especially in seawater), and good wear resistance.</li> -<li><span class="term">Silicon (Si):</span> Forms <span class="term">Silicon Bronze</span>. Increases strength and corrosion resistance. Improves castability and weldability.</li> -<li><span class="term">Nickel (Ni):</span> Forms <span class="term">Copper-Nickel alloys (Cupronickels)</span>. Greatly enhances corrosion resistance, especially in seawater and against biofouling. Improves strength at elevated temperatures.</li> -<li><span class="term">Lead (Pb):</span> Added to brasses and bronzes (typically up to ~3%) to significantly improve machinability by acting as a chip breaker. Reduces ductility and strength.</li> -<li><span class="term">Phosphorus (P):</span> Often used as a deoxidizer in copper alloys. Can increase strength and hardness but significantly reduces electrical conductivity.</li> -</ul> -</div> -</div> -</div> -<div class="accordion-item"> -<h3 class="accordion-header" id="headingNickel"> -<button aria-controls="collapseNickel" aria-expanded="false" class="accordion-button collapsed" data-bs-target="#collapseNickel" data-bs-toggle="collapse" type="button"> - Understanding Nickel (Ni) and Its Alloys (Superalloys) - </button> -</h3> -<div aria-labelledby="headingNickel" class="accordion-collapse collapse" data-bs-parent="#beginnerAccordion" id="collapseNickel"> -<div class="accordion-body"> -<p><strong>Nickel (Ni)</strong> is a silvery-white, hard, ductile, and ferromagnetic metal. It exhibits excellent corrosion resistance in many environments, especially alkaline solutions. Pure nickel is used for plating, coinage, and specialized chemical equipment.</p> -<p><strong>Nickel-based Superalloys</strong> are complex alloys designed for outstanding strength, creep resistance, and oxidation/corrosion resistance at very high temperatures (typically above 650°C / 1200°F). They are essential in gas turbines, jet engines, and other extreme environments.</p> -<h4>Common Alloying Elements in Nickel Alloys/Superalloys and Their Effects:</h4> -<ul> -<li><span class="term">Chromium (Cr):</span> Essential for high-temperature oxidation and corrosion resistance (forms a stable Cr₂O₃ protective scale). Contributes to solid solution strengthening. Key in alloys like Inconel.</li> -<li><span class="term">Molybdenum (Mo):</span> Provides significant solid solution strengthening. Enhances resistance to pitting and crevice corrosion. Important in alloys like Hastelloy.</li> -<li><span class="term">Cobalt (Co):</span> Can increase strength at high temperatures and improve creep resistance. Often used in conjunction with other elements.</li> -<li><span class="term">Aluminum (Al) & Titanium (Ti):</span> These are key precipitation hardening elements in many nickel superalloys. They form fine, coherent <span class="term-tooltip" data-bs-toggle="tooltip" title="A key strengthening precipitate (Ni₃(Al,Ti)) in nickel-based superalloys.">gamma prime (γ')</span> precipitates that dramatically increase high-temperature strength and creep resistance.</li> -<li><span class="term">Iron (Fe):</span> Can be a base element (e.g., Incoloy series) or an addition to nickel-based alloys to modify properties and reduce cost. Often improves weldability.</li> -<li><span class="term">Niobium (Nb) / Columbium (Cb) & Tantalum (Ta):</span> Form carbides and contribute to precipitation hardening (<span class="term-tooltip" data-bs-toggle="tooltip" title="A strengthening precipitate (Ni₃Nb) in some nickel-based superalloys like Inconel 718.">gamma double prime γ''</span> in Inconel 718). Improve creep strength and weldability in some alloys.</li> -<li><span class="term">Tungsten (W):</span> Potent solid solution strengthener at high temperatures. Increases creep resistance.</li> -<li><span class="term">Carbon (C):</span> Forms carbides with elements like Cr, Mo, Ti, Nb, W. Carbides can strengthen grain boundaries or contribute to wear resistance, but their morphology and location must be carefully controlled to avoid embrittlement.</li> -</ul> -</div> -</div> -</div> -</div> -</section> - -<!-- Terminology Section --> -<section class="terminology-section" id="terminology-guide"> - <h2 class="section-title"><i class="bi bi-rulers"></i> Common Material Properties Terminology</h2> + </script> + <meta content="images/engineering-metals-selection.png" property="og:image"/> + <meta content="images/engineering-metals-selection.png" name="twitter:image"/> + </head> + <body> + <header class="page-header"> + <div class="container"> + <h1> + <i class="bi bi-vial"> + </i> + Engineering Metals & Alloys Cheatsheet + <small class="text-white-50" style="font-size: 0.6em;"> + Lab Edition + </small> + </h1> + <p class="lead"> + Navigating the world of engineering metals can be complex. This cheatsheet is your definitive technical reference for comparing common alloys, understanding their properties, and making informed material selections. + </p> + <p class="last-updated"> + Last Updated: May 28, 2024 + </p> + </div> + </header> + <!-- Sticky Navigation Bar --> + <nav class="page-nav d-flex justify-content-center"> + <a class="nav-link" href="#beginner-guides"> + Beginner's Guides + </a> + <a class="nav-link" href="#terminology-guide"> + Terminology + </a> + <a class="nav-link" href="#carbon-alloy-steels"> + Carbon & Alloy Steels + </a> + <a class="nav-link" href="#stainless-steels"> + Stainless Steels + </a> + <a class="nav-link" href="#aluminum-alloys"> + Aluminum Alloys + </a> + <a class="nav-link" href="#titanium-alloys"> + Titanium Alloys + </a> + <a class="nav-link" href="#copper-alloys"> + Copper Alloys + </a> + <a class="nav-link" href="#tool-steels"> + Tool Steels + </a> + <a class="nav-link" href="#superalloys"> + Superalloys + </a> + <a class="nav-link" href="#emerging-materials"> + Emerging Materials + </a> + <a class="nav-link" href="#selection-matrix"> + Selection Matrix + </a> + <a class="nav-link" href="#processing-warnings"> + Processing Warnings + </a> + </nav> + <main class="container" id="main-container"> + <div class="search-bar-container mt-4"> + <div class="input-group mb-3"> + <span class="input-group-text" id="search-addon"> + <i class="bi bi-search"> + </i> + </span> + <input aria-describedby="search-addon" aria-label="Search metals" class="form-control form-control-lg" id="searchInput" placeholder="Search for a metal, property, equivalent, or term (e.g., '7075-T6', 'weldability', 'Inconel')..." type="text"/> + </div> + </div> + <!-- Introductory Sections for Beginners --> + <section class="intro-section" id="beginner-guides"> + <h2 class="section-title" style="margin-top: 0; font-size: 1.5rem;"> + <i class="bi bi-book-half"> + </i> + How to Use This Guide & Beginner's Intro + </h2> + <div class="mb-4 p-3 bg-light border rounded"> + <h4> + Navigating This Cheatsheet + </h4> + <p> + This reference is structured to help you quickly find and compare materials. Here's how to get the most out of it: + </p> + <ul> + <li> + Use the + <strong> + Search Bar + </strong> + above to instantly filter all sections for a specific material, property, or keyword. + </li> + <li> + Use the sticky + <strong> + Navigation Bar + </strong> + to jump directly to a material family or selection guide. + </li> + <li> + Start with the + <strong> + Beginner's Guides + </strong> + below if you need a refresher on base metals and alloying effects. + </li> + <li> + Consult the + <strong> + Terminology Guide + </strong> + to understand the key properties used in the tables. + </li> + <li> + Review the + <strong> + Selection Matrix + </strong> + and + <strong> + Processing Warnings + </strong> + for high-level decision-making and to avoid common pitfalls. + </li> + <li> + Click the + <span class="badge bg-secondary"> + Info + <i class="bi bi-chevron-down"> + </i> + </span> + button in any table row for detailed performance characteristics, applications, and limitations. + </li> + </ul> + </div> + <div class="accordion" id="beginnerAccordion"> + <div class="accordion-item"> + <h3 class="accordion-header" id="headingIronSteel"> + <button aria-controls="collapseIronSteel" aria-expanded="false" class="accordion-button collapsed" data-bs-target="#collapseIronSteel" data-bs-toggle="collapse" type="button"> + Understanding Iron (Fe) and Steel + </button> + </h3> + <div aria-labelledby="headingIronSteel" class="accordion-collapse collapse" data-bs-parent="#beginnerAccordion" id="collapseIronSteel"> + <div class="accordion-body"> + <p> + <strong> + Iron (Fe) + </strong> + is a relatively soft, malleable, and ductile metal. It's strongly magnetic and rusts easily in moist air. Pure iron has limited engineering applications due to its low strength. + </p> + <p> + <strong> + Steel + </strong> + is an alloy of iron and carbon, typically with a carbon content between 0.2% and 2.1% by weight. Carbon is the primary hardening element. Steels offer a vast range of mechanical properties and are the most widely used metallic materials in construction and engineering. + </p> + <h4> + Common Alloying Elements in Steel and Their Effects: + </h4> + <ul> + <li> + <span class="term"> + Carbon (C): + </span> + The most crucial alloying element. Increases + <span class="term-tooltip" data-bs-toggle="tooltip" title="Resistance of a material to localized deformation."> + hardness + </span> + , + <span class="term-tooltip" data-bs-toggle="tooltip" title="The maximum stress a material can withstand while being stretched or pulled before necking."> + tensile strength + </span> + , and responsiveness to + <span class="term-tooltip" data-bs-toggle="tooltip" title="Controlled heating and cooling processes to alter material properties."> + heat treatment + </span> + . Decreases + <span class="term-tooltip" data-bs-toggle="tooltip" title="Ability of a material to deform under tensile stress before fracturing."> + ductility + </span> + and + <span class="term-tooltip" data-bs-toggle="tooltip" title="Ease with which a material can be welded to form a sound joint."> + weldability + </span> + . + </li> + <li> + <span class="term"> + Manganese (Mn): + </span> + Increases strength, hardness, and + <span class="term-tooltip" data-bs-toggle="tooltip" title="Ability of a steel to be hardened by heat treatment (formation of martensite)."> + hardenability + </span> + . Acts as a + <span class="term-tooltip" data-bs-toggle="tooltip" title="An element added to molten metal to remove oxygen."> + deoxidizer + </span> + and + <span class="term-tooltip" data-bs-toggle="tooltip" title="An element added to molten metal to remove sulfur."> + desulfurizer + </span> + , improving + <span class="term-tooltip" data-bs-toggle="tooltip" title="The ease with which a metal can be shaped by processes like rolling or forging at elevated temperatures."> + hot workability + </span> + . + </li> + <li> + <span class="term"> + Chromium (Cr): + </span> + Increases hardness, + <span class="term-tooltip" data-bs-toggle="tooltip" title="Ability of a material to absorb energy and plastically deform before fracturing."> + toughness + </span> + , and wear resistance. Crucially, it imparts + <span class="term-tooltip" data-bs-toggle="tooltip" title="Ability of a material to resist degradation due to chemical reactions with its environment."> + corrosion resistance + </span> + (essential for stainless steels, typically >10.5% Cr). Improves high-temperature strength. + </li> + <li> + <span class="term"> + Nickel (Ni): + </span> + Increases strength, toughness (especially at low temperatures), and corrosion resistance. Important in + <span class="term-tooltip" data-bs-toggle="tooltip" title="A phase in iron-based alloys with a face-centered cubic (FCC) crystal structure, typically non-magnetic."> + austenitic + </span> + stainless steels. + </li> + <li> + <span class="term"> + Molybdenum (Mo): + </span> + Increases strength, hardness, hardenability, and toughness, especially at elevated temperatures ( + <span class="term-tooltip" data-bs-toggle="tooltip" title="Ability of a material to resist slow deformation under constant stress at high temperatures."> + creep resistance + </span> + ). Enhances corrosion resistance, particularly against pitting in stainless steels. + </li> + <li> + <span class="term"> + Silicon (Si): + </span> + Acts as a deoxidizer. Increases strength and hardness. In cast irons, promotes graphite formation. + </li> + <li> + <span class="term"> + Vanadium (V): + </span> + Increases strength, toughness, and wear resistance. Promotes fine grain structure. + </li> + </ul> + </div> + </div> + </div> + <div class="accordion-item"> + <h3 class="accordion-header" id="headingAluminum"> + <button aria-controls="collapseAluminum" aria-expanded="false" class="accordion-button collapsed" data-bs-target="#collapseAluminum" data-bs-toggle="collapse" type="button"> + Basics of Aluminum (Al) and Its Alloys + </button> + </h3> + <div aria-labelledby="headingAluminum" class="accordion-collapse collapse" data-bs-parent="#beginnerAccordion" id="collapseAluminum"> + <div class="accordion-body"> + <p> + <strong> + Aluminum (Al) + </strong> + is a lightweight, silvery-white, non-magnetic, and ductile metal. It has excellent corrosion resistance due to the formation of a passive oxide layer ( + <span class="term-tooltip" data-bs-toggle="tooltip" title="Formation of a protective, non-reactive surface layer on a metal."> + passivation + </span> + ). It's a good thermal and electrical conductor. Pure aluminum is relatively soft and not very strong, so it's often alloyed. + </p> + <h4> + Common Alloying Elements in Aluminum and Their Effects: + </h4> + <ul> + <li> + <span class="term"> + Silicon (Si): + </span> + Improves fluidity and reduces solidification shrinkage, making it excellent for casting alloys. Increases strength and hardness, and wear resistance. + </li> + <li> + <span class="term"> + Copper (Cu): + </span> + Significantly increases strength and hardness, especially through heat treatment ( + <span class="term-tooltip" data-bs-toggle="tooltip" title="Strengthening mechanism where fine particles (precipitates) are formed within the metal matrix."> + precipitation hardening + </span> + ). Can reduce corrosion resistance and weldability. + </li> + <li> + <span class="term"> + Magnesium (Mg): + </span> + Increases strength through + <span class="term-tooltip" data-bs-toggle="tooltip" title="Strengthening mechanism achieved by adding solute atoms to a base metal, distorting the crystal lattice."> + solid solution strengthening + </span> + and improves + <span class="term-tooltip" data-bs-toggle="tooltip" title="Increase in hardness and strength of a metal due to plastic deformation."> + strain hardening + </span> + ability. When combined with silicon (as Mg₂Si), allows for heat treatment (6xxx series alloys). Generally improves corrosion resistance. + </li> + <li> + <span class="term"> + Manganese (Mn): + </span> + Increases strength somewhat through solution strengthening. Improves strain hardening and controls grain structure. + </li> + <li> + <span class="term"> + Zinc (Zn): + </span> + When combined with magnesium (and sometimes copper), produces the highest strength heat-treatable aluminum alloys (7xxx series). + </li> + <li> + <span class="term"> + Titanium (Ti): + </span> + Used as a grain refiner, improving mechanical properties and preventing cracking in castings and welds. + </li> + </ul> + </div> + </div> + </div> + <div class="accordion-item"> + <h3 class="accordion-header" id="headingTitanium"> + <button aria-controls="collapseTitanium" aria-expanded="false" class="accordion-button collapsed" data-bs-target="#collapseTitanium" data-bs-toggle="collapse" type="button"> + Understanding Titanium (Ti) and Its Alloys + </button> + </h3> + <div aria-labelledby="headingTitanium" class="accordion-collapse collapse" data-bs-parent="#beginnerAccordion" id="collapseTitanium"> + <div class="accordion-body"> + <p> + <strong> + Titanium (Ti) + </strong> + is a strong, lightweight, corrosion-resistant metal with a silver color. It has a very high strength-to-density ratio. Its excellent corrosion resistance is due to a stable, protective oxide layer. Titanium exists in two main crystallographic forms ( + <span class="term-tooltip" data-bs-toggle="tooltip" title="A crystallographic phase in titanium alloys, typically with a hexagonal close-packed (HCP) structure."> + alpha + </span> + and + <span class="term-tooltip" data-bs-toggle="tooltip" title="A crystallographic phase in titanium alloys, typically with a body-centered cubic (BCC) structure."> + beta + </span> + ), which influences alloying behavior. + </p> + <h4> + Common Alloying Elements in Titanium and Their Effects: + </h4> + <ul> + <li> + <span class="term"> + Aluminum (Al): + </span> + Primarily an + <span class="term-tooltip" data-bs-toggle="tooltip" title="An alloying element that stabilizes the alpha phase in titanium, generally increasing its transformation temperature."> + alpha stabilizer + </span> + . Increases strength (both at room and elevated temperatures) and lowers density. Too much Al can lead to embrittlement. + </li> + <li> + <span class="term"> + Vanadium (V): + </span> + A + <span class="term-tooltip" data-bs-toggle="tooltip" title="An alloying element that stabilizes the beta phase in titanium, generally lowering its transformation temperature."> + beta stabilizer + </span> + . Improves hardenability and strength. Ti-6Al-4V is the most common titanium alloy, where Vanadium contributes significantly to its heat treatability and strength. + </li> + <li> + <span class="term"> + Molybdenum (Mo): + </span> + A strong beta stabilizer. Increases strength, hardenability, and high-temperature properties. + </li> + <li> + <span class="term"> + Chromium (Cr): + </span> + A beta stabilizer. Similar effects to Molybdenum, enhances strength and hardenability. + </li> + <li> + <span class="term"> + Iron (Fe): + </span> + A beta stabilizer. Can increase strength but may reduce ductility if present in high amounts or as undesirable phases. + </li> + <li> + <span class="term"> + Oxygen (O), Nitrogen (N), Carbon (C): + </span> + <span class="term-tooltip" data-bs-toggle="tooltip" title="Small atoms that fit into the spaces (interstices) between the main atoms in a crystal lattice, significantly affecting properties."> + Interstitial elements + </span> + . Small amounts can significantly increase strength and hardness but drastically reduce ductility and toughness. Controlled additions are used in some CP (Commercially Pure) grades. + </li> + </ul> + </div> + </div> + </div> + <div class="accordion-item"> + <h3 class="accordion-header" id="headingCopper"> + <button aria-controls="collapseCopper" aria-expanded="false" class="accordion-button collapsed" data-bs-target="#collapseCopper" data-bs-toggle="collapse" type="button"> + Basics of Copper (Cu) and Its Alloys (Brass, Bronze) + </button> + </h3> + <div aria-labelledby="headingCopper" class="accordion-collapse collapse" data-bs-parent="#beginnerAccordion" id="collapseCopper"> + <div class="accordion-body"> + <p> + <strong> + Copper (Cu) + </strong> + is a ductile metal with very high thermal and electrical conductivity. It's reddish-brown, relatively soft, and has good corrosion resistance in many environments. Pure copper is widely used for electrical wiring and plumbing. + </p> + <p> + <strong> + Brasses + </strong> + are primarily alloys of copper and zinc. + <strong> + Bronzes + </strong> + are primarily alloys of copper, usually with tin as the main additive, but the term is also used for alloys with other elements like aluminum or silicon. + </p> + <h4> + Common Alloying Elements in Copper and Their Effects: + </h4> + <ul> + <li> + <span class="term"> + Zinc (Zn): + </span> + Forms + <span class="term"> + Brass + </span> + . Increases strength, hardness, and ductility (up to ~35% Zn). Improves castability and machinability (especially with lead additions). Reduces cost compared to pure copper. Higher Zn content can decrease corrosion resistance ( + <span class="term-tooltip" data-bs-toggle="tooltip" title="Selective leaching of zinc from brass alloys, leaving a porous copper-rich residue."> + dezincification + </span> + ). + </li> + <li> + <span class="term"> + Tin (Sn): + </span> + Forms + <span class="term"> + Bronze + </span> + . Significantly increases strength, hardness, and wear resistance. Improves corrosion resistance. Reduces electrical conductivity more than zinc. + </li> + <li> + <span class="term"> + Aluminum (Al): + </span> + Forms + <span class="term"> + Aluminum Bronze + </span> + . Provides high strength, excellent corrosion resistance (especially in seawater), and good wear resistance. + </li> + <li> + <span class="term"> + Silicon (Si): + </span> + Forms + <span class="term"> + Silicon Bronze + </span> + . Increases strength and corrosion resistance. Improves castability and weldability. + </li> + <li> + <span class="term"> + Nickel (Ni): + </span> + Forms + <span class="term"> + Copper-Nickel alloys (Cupronickels) + </span> + . Greatly enhances corrosion resistance, especially in seawater and against biofouling. Improves strength at elevated temperatures. + </li> + <li> + <span class="term"> + Lead (Pb): + </span> + Added to brasses and bronzes (typically up to ~3%) to significantly improve machinability by acting as a chip breaker. Reduces ductility and strength. + </li> + <li> + <span class="term"> + Phosphorus (P): + </span> + Often used as a deoxidizer in copper alloys. Can increase strength and hardness but significantly reduces electrical conductivity. + </li> + </ul> + </div> + </div> + </div> + <div class="accordion-item"> + <h3 class="accordion-header" id="headingNickel"> + <button aria-controls="collapseNickel" aria-expanded="false" class="accordion-button collapsed" data-bs-target="#collapseNickel" data-bs-toggle="collapse" type="button"> + Understanding Nickel (Ni) and Its Alloys (Superalloys) + </button> + </h3> + <div aria-labelledby="headingNickel" class="accordion-collapse collapse" data-bs-parent="#beginnerAccordion" id="collapseNickel"> + <div class="accordion-body"> + <p> + <strong> + Nickel (Ni) + </strong> + is a silvery-white, hard, ductile, and ferromagnetic metal. It exhibits excellent corrosion resistance in many environments, especially alkaline solutions. Pure nickel is used for plating, coinage, and specialized chemical equipment. + </p> + <p> + <strong> + Nickel-based Superalloys + </strong> + are complex alloys designed for outstanding strength, creep resistance, and oxidation/corrosion resistance at very high temperatures (typically above 650°C / 1200°F). They are essential in gas turbines, jet engines, and other extreme environments. + </p> + <h4> + Common Alloying Elements in Nickel Alloys/Superalloys and Their Effects: + </h4> + <ul> + <li> + <span class="term"> + Chromium (Cr): + </span> + Essential for high-temperature oxidation and corrosion resistance (forms a stable Cr₂O₃ protective scale). Contributes to solid solution strengthening. Key in alloys like Inconel. + </li> + <li> + <span class="term"> + Molybdenum (Mo): + </span> + Provides significant solid solution strengthening. Enhances resistance to pitting and crevice corrosion. Important in alloys like Hastelloy. + </li> + <li> + <span class="term"> + Cobalt (Co): + </span> + Can increase strength at high temperatures and improve creep resistance. Often used in conjunction with other elements. + </li> + <li> + <span class="term"> + Aluminum (Al) & Titanium (Ti): + </span> + These are key precipitation hardening elements in many nickel superalloys. They form fine, coherent + <span class="term-tooltip" data-bs-toggle="tooltip" title="A key strengthening precipitate (Ni₃(Al,Ti)) in nickel-based superalloys."> + gamma prime (γ') + </span> + precipitates that dramatically increase high-temperature strength and creep resistance. + </li> + <li> + <span class="term"> + Iron (Fe): + </span> + Can be a base element (e.g., Incoloy series) or an addition to nickel-based alloys to modify properties and reduce cost. Often improves weldability. + </li> + <li> + <span class="term"> + Niobium (Nb) / Columbium (Cb) & Tantalum (Ta): + </span> + Form carbides and contribute to precipitation hardening ( + <span class="term-tooltip" data-bs-toggle="tooltip" title="A strengthening precipitate (Ni₃Nb) in some nickel-based superalloys like Inconel 718."> + gamma double prime γ'' + </span> + in Inconel 718). Improve creep strength and weldability in some alloys. + </li> + <li> + <span class="term"> + Tungsten (W): + </span> + Potent solid solution strengthener at high temperatures. Increases creep resistance. + </li> + <li> + <span class="term"> + Carbon (C): + </span> + Forms carbides with elements like Cr, Mo, Ti, Nb, W. Carbides can strengthen grain boundaries or contribute to wear resistance, but their morphology and location must be carefully controlled to avoid embrittlement. + </li> + </ul> + </div> + </div> + </div> + </div> + </section> + <!-- Terminology Section --> + <section class="terminology-section" id="terminology-guide"> + <h2 class="section-title"> + <i class="bi bi-rulers"> + </i> + Common Material Properties Terminology + </h2> <div class="accordion" id="terminologyAccordion"> - <div class="accordion-item"> - <h3 class="accordion-header" id="headingMechanicalProperties"> - <button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseMechanicalProperties" aria-expanded="false" aria-controls="collapseMechanicalProperties"> - Mechanical Properties - </button> - </h3> - <div id="collapseMechanicalProperties" class="accordion-collapse collapse" aria-labelledby="headingMechanicalProperties" data-bs-parent="#terminologyAccordion"> - <div class="accordion-body"> - <dl> - <dt>Yield Strength (MPa)</dt> - <dd>The stress at which a material begins to deform plastically (permanently). Before this point, deformation is elastic (temporary). Measured in Megapascals (MPa). [1, 3]</dd> - <dt>Tensile Strength (MPa)</dt> - <dd>The maximum stress a material can withstand while being stretched or pulled before necking (local reduction in cross-sectional area) begins, leading to fracture. Measured in Megapascals (MPa). [1, 2]</dd> - <dt>Modulus of Elasticity (Young's Modulus) (GPa)</dt> - <dd>A measure of a material's stiffness or resistance to elastic deformation under tensile or compressive stress. It's the ratio of stress to strain in the elastic region. Measured in Gigapascals (GPa). [1, 5]</dd> - <dt>Density (g/cm³)</dt> - <dd>The mass of a material per unit volume. Commonly expressed in grams per cubic centimeter (g/cm³). [1, 2]</dd> - <dt>Hardness (e.g., HB, HRC)</dt> - <dd>A measure of a material's resistance to localized plastic deformation, such as indentation, scratching, or abrasion. Common scales include Brinell Hardness (HB) and Rockwell Hardness (HRC). [1, 3]</dd> - <dt>Ductility</dt> - <dd>The ability of a material to undergo significant plastic deformation (e.g., be stretched, pulled, or drawn into a wire) before fracturing. [1, 2]</dd> - <dt>Toughness</dt> - <dd>The ability of a material to absorb energy and plastically deform before fracturing. It represents a combination of strength and ductility. [1, 3]</dd> - <dt>Hardenability (primarily for Steel)</dt> - <dd>The ability of a steel to be hardened by heat treatment, specifically the depth to which martensite can be formed when quenched from austenitizing temperature. [1, 2]</dd> - <dt>Creep Resistance</dt> - <dd>A material's ability to resist slow, gradual deformation (creep) under constant stress, especially at elevated temperatures over extended periods. [1, 5]</dd> - <dt>Fatigue Resistance / Endurance Limit</dt> - <dd>A material's ability to withstand repeated cycles of stress or strain without failing. The endurance limit (or fatigue limit) is the stress level below which a material can theoretically withstand an infinite number of loading cycles. [1, 2]</dd> - <dt>Notch Sensitivity</dt> - <dd>The extent to which the presence of a notch, crack, or other stress concentrator reduces the strength or fatigue life of a material. Brittle materials are generally more notch-sensitive. [1, 2]</dd> - </dl> - </div> - </div> + <div class="accordion-item"> + <h3 class="accordion-header" id="headingMechanicalProperties"> + <button aria-controls="collapseMechanicalProperties" aria-expanded="false" class="accordion-button collapsed" data-bs-target="#collapseMechanicalProperties" data-bs-toggle="collapse" type="button"> + Mechanical Properties + </button> + </h3> + <div aria-labelledby="headingMechanicalProperties" class="accordion-collapse collapse" data-bs-parent="#terminologyAccordion" id="collapseMechanicalProperties"> + <div class="accordion-body"> + <dl> + <dt> + Yield Strength (MPa) + </dt> + <dd> + The stress at which a material begins to deform plastically (permanently). Before this point, deformation is elastic (temporary). Measured in Megapascals (MPa). [1, 3] + </dd> + <dt> + Tensile Strength (MPa) + </dt> + <dd> + The maximum stress a material can withstand while being stretched or pulled before necking (local reduction in cross-sectional area) begins, leading to fracture. Measured in Megapascals (MPa). [1, 2] + </dd> + <dt> + Modulus of Elasticity (Young's Modulus) (GPa) + </dt> + <dd> + A measure of a material's stiffness or resistance to elastic deformation under tensile or compressive stress. It's the ratio of stress to strain in the elastic region. Measured in Gigapascals (GPa). [1, 5] + </dd> + <dt> + Density (g/cm³) + </dt> + <dd> + The mass of a material per unit volume. Commonly expressed in grams per cubic centimeter (g/cm³). [1, 2] + </dd> + <dt> + Hardness (e.g., HB, HRC) + </dt> + <dd> + A measure of a material's resistance to localized plastic deformation, such as indentation, scratching, or abrasion. Common scales include Brinell Hardness (HB) and Rockwell Hardness (HRC). [1, 3] + </dd> + <dt> + Ductility + </dt> + <dd> + The ability of a material to undergo significant plastic deformation (e.g., be stretched, pulled, or drawn into a wire) before fracturing. [1, 2] + </dd> + <dt> + Toughness + </dt> + <dd> + The ability of a material to absorb energy and plastically deform before fracturing. It represents a combination of strength and ductility. [1, 3] + </dd> + <dt> + Hardenability (primarily for Steel) + </dt> + <dd> + The ability of a steel to be hardened by heat treatment, specifically the depth to which martensite can be formed when quenched from austenitizing temperature. [1, 2] + </dd> + <dt> + Creep Resistance + </dt> + <dd> + A material's ability to resist slow, gradual deformation (creep) under constant stress, especially at elevated temperatures over extended periods. [1, 5] + </dd> + <dt> + Fatigue Resistance / Endurance Limit + </dt> + <dd> + A material's ability to withstand repeated cycles of stress or strain without failing. The endurance limit (or fatigue limit) is the stress level below which a material can theoretically withstand an infinite number of loading cycles. [1, 2] + </dd> + <dt> + Notch Sensitivity + </dt> + <dd> + The extent to which the presence of a notch, crack, or other stress concentrator reduces the strength or fatigue life of a material. Brittle materials are generally more notch-sensitive. [1, 2] + </dd> + </dl> + </div> + </div> + </div> + <div class="accordion-item"> + <h3 class="accordion-header" id="headingPhysicalChemicalProperties"> + <button aria-controls="collapsePhysicalChemicalProperties" aria-expanded="false" class="accordion-button collapsed" data-bs-target="#collapsePhysicalChemicalProperties" data-bs-toggle="collapse" type="button"> + Physical & Chemical Properties + </button> + </h3> + <div aria-labelledby="headingPhysicalChemicalProperties" class="accordion-collapse collapse" data-bs-parent="#terminologyAccordion" id="collapsePhysicalChemicalProperties"> + <div class="accordion-body"> + <dl> + <dt> + Corrosion Resistance + </dt> + <dd> + The ability of a material to withstand degradation and chemical breakdown due to reactions with its environment (e.g., oxidation, rusting, pitting). [1, 3] + </dd> + <dt> + Thermal Conductivity (W/m·K) + </dt> + <dd> + A measure of a material's ability to conduct or transfer heat. Expressed in Watts per meter-Kelvin (W/m·K). [1, 2] + </dd> + <dt> + Electrical Conductivity (% IACS or S/m) + </dt> + <dd> + A measure of how well a material conducts an electric current. Often expressed as a percentage of the International Annealed Copper Standard (% IACS) or in Siemens per meter (S/m). [1, 5] + </dd> + <dt> + IACS (International Annealed Copper Standard) + </dt> + <dd> + A standard where the conductivity of annealed copper at 20°C is defined as 100% IACS. Other materials' conductivities are expressed relative to this. [1, 2] + </dd> + <dt> + Passivation + </dt> + <dd> + A process of treating or coating a metal to reduce its chemical reactivity. In stainless steels, it involves the formation of a protective, passive oxide layer (typically chromium oxide) on the surface, enhancing corrosion resistance by removing free iron. [1, 2] + </dd> + </dl> + </div> + </div> + </div> + <div class="accordion-item"> + <h3 class="accordion-header" id="headingProcessingMetallurgicalTerms"> + <button aria-controls="collapseProcessingMetallurgicalTerms" aria-expanded="false" class="accordion-button collapsed" data-bs-target="#collapseProcessingMetallurgicalTerms" data-bs-toggle="collapse" type="button"> + Processing & Metallurgical Terms + </button> + </h3> + <div aria-labelledby="headingProcessingMetallurgicalTerms" class="accordion-collapse collapse" data-bs-parent="#terminologyAccordion" id="collapseProcessingMetallurgicalTerms"> + <div class="accordion-body"> + <dl> + <dt> + Machinability + </dt> + <dd> + The ease with which a metal can be cut or shaped by machining processes, resulting in a good surface finish and tool life. [1, 2] + </dd> + <dt> + Weldability + </dt> + <dd> + The ability of a material to be welded under given conditions to form a sound joint that performs satisfactorily in its intended service. [1, 2] + </dd> + <dt> + Heat Treatment + </dt> + <dd> + Controlled heating and cooling processes applied to metals to alter their microstructure and, consequently, their physical and mechanical properties (e.g., hardness, strength, ductility). [3, 4] + </dd> + <dd> + <em> + Annealing: + </em> + A heat treatment process that alters a material's microstructure to typically increase its ductility, reduce hardness, and relieve internal stresses, making it more workable. [2, 4] + </dd> + <dd> + <em> + Quenching: + </em> + Rapid cooling of a heated metal, often by immersion in water, oil, or air, to achieve specific microstructures like martensite for increased hardness. [2, 3] + </dd> + <dd> + <em> + Tempering: + </em> + A heat treatment process applied after quenching to reduce brittleness and relieve internal stresses, usually by heating to a temperature below the lower critical temperature, holding, and then cooling. [2, 3] + </dd> + <dd> + <em> + Aging (Age Hardening): + </em> + A heat treatment that induces precipitation of fine particles within a metal's microstructure over time, either at room temperature (natural aging) or elevated temperatures (artificial aging), to increase strength and hardness. See Precipitation Hardening. [3, 5] + </dd> + <dd> + <em> + Solution Treatment (Solution Annealing): + </em> + Heating an alloy to a suitable temperature to dissolve alloying elements into a solid solution, followed by rapid cooling to retain this state. This prepares the material for subsequent aging or other treatments. [2, 5] + </dd> + <dd> + <em> + Precipitation Hardening: + </em> + A strengthening mechanism involving the formation of fine, uniformly dispersed secondary phase particles (precipitates) within the primary phase of a metal alloy during heat treatment (aging). [3, 5] + </dd> + <dt> + Work Hardening (Strain Hardening) + </dt> + <dd> + The strengthening of a metal by plastic deformation (e.g., rolling, drawing, bending) at a temperature below its recrystallization point. This increases hardness and strength but usually reduces ductility. [1, 2] + </dd> + <dt> + Solid Solution Strengthening + </dt> + <dd> + A strengthening mechanism in metals achieved by adding atoms of one element (solute) to the crystal lattice of another element (solvent), forming a solid solution. The solute atoms distort the lattice, impeding dislocation movement. [1, 2] + </dd> + <dt> + Interstitial Strengthening + </dt> + <dd> + A type of solid solution strengthening where small solute atoms (e.g., carbon, nitrogen) occupy the interstitial sites (spaces between solvent atoms) in the crystal lattice, causing significant lattice distortion and impeding dislocation movement. [1, 4] + </dd> + <dt> + Sensitization (in Stainless Steel) + </dt> + <dd> + A phenomenon in some stainless steels where chromium carbides precipitate at grain boundaries when exposed to elevated temperatures (approx. 425-815°C). This depletes chromium in adjacent regions, making the steel susceptible to intergranular corrosion. [1, 3] + </dd> + <dt> + Stress Corrosion Cracking (SCC) + </dt> + <dd> + The initiation and growth of cracks in a material due to the combined action of tensile stress (applied or residual) and a specific corrosive environment. [1, 2] + </dd> + <dt> + Galvanic Corrosion (Bimetallic Corrosion) + </dt> + <dd> + An electrochemical process where one metal corrodes preferentially when in electrical contact with a different metal (the cathode) in the presence of an electrolyte. The more active metal becomes the anode and corrodes. [1, 2] + </dd> + <dt> + Hydrogen Embrittlement + </dt> + <dd> + A reduction in the ductility and toughness of a metal due to the absorption and diffusion of atomic hydrogen, which can lead to premature failure under stress. High-strength steels are particularly susceptible. [1, 2] + </dd> + <dt> + Dezincification + </dt> + <dd> + A selective leaching corrosion process where zinc is preferentially removed from brass alloys, leaving behind a porous, copper-rich, and weakened structure. [1, 2] + </dd> + <dt> + Temper Embrittlement + </dt> + <dd> + A reduction in the toughness of certain steels when tempered or held within a specific temperature range (typically 345-575°C), often due to the segregation of impurity elements to grain boundaries. [1, 2] + </dd> + <dt> + Phases (e.g., Ferrite, Austenite, Martensite, Bainite) + </dt> + <dd> + Distinct, homogeneous regions within a material that have a specific crystal structure and composition. Common phases in steel include: + <ul> + <li> + <em> + Ferrite: + </em> + A body-centered cubic (BCC) iron phase, relatively soft and ductile, magnetic. [1] + </li> + <li> + <em> + Austenite: + </em> + A face-centered cubic (FCC) iron phase, typically stable at high temperatures, non-magnetic, can dissolve more carbon than ferrite. + </li> + <li> + <em> + Martensite: + </em> + A very hard and brittle body-centered tetragonal (BCT) phase formed by rapid cooling (quenching) of austenite. [1, 3] + </li> + <li> + <em> + Bainite: + </em> + A microstructure consisting of ferrite and cementite (iron carbide) that forms at temperatures between those for pearlite and martensite. It offers a combination of strength and toughness. [1, 2] + </li> + </ul> + </dd> + <dt> + Intermetallic Compound + </dt> + <dd> + A phase in an alloy system with a distinct chemical formula and crystal structure, formed by two or more metallic elements (and sometimes non-metals) in fixed stoichiometric proportions. Often hard and brittle. [1, 3] + </dd> + <dt> + Alloying Element & Base Metal + </dt> + <dd> + <em> + Base Metal: + </em> + The primary metal in an alloy (e.g., iron in steel, aluminum in aluminum alloys). [1, 2] + <em> + Alloying Element: + </em> + An element intentionally added to a base metal to modify its properties. [1, 2] + </dd> + <dt> + Configurational Entropy (in HEAs) + </dt> + <dd> + A measure of the randomness or disorder in the atomic arrangement of an alloy due to the mixing of multiple principal elements. In High Entropy Alloys (HEAs), high configurational entropy is thought to stabilize simple solid solution phases. [1, 5] + </dd> + </dl> + </div> + </div> + </div> + </div> + </section> + <div id="metals-data-container"> + <!-- Carbon & Alloy Steels Section --> + <section data-section-id="carbon-alloy-steels" id="carbon-alloy-steels"> + <h2 class="section-title"> + <i class="bi bi-grid-1x2-fill"> + </i> + Carbon & Alloy Steels + </h2> + <div class="table-responsive"> + <table class="table table-bordered table-hover metal-table"> + <thead> + <tr> + <th> + Material + </th> + <th> + Common Equivalents + </th> + <th> + Typical Forms + </th> + <th> + Yield (MPa) + </th> + <th> + Tensile (MPa) + </th> + <th> + Modulus (GPa) + </th> + <th> + Density (g/cm³) + </th> + <th> + Hardness + </th> + <th> + Cost Tier + </th> + <th> + Details + </th> + </tr> + </thead> + <tbody> + <tr> + <td data-label="Material"> + A36 Carbon Steel + </td> + <td data-label="Equivalents"> + UNS K02600, ASTM A36, EN S275JR + </td> + <td data-label="Forms"> + Plate, Shapes (Beams, Angles, Channels), Bar + </td> + <td data-label="Yield"> + 250 + </td> + <td data-label="Tensile"> + 400-550 + </td> + <td data-label="Modulus"> + 200 + </td> + <td data-label="Density"> + 7.85 + </td> + <td data-label="Hardness"> + ~120-160 + <span class="term-tooltip" data-bs-toggle="tooltip" title="Brinell Hardness: measures indentation hardness by pressing a hard sphere into the material."> + HB + </span> + </td> + <td class="cost-tier cost-tier-1" data-label="Cost Tier"> + $ + </td> + <td> + <button aria-controls="details-a36" aria-expanded="false" class="btn btn-sm btn-outline-secondary details-toggle" data-bs-target="#details-a36" data-bs-toggle="collapse" type="button"> + Info + <i class="bi bi-chevron-down"> + </i> + </button> + <div class="collapse collapse-content" id="details-a36"> + <h6> + Key Performance: + </h6> + <ul> + <li> + <span class="term"> + Corrosion Resistance + </span> + : Poor without coating. + </li> + <li> + <span class="term"> + Machinability + </span> + : Good. + </li> + <li> + <span class="term"> + Weldability + </span> + : Excellent. + </li> + </ul> + <h6> + Primary Applications: + </h6> + <p> + Structural beams (high-rise, bridges), general fabrication, plates, machinery parts, low-stress components. + </p> + <h6> + Critical Limitations: + </h6> + <p> + Corrosion in marine/chemical environments without coating. Limited to ~400°C service temperature due to strength loss. + </p> + <h6> + Processing: + </h6> + <p> + Readily weldable by common methods, good machinability. Not typically heat-treated for strength (used as-rolled). + </p> + </div> + </td> + </tr> + <tr> + <td data-label="Material"> + 4140 Alloy Steel + </td> + <td data-label="Equivalents"> + UNS G41400, AISI 4140, EN 42CrMo4 (1.7225) + </td> + <td data-label="Forms"> + Bar, Rod, Forging, Tube, Plate + </td> + <td data-label="Yield"> + 415 ( + <span class="term-tooltip" data-bs-toggle="tooltip" title="Annealed: Heat treated to relieve stress, soften, and improve ductility."> + Ann + </span> + ) - 655+ ( + <span class="term-tooltip" data-bs-toggle="tooltip" title="Quenched and Tempered: Heat treatment process to increase hardness and toughness."> + Q&T + </span> + ) + </td> + <td data-label="Tensile"> + 655 (Ann) - 1020+ (Q&T) + </td> + <td data-label="Modulus"> + 205 + </td> + <td data-label="Density"> + 7.85 + </td> + <td data-label="Hardness"> + ~197 HB (Ann), 28-34 + <span class="term-tooltip" data-bs-toggle="tooltip" title="Rockwell Hardness C scale: measures indentation hardness using a diamond cone."> + HRC + </span> + (Q&T) + </td> + <td class="cost-tier cost-tier-2" data-label="Cost Tier"> + $$ + </td> + <td> + <button aria-controls="details-4140" aria-expanded="false" class="btn btn-sm btn-outline-secondary details-toggle" data-bs-target="#details-4140" data-bs-toggle="collapse" type="button"> + Info + <i class="bi bi-chevron-down"> + </i> + </button> + <div class="collapse collapse-content" id="details-4140"> + <h6> + Key Performance: + </h6> + <ul> + <li> + <span class="term"> + Corrosion Resistance + </span> + : Poor without plating/coating. + </li> + <li> + <span class="term"> + Machinability + </span> + : Good in annealed state, fair when hardened. + </li> + <li> + <span class="term"> + Weldability + </span> + : Fair, preheat/post-heat often required to prevent cracking. + </li> + <li> + <span class="term"> + Hardenability + </span> + : Good, can be through-hardened in moderate sections. + </li> + </ul> + <h6> + Primary Applications: + </h6> + <p> + Automotive axles, crankshafts, medium-duty gears, bolts, couplings, spindles, tool holders. + </p> + <h6> + Critical Limitations: + </h6> + <p> + Requires proper heat treatment for optimal properties. Susceptible to + <span class="term-tooltip" data-bs-toggle="tooltip" title="Loss of toughness in steel when tempered within a specific temperature range or slow cooled through it."> + temper embrittlement + </span> + if not carefully processed. Not ideal for highly corrosive environments without protection. + </p> + <h6> + Processing: + </h6> + <p> + Responds well to heat treatment (quenching and tempering). Machinable. Weldable with pre/post heat treatment. Can be + <span class="term-tooltip" data-bs-toggle="tooltip" title="A surface hardening process where nitrogen is diffused into the steel."> + nitrided + </span> + for surface hardness. + </p> + </div> + </td> + </tr> + <tr> + <td data-label="Material"> + 4340 Alloy Steel + </td> + <td data-label="Equivalents"> + UNS G43400, AISI 4340, EN 34CrNiMo6 (1.6582) + </td> + <td data-label="Forms"> + Bar, Rod, Forging, Plate, Tube + </td> + <td data-label="Yield"> + 470 (Ann) - 1515+ (Q&T) + </td> + <td data-label="Tensile"> + 745 (Ann) - 1895+ (Q&T) + </td> + <td data-label="Modulus"> + 205 + </td> + <td data-label="Density"> + 7.85 + </td> + <td data-label="Hardness"> + ~217 HB (Ann), 35-55 HRC (Q&T) + </td> + <td class="cost-tier cost-tier-3" data-label="Cost Tier"> + $$$ + </td> + <td> + <button aria-controls="details-4340" aria-expanded="false" class="btn btn-sm btn-outline-secondary details-toggle" data-bs-target="#details-4340" data-bs-toggle="collapse" type="button"> + Info + <i class="bi bi-chevron-down"> + </i> + </button> + <div class="collapse collapse-content" id="details-4340"> + <h6> + Key Performance: + </h6> + <ul> + <li> + <span class="term"> + Corrosion Resistance + </span> + : Poor without plating/coating. + </li> + <li> + <span class="term"> + Machinability + </span> + : Fair to good in annealed state, poor when fully hardened. + </li> + <li> + <span class="term"> + Weldability + </span> + : Difficult, requires significant preheat, specific consumables, and post-weld stress relief to avoid cracking. + </li> + <li> + <span class="term"> + Hardenability + </span> + : Excellent, deep hardening capabilities. High toughness. + </li> + </ul> + <h6> + Primary Applications: + </h6> + <p> + Aircraft landing gear, high-stress shafts and gears, military ordnance, connecting rods, structural parts requiring high strength and toughness. + </p> + <h6> + Critical Limitations: + </h6> + <p> + <span class="term-tooltip" data-bs-toggle="tooltip" title="Susceptibility of a material to fracture initiation at stress concentrations like notches or cracks."> + Notch-sensitive + </span> + , requires careful design and heat treatment to avoid embrittlement. Prone to + <span class="term-tooltip" data-bs-toggle="tooltip" title="Loss of ductility in a metal due to absorbed hydrogen, often from plating or corrosive environments."> + hydrogen embrittlement + </span> + if improperly plated. Difficult to weld. + </p> + <h6> + Processing: + </h6> + <p> + Deep hardening. Requires specific heat treatments ( + <span class="term-tooltip" data-bs-toggle="tooltip" title="Heating steel to a temperature where austenite forms."> + austenitizing + </span> + , quenching, tempering) for optimal properties. Weldable only with stringent procedures. + </p> + </div> + </td> + </tr> + </tbody> + </table> + </div> + </section> + <!-- Stainless Steels Section --> + <section data-section-id="stainless-steels" id="stainless-steels"> + <h2 class="section-title"> + <i class="bi bi-shield-check"> + </i> + Stainless Steels + </h2> + <div class="table-responsive"> + <table class="table table-bordered table-hover metal-table"> + <thead> + <tr> + <th> + Material + </th> + <th> + Common Equivalents + </th> + <th> + Typical Forms + </th> + <th> + Yield (MPa) + </th> + <th> + Tensile (MPa) + </th> + <th> + Modulus (GPa) + </th> + <th> + Density (g/cm³) + </th> + <th> + Hardness + </th> + <th> + Cost Tier + </th> + <th> + Details + </th> + </tr> + </thead> + <tbody> + <tr> + <td data-label="Material"> + 304 SS ( + <span class="term-tooltip" data-bs-toggle="tooltip" title="A type of stainless steel with a face-centered cubic (FCC) crystal structure, typically non-magnetic and highly formable."> + Austenitic + </span> + ) + </td> + <td data-label="Equivalents"> + UNS S30400, AISI 304, EN 1.4301, JIS SUS304 + </td> + <td data-label="Forms"> + Sheet, Plate, Bar, Tube, Pipe, Wire, Fittings, Casting + </td> + <td data-label="Yield"> + 205-310 + </td> + <td data-label="Tensile"> + 515-620 + </td> + <td data-label="Modulus"> + 193-200 + </td> + <td data-label="Density"> + 8.0 + </td> + <td data-label="Hardness"> + ~85 + <span class="term-tooltip" data-bs-toggle="tooltip" title="Rockwell Hardness B scale: measures indentation hardness, often for softer metals."> + HRB + </span> + (Annealed) + </td> + <td class="cost-tier cost-tier-2" data-label="Cost Tier"> + $$ + </td> + <td> + <button aria-controls="details-304ss" aria-expanded="false" class="btn btn-sm btn-outline-secondary details-toggle" data-bs-target="#details-304ss" data-bs-toggle="collapse" type="button"> + Info + <i class="bi bi-chevron-down"> + </i> + </button> + <div class="collapse collapse-content" id="details-304ss"> + <h6> + Key Performance: + </h6> + <ul> + <li> + <span class="term"> + Corrosion Resistance + </span> + : Good in many atmospheric and mild chemical environments; susceptible to chlorides (pitting, crevice corrosion, + <span class="term-tooltip" data-bs-toggle="tooltip" title="Cracking due to combined tensile stress and a specific corrosive environment."> + SCC + </span> + ). + </li> + <li> + <span class="term"> + Thermal Conductivity + </span> + : 16.2 W/m·K (Low). + </li> + <li> + <span class="term"> + Electrical Conductivity + </span> + : ~2.4% + <span class="term-tooltip" data-bs-toggle="tooltip" title="International Annealed Copper Standard: 100% IACS is the conductivity of pure annealed copper."> + IACS + </span> + (Low). + </li> + <li> + <span class="term"> + Machinability + </span> + : Poor ( + <span class="term-tooltip" data-bs-toggle="tooltip" title="Increase in hardness and strength due to plastic deformation."> + work hardening + </span> + , gummy chips); use sharp tools, slow speeds, positive feeds, good coolant. + </li> + <li> + <span class="term"> + Weldability + </span> + : Good by most fusion and resistance methods; susceptible to + <span class="term-tooltip" data-bs-toggle="tooltip" title="Precipitation of chromium carbides at grain boundaries in stainless steels, reducing corrosion resistance."> + sensitization + </span> + (loss of corrosion resistance at welds) if not low carbon (304L) or stabilized. + </li> + </ul> + <h6> + Primary Applications: + </h6> + <p> + Food processing equipment (tanks, piping), architectural trim, kitchen sinks, cutlery, brewery equipment, chemical tanks (mild service), exhaust systems. + </p> + <h6> + Critical Limitations: + </h6> + <p> + Chloride stress corrosion cracking (SCC) above ~60°C. Sensitization can reduce corrosion resistance at welds. Poor resistance to reducing acids. + </p> + <h6> + Processing: + </h6> + <p> + Non-hardenable by heat treatment. Strength increased by cold work. Excellent formability and ductility. Annealing restores ductility after cold work. + </p> + </div> + </td> + </tr> + <tr> + <td data-label="Material"> + 316 SS (Austenitic) + </td> + <td data-label="Equivalents"> + UNS S31600, AISI 316, EN 1.4401/1.4436, JIS SUS316 + </td> + <td data-label="Forms"> + Sheet, Plate, Bar, Tube, Pipe, Wire, Fittings, Casting + </td> + <td data-label="Yield"> + 205-310 + </td> + <td data-label="Tensile"> + 515-620 + </td> + <td data-label="Modulus"> + 193-200 + </td> + <td data-label="Density"> + 8.0 + </td> + <td data-label="Hardness"> + ~85 HRB (Annealed) + </td> + <td class="cost-tier cost-tier-3" data-label="Cost Tier"> + $$$ + </td> + <td> + <button aria-controls="details-316ss" aria-expanded="false" class="btn btn-sm btn-outline-secondary details-toggle" data-bs-target="#details-316ss" data-bs-toggle="collapse" type="button"> + Info + <i class="bi bi-chevron-down"> + </i> + </button> + <div class="collapse collapse-content" id="details-316ss"> + <h6> + Key Performance: + </h6> + <ul> + <li> + <span class="term"> + Corrosion Resistance + </span> + : Excellent, superior to 304 due to Molybdenum (resists pitting/crevice corrosion in chlorides and some acids). + </li> + <li> + <span class="term"> + Thermal Conductivity + </span> + : 16.3 W/m·K (Low). + </li> + <li> + <span class="term"> + Electrical Conductivity + </span> + : ~2.3% IACS (Low). + </li> + <li> + <span class="term"> + Machinability + </span> + : Poor (work hardening), similar to 304, slightly more difficult. + </li> + <li> + <span class="term"> + Weldability + </span> + : Good; 316L (low carbon) preferred to avoid sensitization and ensure + <span class="term-tooltip" data-bs-toggle="tooltip" title="Corrosion occurring preferentially at or adjacent to grain boundaries."> + intergranular corrosion + </span> + resistance at welds. + </li> + </ul> + <h6> + Primary Applications: + </h6> + <p> + Marine hardware (boat fittings, propellers), pharmaceutical equipment, chemical processing (tanks, pipes for more aggressive media), food processing, medical implants, pulp & paper industry. + </p> + <h6> + Critical Limitations: + </h6> + <p> + Chloride SCC above ~60°C, though more resistant than 304. + <span class="term-tooltip" data-bs-toggle="tooltip" title="Accelerated corrosion of a more active metal when in electrical contact with a less active metal in an electrolyte."> + Galvanic corrosion + </span> + with aluminum, carbon steel. More expensive than 304. + </p> + <h6> + Processing: + </h6> + <p> + Non-hardenable by heat treatment. Cold work increases strength. Good formability. Annealing restores ductility. + </p> + </div> + </td> + </tr> + <tr> + <td data-label="Material"> + 17-4 PH SS ( + <span class="term-tooltip" data-bs-toggle="tooltip" title="Strengthening by forming fine particles (precipitates) in the metal matrix through heat treatment."> + Precipitation Hardening + </span> + ) + </td> + <td data-label="Equivalents"> + UNS S17400, AISI 630, EN 1.4542 + </td> + <td data-label="Forms"> + Bar, Rod, Plate, Sheet, Wire, Forging, Casting + </td> + <td data-label="Yield"> + 720 ( + <span class="term-tooltip" data-bs-toggle="tooltip" title="Solution Annealed: Heat treated to dissolve alloying elements into a solid solution, followed by cooling."> + Sol. Ann. + </span> + ) - 1170-1310 (H900) + </td> + <td data-label="Tensile"> + 1000 (Sol. Ann.) - 1310-1450 (H900) + </td> + <td data-label="Modulus"> + 196 + </td> + <td data-label="Density"> + 7.81 + </td> + <td data-label="Hardness"> + ~35 HRC (Sol. Ann.), 38-45 HRC (H900) + </td> + <td class="cost-tier cost-tier-4" data-label="Cost Tier"> + $$$$ + </td> + <td> + <button aria-controls="details-174ph" aria-expanded="false" class="btn btn-sm btn-outline-secondary details-toggle" data-bs-target="#details-174ph" data-bs-toggle="collapse" type="button"> + Info + <i class="bi bi-chevron-down"> + </i> + </button> + <div class="collapse collapse-content" id="details-174ph"> + <h6> + Key Performance: + </h6> + <ul> + <li> + <span class="term"> + Corrosion Resistance + </span> + : Good, comparable to 304 in many media, but can vary with heat treat condition. Better than hardenable + <span class="term-tooltip" data-bs-toggle="tooltip" title="A hard, brittle phase in steel formed by rapid cooling (quenching) of austenite."> + martensitic + </span> + grades (e.g., 410). + </li> + <li> + <span class="term"> + Thermal Conductivity + </span> + : 17.9 W/m·K (at 100°C for H900). + </li> + <li> + <span class="term"> + Machinability + </span> + : Fair in annealed (Condition A) state, more difficult when aged/hardened. + </li> + <li> + <span class="term"> + Weldability + </span> + : Good, usually welded in solution annealed condition, then aged. Pre-heating generally not required for thin sections. + </li> + <li> + <span class="term"> + High Strength & Hardness: + </span> + Achieved through relatively simple, low-temperature + <span class="term-tooltip" data-bs-toggle="tooltip" title="A heat treatment process that induces precipitation of fine particles to increase strength and hardness."> + aging + </span> + treatment. + </li> + </ul> + <h6> + Primary Applications: + </h6> + <p> + Aerospace fasteners and structural components, valve components, pump shafts, gears, food processing equipment, nuclear reactor components. + </p> + <h6> + Critical Limitations: + </h6> + <p> + Loses toughness below approx. -30°C to -40°C in some heat treat conditions (e.g., H900). Optimum corrosion resistance achieved after aging. Not suitable for very high temperature service (strength drops above ~315°C / 600°F). + </p> + <h6> + Processing: + </h6> + <p> + Hardenable by precipitation aging heat treatment. Supplied in solution annealed (Condition A). Various aging treatments (e.g., H900, H1025, H1075, H1150) yield different balances of strength, toughness, and corrosion resistance. + </p> + </div> + </td> + </tr> + </tbody> + </table> + </div> + </section> + <!-- Aluminum Alloys Section --> + <section data-section-id="aluminum-alloys" id="aluminum-alloys"> + <h2 class="section-title"> + <i class="bi bi-feather"> + </i> + Aluminum Alloys + </h2> + <div class="table-responsive"> + <table class="table table-bordered table-hover metal-table"> + <thead> + <tr> + <th> + Material + </th> + <th> + Common Equivalents + </th> + <th> + Typical Forms + </th> + <th> + Yield (MPa) + </th> + <th> + Tensile (MPa) + </th> + <th> + Modulus (GPa) + </th> + <th> + Density (g/cm³) + </th> + <th> + Hardness (HB) + </th> + <th> + Cost Tier + </th> + <th> + Details + </th> + </tr> + </thead> + <tbody> + <tr> + <td data-label="Material"> + 6061-T6 + </td> + <td data-label="Equivalents"> + UNS A96061, ISO AlMg1SiCu + </td> + <td data-label="Forms"> + Sheet, Plate, Bar, Rod, Tube, Pipe, Extrusion, Wire, Forging + </td> + <td data-label="Yield"> + 276 + </td> + <td data-label="Tensile"> + 310 + </td> + <td data-label="Modulus"> + 68.9 + </td> + <td data-label="Density"> + 2.70 + </td> + <td data-label="Hardness"> + 95 + </td> + <td class="cost-tier cost-tier-2" data-label="Cost Tier"> + $$ + </td> + <td> + <button aria-controls="details-6061t6" aria-expanded="false" class="btn btn-sm btn-outline-secondary details-toggle" data-bs-target="#details-6061t6" data-bs-toggle="collapse" type="button"> + Info + <i class="bi bi-chevron-down"> + </i> + </button> + <div class="collapse collapse-content" id="details-6061t6"> + <h6> + Key Performance: + </h6> + <ul> + <li> + <span class="term"> + Corrosion Resistance + </span> + : Excellent. + </li> + <li> + <span class="term"> + Thermal Conductivity + </span> + : 167 W/m·K (Good). + </li> + <li> + <span class="term"> + Electrical Conductivity + </span> + : ~43% IACS. + </li> + <li> + <span class="term"> + Machinability + </span> + : Good in T6 temper. + </li> + <li> + <span class="term"> + Weldability + </span> + : Good (strength reduction in + <span class="term-tooltip" data-bs-toggle="tooltip" title="Heat Affected Zone: The area of base material, not melted during welding, but whose microstructure and properties were altered by the heat."> + HAZ + </span> + , often requires re-aging or used as-welded with lower strength). + </li> + <li> + <span class="term"> + Formability: + </span> + Good in annealed (O) condition, fair in T4, limited in T6. + </li> + </ul> + <h6> + Primary Applications: + </h6> + <p> + Structural extrusions (window frames, architectural components), bicycle frames, automotive components (chassis parts, suspension), marine applications (small boats, fittings), piping, scuba tanks. + </p> + <h6> + Critical Limitations: + </h6> + <p> + Strength significantly reduced in weld zones unless post-weld heat treated (re-solutionize and age). Lower strength than 2xxx or 7xxx series. Not ideal for high + <span class="term-tooltip" data-bs-toggle="tooltip" title="Ability of a material to withstand repeated loading cycles without failure."> + fatigue + </span> + applications without careful design. + </p> + <h6> + Processing: + </h6> + <p> + Age-hardenable (Mg₂Si precipitates). Excellent formability in annealed (O) condition. Easily extruded into complex shapes. T6 temper involves + <span class="term-tooltip" data-bs-toggle="tooltip" title="Heating an alloy to dissolve alloying elements into a solid solution, followed by rapid cooling."> + solution heat treating + </span> + and artificial aging. + </p> + </div> + </td> + </tr> + <tr> + <td data-label="Material"> + 7075-T6 + </td> + <td data-label="Equivalents"> + UNS A97075, ISO AlZn5.5MgCu + </td> + <td data-label="Forms"> + Sheet, Plate, Bar, Rod, Extrusion, Forging + </td> + <td data-label="Yield"> + 503 + </td> + <td data-label="Tensile"> + 572 + </td> + <td data-label="Modulus"> + 71.7 + </td> + <td data-label="Density"> + 2.81 + </td> + <td data-label="Hardness"> + 150 + </td> + <td class="cost-tier cost-tier-3" data-label="Cost Tier"> + $$$ + </td> + <td> + <button aria-controls="details-7075t6" aria-expanded="false" class="btn btn-sm btn-outline-secondary details-toggle" data-bs-target="#details-7075t6" data-bs-toggle="collapse" type="button"> + Info + <i class="bi bi-chevron-down"> + </i> + </button> + <div class="collapse collapse-content" id="details-7075t6"> + <h6> + Key Performance: + </h6> + <ul> + <li> + <span class="term"> + Corrosion Resistance + </span> + : Poor, especially to Stress Corrosion Cracking (SCC) in T6 temper. Requires coating/anodizing for most applications. T73/T76 tempers improve SCC resistance but reduce strength. + </li> + <li> + <span class="term"> + Thermal Conductivity + </span> + : 130 W/m·K. + </li> + <li> + <span class="term"> + Machinability + </span> + : Fair to good in T6 condition, produces small chips. + </li> + <li> + <span class="term"> + Weldability + </span> + : Poor (prone to + <span class="term-tooltip" data-bs-toggle="tooltip" title="Cracking that occurs in the weld metal or heat-affected zone during solidification or shortly after."> + hot cracking + </span> + ), generally not recommended for fusion welding. Resistance welding is possible but limited. + </li> + <li> + <span class="term"> + Strength-to-Weight Ratio: + </span> + Excellent. + </li> + </ul> + <h6> + Primary Applications: + </h6> + <p> + Aircraft structures (wing spars, fuselage frames), high-performance automotive components (connecting rods, gears), climbing gear, bicycle components, missile parts, firearm receivers. + </p> + <h6> + Critical Limitations: + </h6> + <p> + High susceptibility to SCC in T6 temper, especially in marine/humid environments. Strength degrades significantly above ~120-150°C sustained temperature. Poor weldability limits fabrication options. + </p> + <h6> + Processing: + </h6> + <p> + Age-hardenable (Zn, Mg, Cu precipitates). Limited formability in T6 condition; best formed in annealed (O) or W (solution treated) temper then aged. + <span class="term-tooltip" data-bs-toggle="tooltip" title="A heat treatment involving aging beyond peak hardness to improve other properties like toughness or SCC resistance."> + Overaging + </span> + tempers (e.g., T73, T76) improve SCC resistance but reduce peak strength. + </p> + </div> + </td> + </tr> + <tr> + <td data-label="Material"> + 2024-T3/T4 + </td> + <td data-label="Equivalents"> + UNS A92024, ISO AlCu4Mg1 + </td> + <td data-label="Forms"> + Sheet, Plate, Bar, Rod, Extrusion, Wire + </td> + <td data-label="Yield"> + 324-345 (T3/T4) + </td> + <td data-label="Tensile"> + 469-483 (T3/T4) + </td> + <td data-label="Modulus"> + 73.1 + </td> + <td data-label="Density"> + 2.78 + </td> + <td data-label="Hardness"> + 120 + </td> + <td class="cost-tier cost-tier-3" data-label="Cost Tier"> + $$$ + </td> + <td> + <button aria-controls="details-2024t3" aria-expanded="false" class="btn btn-sm btn-outline-secondary details-toggle" data-bs-target="#details-2024t3" data-bs-toggle="collapse" type="button"> + Info + <i class="bi bi-chevron-down"> + </i> + </button> + <div class="collapse collapse-content" id="details-2024t3"> + <h6> + Key Performance: + </h6> + <ul> + <li> + <span class="term"> + Corrosion Resistance + </span> + : Poor, requires coating/cladding (e.g., Alclad 2024 where a thin layer of pure aluminum is bonded to the surface) or anodizing for protection. + </li> + <li> + <span class="term"> + Thermal Conductivity + </span> + : 121 W/m·K (T351). + </li> + <li> + <span class="term"> + Machinability + </span> + : Good, especially in T3/T4 tempers. + </li> + <li> + <span class="term"> + Weldability + </span> + : Poor (prone to hot cracking and reduced mechanical properties), not generally recommended for fusion welding. Resistance welding is possible. + </li> + <li> + <span class="term"> + Fatigue Resistance: + </span> + Good, a key reason for its aerospace use. + </li> + </ul> + <h6> + Primary Applications: + </h6> + <p> + Aircraft fuselage and wing structures (skins, tension members), rivets, truck wheels, structural components requiring good fatigue resistance. + </p> + <h6> + Critical Limitations: + </h6> + <p> + Susceptible to SCC, especially in older tempers or when improperly heat treated. + <span class="term-tooltip" data-bs-toggle="tooltip" title="Measure of how sensitive a material is to notches or geometric discontinuities, affecting fatigue life."> + Fatigue notch sensitivity + </span> + requires careful design. Strength degrades significantly above ~120-150°C. + </p> + <h6> + Processing: + </h6> + <p> + Age-hardenable (Cu, Mg precipitates). Good formability in annealed (O) condition, fair in T3/T4 (T3 is solution heat treated, cold worked, and naturally aged; T4 is solution heat treated and naturally aged). Natural aging occurs at room temperature after solution treatment. + </p> + </div> + </td> + </tr> + </tbody> + </table> + </div> + </section> + <!-- Titanium Alloys Section --> + <section data-section-id="titanium-alloys" id="titanium-alloys"> + <h2 class="section-title"> + <i class="bi bi-airplane-engines"> + </i> + Titanium Alloys + </h2> + <div class="table-responsive"> + <table class="table table-bordered table-hover metal-table"> + <thead> + <tr> + <th> + Material + </th> + <th> + Common Equivalents + </th> + <th> + Typical Forms + </th> + <th> + Yield (MPa) + </th> + <th> + Tensile (MPa) + </th> + <th> + Modulus (GPa) + </th> + <th> + Density (g/cm³) + </th> + <th> + Hardness (HRC) + </th> + <th> + Cost Tier + </th> + <th> + Details + </th> + </tr> + </thead> + <tbody> + <tr> + <td data-label="Material"> + Ti-6Al-4V (Grade 5) + </td> + <td data-label="Equivalents"> + UNS R56400, ASTM B265/B348/B381, EN 3.7164/3.7165 + </td> + <td data-label="Forms"> + Bar, Rod, Sheet, Plate, Wire, Forging, Tube, Billet + </td> + <td data-label="Yield"> + 830-950 (Annealed) + </td> + <td data-label="Tensile"> + 900-1020 (Annealed) + </td> + <td data-label="Modulus"> + 110-114 + </td> + <td data-label="Density"> + 4.43 + </td> + <td data-label="Hardness"> + ~36 (Annealed) + </td> + <td class="cost-tier cost-tier-5" data-label="Cost Tier"> + $$$$$ + </td> + <td> + <button aria-controls="details-ti64" aria-expanded="false" class="btn btn-sm btn-outline-secondary details-toggle" data-bs-target="#details-ti64" data-bs-toggle="collapse" type="button"> + Info + <i class="bi bi-chevron-down"> + </i> + </button> + <div class="collapse collapse-content" id="details-ti64"> + <h6> + Key Performance: + </h6> + <ul> + <li> + <span class="term"> + Corrosion Resistance + </span> + : Exceptional in many environments (seawater, chlorides, oxidizing acids) due to stable passive oxide layer. + </li> + <li> + <span class="term"> + Thermal Conductivity + </span> + : 6.7 W/m·K (Very Low). + </li> + <li> + <span class="term"> + Electrical Conductivity + </span> + : ~1% IACS (Very Low). + </li> + <li> + <span class="term"> + Machinability + </span> + : Difficult ( + <span class="term-tooltip" data-bs-toggle="tooltip" title="A type of wear caused by adhesion between sliding surfaces, common when machining sticky materials."> + galling + </span> + , work hardening, low thermal conductivity). Requires rigid setups, sharp tools (carbide or ceramic), slow speeds, high feed rates, copious specialized coolant. + </li> + <li> + <span class="term"> + Weldability + </span> + : Good with proper inert gas shielding (argon or helium) to prevent oxygen/nitrogen contamination. Post-weld stress relief often needed. + </li> + <li> + <span class="term"> + Strength-to-Weight Ratio + </span> + : Excellent, retains strength at moderately elevated temperatures (up to ~300-400°C). + </li> + </ul> + <h6> + Primary Applications: + </h6> + <p> + Jet engine components (blades, discs, casings), aerospace fasteners and structures (airframes), medical implants (hips, knees, dental), high-performance sports equipment, marine hardware, chemical processing equipment. + </p> + <h6> + Critical Limitations: + </h6> + <p> + Hydrogen embrittlement potential above ~200-300°C or from certain chemical exposures/processing. Galvanic corrosion issues when coupled with less noble metals (e.g., aluminum, steel) without isolation. High material and processing cost. Poor wear resistance without surface treatment. + </p> + <h6> + Processing: + </h6> + <p> + Heat treatable (solution treatment and aging - STA - can significantly increase strength). Requires inert atmosphere for welding and some heat treatments above ~500°C. Difficult to cast due to high reactivity. Forging and forming require careful temperature control. + </p> + </div> + </td> + </tr> + <tr> + <td data-label="Material"> + CP Titanium Gr2 (Commercially Pure) + </td> + <td data-label="Equivalents"> + UNS R50400, ASTM B265/B348, EN 3.7035 + </td> + <td data-label="Forms"> + Sheet, Plate, Bar, Rod, Tube, Pipe, Wire, Billet + </td> + <td data-label="Yield"> + 275-450 + </td> + <td data-label="Tensile"> + 345-550 + </td> + <td data-label="Modulus"> + 103 + </td> + <td data-label="Density"> + 4.51 + </td> + <td data-label="Hardness"> + ~82 HRB (~20 HRC equiv.) + </td> + <td class="cost-tier cost-tier-4" data-label="Cost Tier"> + $$$$ + </td> + <td> + <button aria-controls="details-cpti" aria-expanded="false" class="btn btn-sm btn-outline-secondary details-toggle" data-bs-target="#details-cpti" data-bs-toggle="collapse" type="button"> + Info + <i class="bi bi-chevron-down"> + </i> + </button> + <div class="collapse collapse-content" id="details-cpti"> + <h6> + Key Performance: + </h6> + <ul> + <li> + <span class="term"> + Corrosion Resistance + </span> + : Exceptional, especially in oxidizing media, chlorides, and seawater. Often better than Ti-6Al-4V in highly reducing environments. + </li> + <li> + <span class="term"> + Thermal Conductivity + </span> + : 16 W/m·K (Low, but better than Ti-6Al-4V). + </li> + <li> + <span class="term"> + Machinability + </span> + : Fair (better than Ti-6Al-4V but still challenging due to galling and work hardening). + </li> + <li> + <span class="term"> + Weldability + </span> + : Excellent with inert gas shielding. + </li> + <li> + <span class="term"> + Formability + </span> + : Good, best among titanium grades, especially at slightly elevated temperatures. + </li> + <li> + <span class="term" data-bs-toggle="tooltip" title="The property of a material being compatible with living tissue or a living system by not being toxic, injurious, or physiologically reactive and not causing immunological rejection."> + Biocompatibility: + </span> + Excellent. + </li> + </ul> + <h6> + Primary Applications: + </h6> + <p> + Chemical processing equipment (heat exchangers, tanks, piping), marine hardware, desalination plants, biomedical devices (surgical instruments, some implants), airframe components (low stress, e.g., ducting), architectural applications. + </p> + <h6> + Critical Limitations: + </h6> + <p> + Lower strength than alloys like Ti-6Al-4V. Susceptible to + <span class="term-tooltip" data-bs-toggle="tooltip" title="Localized corrosion occurring in narrow gaps or crevices between metal surfaces or between metal and non-metal surfaces."> + crevice corrosion + </span> + in some reducing acids without palladium addition (Gr 7/11). Risk of ignition in pure, high-pressure oxygen environments. Strength drops significantly above ~300°C. + </p> + <h6> + Processing: + </h6> + <p> + Not heat treatable for strength. Properties primarily controlled by cold work and annealing. Readily welded and formed. Stress relief annealing may be needed after significant cold work. + </p> + </div> + </td> + </tr> + </tbody> + </table> + </div> + </section> + <!-- Copper Alloys Section --> + <section data-section-id="copper-alloys" id="copper-alloys"> + <h2 class="section-title"> + <i class="bi bi-lightning-charge-fill"> + </i> + Copper Alloys + </h2> + <div class="table-responsive"> + <table class="table table-bordered table-hover metal-table"> + <thead> + <tr> + <th> + Material + </th> + <th> + Common Equivalents + </th> + <th> + Typical Forms + </th> + <th> + Yield (MPa) + </th> + <th> + Tensile (MPa) + </th> + <th> + Modulus (GPa) + </th> + <th> + Density (g/cm³) + </th> + <th> + Hardness (HB) + </th> + <th> + Cost Tier + </th> + <th> + Details + </th> + </tr> + </thead> + <tbody> + <tr> + <td data-label="Material"> + C11000 ETP Copper (Electrolytic Tough Pitch) + </td> + <td data-label="Equivalents"> + UNS C11000, CW004A (EN) + </td> + <td data-label="Forms"> + Sheet, Strip, Plate, Bar, Rod, Wire, Tube, Busbar + </td> + <td data-label="Yield"> + 69 (Ann) - 365 (Hard) + </td> + <td data-label="Tensile"> + 220 (Ann) - 380 (Hard) + </td> + <td data-label="Modulus"> + 115-117 + </td> + <td data-label="Density"> + 8.94 + </td> + <td data-label="Hardness"> + 40 (Ann) - 110 (Hard) + </td> + <td class="cost-tier cost-tier-3" data-label="Cost Tier"> + $$$ + </td> + <td> + <button aria-controls="details-c110" aria-expanded="false" class="btn btn-sm btn-outline-secondary details-toggle" data-bs-target="#details-c110" data-bs-toggle="collapse" type="button"> + Info + <i class="bi bi-chevron-down"> + </i> + </button> + <div class="collapse collapse-content" id="details-c110"> + <h6> + Key Performance: + </h6> + <ul> + <li> + <span class="term"> + Electrical Conductivity + </span> + : 100-101% IACS (Excellent). Base for conductivity ratings. + </li> + <li> + <span class="term"> + Thermal Conductivity + </span> + : 388-391 W/m·K (Excellent). + </li> + <li> + <span class="term"> + Corrosion Resistance + </span> + : Good atmospheric and water corrosion resistance. Tarnishes in sulfurous atmospheres. + </li> + <li> + <span class="term"> + Machinability + </span> + : Poor (gummy, long chips). + </li> + <li> + <span class="term"> + Weldability + </span> + : Fair (brazing/soldering preferred). Susceptible to cracking with some fusion welding processes. + </li> + <li> + <span class="term"> + Antimicrobial + </span> + : Natural + <span class="term-tooltip" data-bs-toggle="tooltip" title="Capable of destroying or inhibiting the growth of microorganisms."> + biocidal + </span> + properties. + </li> + </ul> + <h6> + Primary Applications: + </h6> + <p> + Electrical conductors (wires, busbars, contacts), heat exchangers (radiators, condensers), plumbing tubes, gaskets, roofing sheet. + </p> + <h6> + Critical Limitations: + </h6> + <p> + Susceptible to hydrogen embrittlement if heated in a reducing atmosphere above ~370°C (use OFHC C10100/C10200 - Oxygen-Free High Conductivity - to avoid this). Poor strength at elevated temperatures (>200°C). Low wear resistance. + </p> + <h6> + Processing: + </h6> + <p> + Strength increased by cold work. Excellent ductility and formability. Easily joined by soldering/brazing. Annealing softens and restores ductility. + </p> + </div> + </td> + </tr> + <tr> + <td data-label="Material"> + C36000 Free-Cutting Brass (Cu-Zn-Pb) + </td> + <td data-label="Equivalents"> + UNS C36000, CZ121 (BS) + </td> + <td data-label="Forms"> + Rod, Bar, Shapes (limited) + </td> + <td data-label="Yield"> + 124 (Ann) - 310 (Hard Drawn) + </td> + <td data-label="Tensile"> + 338 (Ann) - 470 (Hard Drawn) + </td> + <td data-label="Modulus"> + 97 + </td> + <td data-label="Density"> + 8.50 + </td> + <td data-label="Hardness"> + 65 (Ann) - 120 (Hard Drawn) + </td> + <td class="cost-tier cost-tier-3" data-label="Cost Tier"> + $$$ + </td> + <td> + <button aria-controls="details-c360" aria-expanded="false" class="btn btn-sm btn-outline-secondary details-toggle" data-bs-target="#details-c360" data-bs-toggle="collapse" type="button"> + Info + <i class="bi bi-chevron-down"> + </i> + </button> + <div class="collapse collapse-content" id="details-c360"> + <h6> + Key Performance: + </h6> + <ul> + <li> + <span class="term"> + Electrical Conductivity + </span> + : ~26% IACS. + </li> + <li> + <span class="term"> + Thermal Conductivity + </span> + : 115 W/m·K. + </li> + <li> + <span class="term"> + Corrosion Resistance + </span> + : Good, but susceptible to + <span class="term-tooltip" data-bs-toggle="tooltip" title="Selective leaching of zinc from brass alloys, leaving a porous copper-rich residue."> + dezincification + </span> + in acidic or high-chloride water. Stress corrosion cracking (SCC) in ammonia. + </li> + <li> + <span class="term"> + Machinability + </span> + : Excellent (standard for 100% machinability rating due to lead content forming small chips). + </li> + <li> + <span class="term"> + Weldability + </span> + : Fair (brazing/soldering good). Fusion welding is difficult due to lead. + </li> + </ul> + <h6> + Primary Applications: + </h6> + <p> + Precision machined parts (screws, nuts, bolts), fittings (plumbing, pneumatic), valve components, gears, architectural hardware, musical instrument parts. + </p> + <h6> + Critical Limitations: + </h6> + <p> + Dezincification in corrosive water. Susceptible to SCC in ammonia environments. Poor cold formability due to lead content. Lead content raises environmental/health concerns in some applications. + </p> + <h6> + Processing: + </h6> + <p> + Lead addition (~2.5-3.7%) provides excellent machinability. Primarily used for hot forming or machining from rod/bar stock. Limited cold workability. + </p> + </div> + </td> + </tr> + <tr> + <td data-label="Material"> + C63000 Nickel-Aluminum Bronze (Cu-Al-Ni-Fe) + </td> + <td data-label="Equivalents"> + UNS C63000, AMS 4640, ASTM B150 + </td> + <td data-label="Forms"> + Rod, Bar, Tube, Forging, Casting, Plate (limited) + </td> + <td data-label="Yield"> + 380-550 (As cast/extruded, depends on HT) + </td> + <td data-label="Tensile"> + 690-820 (As cast/extruded, depends on HT) + </td> + <td data-label="Modulus"> + 117-121 + </td> + <td data-label="Density"> + 7.53-7.58 + </td> + <td data-label="Hardness"> + 170-230 (As cast/extruded) + </td> + <td class="cost-tier cost-tier-4" data-label="Cost Tier"> + $$$$ + </td> + <td> + <button aria-controls="details-c630" aria-expanded="false" class="btn btn-sm btn-outline-secondary details-toggle" data-bs-target="#details-c630" data-bs-toggle="collapse" type="button"> + Info + <i class="bi bi-chevron-down"> + </i> + </button> + <div class="collapse collapse-content" id="details-c630"> + <h6> + Key Performance: + </h6> + <ul> + <li> + <span class="term"> + Electrical Conductivity + </span> + : ~7-13% IACS. + </li> + <li> + <span class="term"> + Thermal Conductivity + </span> + : 38-59 W/m·K. + </li> + <li> + <span class="term"> + Corrosion Resistance + </span> + : Excellent in seawater, brackish water, and many industrial environments; good anti-fouling and resistance to + <span class="term-tooltip" data-bs-toggle="tooltip" title="Formation of vapor bubbles in a flowing liquid in a region where the pressure of the liquid falls below its vapor pressure, and the sudden collapse of these bubbles."> + cavitation + </span> + /erosion. + </li> + <li> + <span class="term"> + Machinability + </span> + : Fair to good (produces tough, stringy chips). + </li> + <li> + <span class="term"> + Weldability + </span> + : Good with appropriate consumables and procedures (e.g., GTAW, GMAW). Post-weld heat treatment may be needed. + </li> + <li> + <span class="term"> + Wear Resistance & Strength: + </span> + Good, especially at moderately elevated temperatures. Non-sparking. + </li> + </ul> + <h6> + Primary Applications: + </h6> + <p> + Marine propellers, pump impellers and bodies, valve seats and stems, bearings, gears, heavy-duty bushings, non-sparking tools, components for offshore platforms. + </p> + <h6> + Critical Limitations: + </h6> + <p> + Can be susceptible to + <span class="term-tooltip" data-bs-toggle="tooltip" title="Selective leaching of aluminum from aluminum bronzes in certain corrosive environments."> + dealuminification + </span> + (selective leaching of aluminum) in some aggressive acidic or high-chloride environments if not properly heat treated or if a less resistant composition is used. Higher cost than common brasses/bronzes. + </p> + <h6> + Processing: + </h6> + <p> + Heat treatable (quenching and tempering can optimize properties). Available in cast and wrought forms (e.g., extrusions, forgings). Good hot workability. + </p> + </div> + </td> + </tr> + </tbody> + </table> + </div> + </section> + <!-- Tool Steels Section --> + <section data-section-id="tool-steels" id="tool-steels"> + <h2 class="section-title"> + <i class="bi bi-gem"> + </i> + Tool Steels + </h2> + <div class="table-responsive"> + <table class="table table-bordered table-hover metal-table"> + <thead> + <tr> + <th> + Material + </th> + <th> + Common Equivalents + </th> + <th> + Typical Forms + </th> + <th> + Typical Hardness (HRC) + </th> + <th> + Key Performance Chars. + </th> + <th> + Cost Tier + </th> + <th> + Details + </th> + </tr> + </thead> + <tbody> + <tr> + <td data-label="Material"> + O1 (Oil Hardening) + </td> + <td data-label="Equivalents"> + UNS T31501, AISI O1, BS BO1, JIS SKS3 + </td> + <td data-label="Forms"> + Bar, Rod, Ground Flat Stock, Drill Rod + </td> + <td data-label="Hardness"> + 57-62 + </td> + <td data-label="Performance"> + Good wear resistance, fair toughness, good machinability (annealed), fair dimensional stability in HT. + </td> + <td class="cost-tier cost-tier-3" data-label="Cost Tier"> + $$$ + </td> + <td> + <button aria-controls="details-o1" aria-expanded="false" class="btn btn-sm btn-outline-secondary details-toggle" data-bs-target="#details-o1" data-bs-toggle="collapse" type="button"> + Info + <i class="bi bi-chevron-down"> + </i> + </button> + <div class="collapse collapse-content" id="details-o1"> + <h6> + Primary Applications: + </h6> + <p> + Cutting tools (short run taps, drills, reamers), gauges, blanking and forming dies for simpler shapes and lower volumes, woodworking tools. + </p> + <h6> + Critical Limitations: + </h6> + <p> + Requires oil quench which can lead to higher distortion than air hardening grades. Lower wear resistance than A2/D2. Limited toughness at maximum hardness. Max service temp ~150-200°C. + </p> + <h6> + Processing Considerations: + </h6> + <p> + Oil hardening group. Requires precise temperature control in heat treatment (austenitizing, quenching, tempering). Tempering critical for achieving desired toughness/hardness balance. Anneal for machinability. + </p> + </div> + </td> + </tr> + <tr> + <td data-label="Material"> + A2 (Air Hardening) + </td> + <td data-label="Equivalents"> + UNS T30102, AISI A2, BS BA2, JIS SKD12 (approx.) + </td> + <td data-label="Forms"> + Bar, Rod, Ground Flat Stock, Plate + </td> + <td data-label="Hardness"> + 58-62 + </td> + <td data-label="Performance"> + Very good wear resistance, good toughness (better balance than O1), fair machinability (annealed), good dimensional stability in HT. + </td> + <td class="cost-tier cost-tier-4" data-label="Cost Tier"> + $$$$ + </td> + <td> + <button aria-controls="details-a2" aria-expanded="false" class="btn btn-sm btn-outline-secondary details-toggle" data-bs-target="#details-a2" data-bs-toggle="collapse" type="button"> + Info + <i class="bi bi-chevron-down"> + </i> + </button> + <div class="collapse collapse-content" id="details-a2"> + <h6> + Primary Applications: + </h6> + <p> + Punches and dies (medium to high volume stamping/forming), shear blades, stamping tools for complex shapes, coining dies, long-lasting cutting tools. + </p> + <h6> + Critical Limitations: + </h6> + <p> + Lower wear resistance than D2. Requires higher austenitizing temperatures than O1. Can be more challenging to grind than O1. Max service temp ~200-250°C. + </p> + <h6> + Processing Considerations: + </h6> + <p> + Air hardening group provides less distortion than oil hardening. Requires careful heat treatment. Multiple tempers often used to optimize toughness. Surface treatments (nitriding, + <span class="term-tooltip" data-bs-toggle="tooltip" title="Physical Vapor Deposition: A coating process to deposit thin films."> + PVD + </span> + ) can further enhance wear resistance. + </p> + </div> + </td> + </tr> + <tr> + <td data-label="Material"> + D2 (High C, High Cr Cold Work) + </td> + <td data-label="Equivalents"> + UNS T30402, AISI D2, BS BD2, JIS SKD11, EN X153CrMoV12 (1.2379) + </td> + <td data-label="Forms"> + Bar, Rod, Ground Flat Stock, Plate + </td> + <td data-label="Hardness"> + 58-62 (can reach 64) + </td> + <td data-label="Performance"> + Excellent wear resistance (highest among common cold work tool steels), fair to moderate toughness, poor machinability (annealed), good dimensional stability in HT. Some corrosion resistance. + </td> + <td class="cost-tier cost-tier-4" data-label="Cost Tier"> + $$$$ + </td> + <td> + <button aria-controls="details-d2" aria-expanded="false" class="btn btn-sm btn-outline-secondary details-toggle" data-bs-target="#details-d2" data-bs-toggle="collapse" type="button"> + Info + <i class="bi bi-chevron-down"> + </i> + </button> + <div class="collapse collapse-content" id="details-d2"> + <h6> + Primary Applications: + </h6> + <p> + High-volume blanking and forming dies, slitting cutters, thread rolling dies, long-run stamping tools, punches, wear parts, knives requiring high edge retention. + </p> + <h6> + Critical Limitations: + </h6> + <p> + Relatively brittle compared to A2 or O1, especially if not properly heat treated (requires higher austenitizing temps and careful tempering). Difficult to grind and machine. Susceptible to chipping in shock applications. Max service temp ~200-300°C. + </p> + <h6> + Processing Considerations: + </h6> + <p> + Air hardening, can also be oil quenched in some sections but air preferred for stability. Requires careful grinding post-HT using appropriate wheels. Multiple tempers often required. + <span class="term-tooltip" data-bs-toggle="tooltip" title="Cooling to very low (cryogenic) temperatures to improve wear resistance and dimensional stability."> + Cryogenic treatment + </span> + can improve wear resistance and dimensional stability. + </p> + </div> + </td> + </tr> + </tbody> + </table> + </div> + </section> + <!-- Superalloys Section --> + <section data-section-id="superalloys" id="superalloys"> + <h2 class="section-title"> + <i class="bi bi-fire"> + </i> + Superalloys (High-Performance Alloys) + </h2> + <div class="table-responsive"> + <table class="table table-bordered table-hover metal-table"> + <thead> + <tr> + <th> + Material + </th> + <th> + Common Equivalents + </th> + <th> + Typical Forms + </th> + <th> + Yield (MPa) at RT + </th> + <th> + Tensile (MPa) at RT + </th> + <th> + Density (g/cm³) + </th> + <th> + Max Recommended Service Temp (°C) + </th> + <th> + Cost Tier + </th> + <th> + Details + </th> + </tr> + </thead> + <tbody> + <tr> + <td data-label="Material"> + Inconel 718 (Ni-based) + </td> + <td data-label="Equivalents"> + UNS N07718, AMS 5596/5662, EN NiCr19Fe19NbMo3 (2.4668) + </td> + <td data-label="Forms"> + Bar, Rod, Sheet, Plate, Wire, Forging, Tube, Casting, Powder + </td> + <td data-label="Yield"> + ~1035-1240 (Aged) + </td> + <td data-label="Tensile"> + ~1240-1380 (Aged) + </td> + <td data-label="Density"> + 8.19 + </td> + <td data-label="Service Temp"> + ~650-700 (for high stress) + </td> + <td class="cost-tier cost-tier-6" data-label="Cost Tier"> + $$$$$$ + </td> + <td> + <button aria-controls="details-inco718" aria-expanded="false" class="btn btn-sm btn-outline-secondary details-toggle" data-bs-target="#details-inco718" data-bs-toggle="collapse" type="button"> + Info + <i class="bi bi-chevron-down"> + </i> + </button> + <div class="collapse collapse-content" id="details-inco718"> + <h6> + Key Performance: + </h6> + <ul> + <li> + <span class="term"> + High-Temp Strength + </span> + : Excellent creep and + <span class="term-tooltip" data-bs-toggle="tooltip" title="The ability of a material to withstand a constant load at elevated temperature without fracturing over time."> + stress-rupture strength + </span> + up to ~700°C. + </li> + <li> + <span class="term"> + Corrosion Resistance + </span> + : Excellent in many harsh environments, including resistance to oxidation and some acidic conditions. + </li> + <li> + <span class="term"> + Weldability + </span> + : Good for a superalloy, especially resistant to post-weld cracking compared to other precipitation-hardened superalloys. + </li> + <li> + <span class="term"> + Machinability + </span> + : Difficult (high work hardening rate, low thermal conductivity, tough chips). Requires specialized tools, rigid setups, slow speeds. + </li> + </ul> + <h6> + Primary Applications: + </h6> + <p> + Gas turbine engine components (discs, blades, shafts, casings), aerospace fasteners, nuclear reactor components, rocket motors, cryogenic tankage, turbocharger rotors, chemical processing equipment. + </p> + <h6> + Critical Limitations: + </h6> + <p> + Extremely difficult to machine. Requires specialized processing (vacuum induction melting, + <span class="term-tooltip" data-bs-toggle="tooltip" title="A secondary melting process for refining metals and alloys."> + electroslag remelting + </span> + , controlled forging). Susceptible to + <span class="term-tooltip" data-bs-toggle="tooltip" title="Cracking that occurs during post-weld heat treatment due to precipitation and stress relaxation."> + strain-age cracking + </span> + during post-weld heat treatment if not properly managed. High cost. + </p> + <h6> + Processing: + </h6> + <p> + Precipitation hardenable (primarily by γ'' - Ni₃Nb). Typically solution treated and aged. Welding requires specific procedures (e.g., TIG, + <span class="term-tooltip" data-bs-toggle="tooltip" title="Electron Beam Welding: A fusion welding process."> + EBW + </span> + ) and often post-weld heat treatment. Forging requires tight temperature control. + </p> + </div> + </td> + </tr> + <tr> + <td data-label="Material"> + Hastelloy X (Ni-Cr-Fe-Mo) + </td> + <td data-label="Equivalents"> + UNS N06002, AMS 5754, EN NiCr22Fe18Mo (2.4665) + </td> + <td data-label="Forms"> + Sheet, Plate, Bar, Wire, Forging, Tube, Pipe + </td> + <td data-label="Yield"> + ~240-365 (Solution Annealed) + </td> + <td data-label="Tensile"> + ~655-785 (Solution Annealed) + </td> + <td data-label="Density"> + 8.22 + </td> + <td data-label="Service Temp"> + Up to ~1000-1200 (for oxidation resistance, lower for significant stress) + </td> + <td class="cost-tier cost-tier-7" data-label="Cost Tier"> + $$$$$$$ + </td> + <td> + <button aria-controls="details-hastx" aria-expanded="false" class="btn btn-sm btn-outline-secondary details-toggle" data-bs-target="#details-hastx" data-bs-toggle="collapse" type="button"> + Info + <i class="bi bi-chevron-down"> + </i> + </button> + <div class="collapse collapse-content" id="details-hastx"> + <h6> + Key Performance: + </h6> + <ul> + <li> + <span class="term"> + High-Temp Strength + </span> + : Good, primarily used for its excellent oxidation resistance rather than highest strength. Retains ductility after prolonged high-temp exposure. + </li> + <li> + <span class="term"> + Oxidation Resistance + </span> + : Outstanding up to ~1200°C due to formation of a protective oxide scale. Good resistance to + <span class="term-tooltip" data-bs-toggle="tooltip" title="Diffusion of carbon into a material, often at high temperatures."> + carburization + </span> + and + <span class="term-tooltip" data-bs-toggle="tooltip" title="Diffusion of nitrogen into a material, often for surface hardening."> + nitriding + </span> + . + </li> + <li> + <span class="term"> + Fabricability + </span> + : Good for a superalloy (forming, welding). + </li> + <li> + <span class="term"> + Machinability + </span> + : Difficult, similar challenges to other nickel-based superalloys. + </li> + </ul> + <h6> + Primary Applications: + </h6> + <p> + Gas turbine combustors and afterburner components (cans, ducting, flame holders), industrial furnace parts (muffles, retorts, radiant tubes), chemical process industry components requiring high-temp oxidation resistance and resistance to stress corrosion cracking. + </p> + <h6> + Critical Limitations: + </h6> + <p> + Not as strong as precipitation-hardened superalloys like Inconel 718 at moderate temperatures (below ~700°C). Subject to + <span class="term-tooltip" data-bs-toggle="tooltip" title="Loss of ductility that occurs in some alloys after prolonged exposure to certain temperature ranges."> + aging embrittlement + </span> + (loss of ductility) after long exposures in the 650-900°C range if not carefully considered in design. Very high cost. + </p> + <h6> + Processing: + </h6> + <p> + Solid-solution strengthened (not precipitation hardenable). Typically used in the solution annealed condition. Readily welded (TIG, MIG, resistance) and formed using techniques for Ni-based alloys. Careful cleaning is essential before heating. + </p> + </div> + </td> + </tr> + </tbody> + </table> + </div> + </section> + <!-- Emerging Materials Section --> + <section data-section-id="emerging-materials" id="emerging-materials"> + <h2 class="section-title"> + <i class="bi bi-lightbulb-fill"> + </i> + Emerging Metallic Materials + </h2> + <div class="row"> + <div class="col-md-6 mb-3"> + <div class="card emerging-material-card h-100"> + <div class="card-header"> + <i class="bi bi-car-front-fill"> + </i> + Advanced High-Strength Steels (AHSS) </div> - <div class="accordion-item"> - <h3 class="accordion-header" id="headingPhysicalChemicalProperties"> - <button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapsePhysicalChemicalProperties" aria-expanded="false" aria-controls="collapsePhysicalChemicalProperties"> - Physical & Chemical Properties - </button> - </h3> - <div id="collapsePhysicalChemicalProperties" class="accordion-collapse collapse" aria-labelledby="headingPhysicalChemicalProperties" data-bs-parent="#terminologyAccordion"> - <div class="accordion-body"> - <dl> - <dt>Corrosion Resistance</dt> - <dd>The ability of a material to withstand degradation and chemical breakdown due to reactions with its environment (e.g., oxidation, rusting, pitting). [1, 3]</dd> - <dt>Thermal Conductivity (W/m·K)</dt> - <dd>A measure of a material's ability to conduct or transfer heat. Expressed in Watts per meter-Kelvin (W/m·K). [1, 2]</dd> - <dt>Electrical Conductivity (% IACS or S/m)</dt> - <dd>A measure of how well a material conducts an electric current. Often expressed as a percentage of the International Annealed Copper Standard (% IACS) or in Siemens per meter (S/m). [1, 5]</dd> - <dt>IACS (International Annealed Copper Standard)</dt> - <dd>A standard where the conductivity of annealed copper at 20°C is defined as 100% IACS. Other materials' conductivities are expressed relative to this. [1, 2]</dd> - <dt>Passivation</dt> - <dd>A process of treating or coating a metal to reduce its chemical reactivity. In stainless steels, it involves the formation of a protective, passive oxide layer (typically chromium oxide) on the surface, enhancing corrosion resistance by removing free iron. [1, 2]</dd> - </dl> - </div> - </div> + <div class="card-body"> + <p class="card-text"> + AHSS are complex, sophisticated steels with carefully controlled microstructures (e.g., + <span class="term-tooltip" data-bs-toggle="tooltip" title="A very hard and brittle phase in steel formed by rapid cooling of austenite."> + martensitic + </span> + , + <span class="term-tooltip" data-bs-toggle="tooltip" title="A microstructure in steel consisting of ferrite and cementite, formed at temperatures between pearlite and martensite."> + bainitic + </span> + , + <span class="term-tooltip" data-bs-toggle="tooltip" title="A soft, ductile phase in steel consisting mainly of body-centered cubic (BCC) iron."> + ferritic + </span> + with embedded hard phases like martensite in Dual Phase - DP steels, or retained austenite in TRIP steels). They offer significantly higher strength (typically >550 MPa yield) compared to conventional steels, allowing for weight reduction in components without compromising safety or performance. + </p> + <h6> + Key Characteristics: + </h6> + <ul> + <li> + High strength-to-weight ratio + </li> + <li> + Good formability for their strength level (varies by grade) + </li> + <li> + Improved crashworthiness and energy absorption + </li> + </ul> + <h6> + Primary Applications: + </h6> + <p> + Automotive body structures (pillars, rails, bumpers, door intrusion beams), chassis components, agricultural equipment. + </p> + <h6> + Considerations: + </h6> + <p> + Weldability can be challenging (requires specific procedures), + <span class="term-tooltip" data-bs-toggle="tooltip" title="Elastic recovery of a material after forming, leading to dimensional changes."> + springback + </span> + during forming, higher cost than conventional steels. + </p> </div> - <div class="accordion-item"> - <h3 class="accordion-header" id="headingProcessingMetallurgicalTerms"> - <button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseProcessingMetallurgicalTerms" aria-expanded="false" aria-controls="collapseProcessingMetallurgicalTerms"> - Processing & Metallurgical Terms - </button> - </h3> - <div id="collapseProcessingMetallurgicalTerms" class="accordion-collapse collapse" aria-labelledby="headingProcessingMetallurgicalTerms" data-bs-parent="#terminologyAccordion"> - <div class="accordion-body"> - <dl> - <dt>Machinability</dt> - <dd>The ease with which a metal can be cut or shaped by machining processes, resulting in a good surface finish and tool life. [1, 2]</dd> - <dt>Weldability</dt> - <dd>The ability of a material to be welded under given conditions to form a sound joint that performs satisfactorily in its intended service. [1, 2]</dd> - <dt>Heat Treatment</dt> - <dd>Controlled heating and cooling processes applied to metals to alter their microstructure and, consequently, their physical and mechanical properties (e.g., hardness, strength, ductility). [3, 4]</dd> - <dd><em>Annealing:</em> A heat treatment process that alters a material's microstructure to typically increase its ductility, reduce hardness, and relieve internal stresses, making it more workable. [2, 4]</dd> - <dd><em>Quenching:</em> Rapid cooling of a heated metal, often by immersion in water, oil, or air, to achieve specific microstructures like martensite for increased hardness. [2, 3]</dd> - <dd><em>Tempering:</em> A heat treatment process applied after quenching to reduce brittleness and relieve internal stresses, usually by heating to a temperature below the lower critical temperature, holding, and then cooling. [2, 3]</dd> - <dd><em>Aging (Age Hardening):</em> A heat treatment that induces precipitation of fine particles within a metal's microstructure over time, either at room temperature (natural aging) or elevated temperatures (artificial aging), to increase strength and hardness. See Precipitation Hardening. [3, 5]</dd> - <dd><em>Solution Treatment (Solution Annealing):</em> Heating an alloy to a suitable temperature to dissolve alloying elements into a solid solution, followed by rapid cooling to retain this state. This prepares the material for subsequent aging or other treatments. [2, 5]</dd> - <dd><em>Precipitation Hardening:</em> A strengthening mechanism involving the formation of fine, uniformly dispersed secondary phase particles (precipitates) within the primary phase of a metal alloy during heat treatment (aging). [3, 5]</dd> - <dt>Work Hardening (Strain Hardening)</dt> - <dd>The strengthening of a metal by plastic deformation (e.g., rolling, drawing, bending) at a temperature below its recrystallization point. This increases hardness and strength but usually reduces ductility. [1, 2]</dd> - <dt>Solid Solution Strengthening</dt> - <dd>A strengthening mechanism in metals achieved by adding atoms of one element (solute) to the crystal lattice of another element (solvent), forming a solid solution. The solute atoms distort the lattice, impeding dislocation movement. [1, 2]</dd> - <dt>Interstitial Strengthening</dt> - <dd>A type of solid solution strengthening where small solute atoms (e.g., carbon, nitrogen) occupy the interstitial sites (spaces between solvent atoms) in the crystal lattice, causing significant lattice distortion and impeding dislocation movement. [1, 4]</dd> - <dt>Sensitization (in Stainless Steel)</dt> - <dd>A phenomenon in some stainless steels where chromium carbides precipitate at grain boundaries when exposed to elevated temperatures (approx. 425-815°C). This depletes chromium in adjacent regions, making the steel susceptible to intergranular corrosion. [1, 3]</dd> - <dt>Stress Corrosion Cracking (SCC)</dt> - <dd>The initiation and growth of cracks in a material due to the combined action of tensile stress (applied or residual) and a specific corrosive environment. [1, 2]</dd> - <dt>Galvanic Corrosion (Bimetallic Corrosion)</dt> - <dd>An electrochemical process where one metal corrodes preferentially when in electrical contact with a different metal (the cathode) in the presence of an electrolyte. The more active metal becomes the anode and corrodes. [1, 2]</dd> - <dt>Hydrogen Embrittlement</dt> - <dd>A reduction in the ductility and toughness of a metal due to the absorption and diffusion of atomic hydrogen, which can lead to premature failure under stress. High-strength steels are particularly susceptible. [1, 2]</dd> - <dt>Dezincification</dt> - <dd>A selective leaching corrosion process where zinc is preferentially removed from brass alloys, leaving behind a porous, copper-rich, and weakened structure. [1, 2]</dd> - <dt>Temper Embrittlement</dt> - <dd>A reduction in the toughness of certain steels when tempered or held within a specific temperature range (typically 345-575°C), often due to the segregation of impurity elements to grain boundaries. [1, 2]</dd> - <dt>Phases (e.g., Ferrite, Austenite, Martensite, Bainite)</dt> - <dd>Distinct, homogeneous regions within a material that have a specific crystal structure and composition. Common phases in steel include: - <ul> - <li><em>Ferrite:</em> A body-centered cubic (BCC) iron phase, relatively soft and ductile, magnetic. [1]</li> - <li><em>Austenite:</em> A face-centered cubic (FCC) iron phase, typically stable at high temperatures, non-magnetic, can dissolve more carbon than ferrite.</li> - <li><em>Martensite:</em> A very hard and brittle body-centered tetragonal (BCT) phase formed by rapid cooling (quenching) of austenite. [1, 3]</li> - <li><em>Bainite:</em> A microstructure consisting of ferrite and cementite (iron carbide) that forms at temperatures between those for pearlite and martensite. It offers a combination of strength and toughness. [1, 2]</li> - </ul> - </dd> - <dt>Intermetallic Compound</dt> - <dd>A phase in an alloy system with a distinct chemical formula and crystal structure, formed by two or more metallic elements (and sometimes non-metals) in fixed stoichiometric proportions. Often hard and brittle. [1, 3]</dd> - <dt>Alloying Element & Base Metal</dt> - <dd><em>Base Metal:</em> The primary metal in an alloy (e.g., iron in steel, aluminum in aluminum alloys). [1, 2] <em>Alloying Element:</em> An element intentionally added to a base metal to modify its properties. [1, 2]</dd> - <dt>Configurational Entropy (in HEAs)</dt> - <dd>A measure of the randomness or disorder in the atomic arrangement of an alloy due to the mixing of multiple principal elements. In High Entropy Alloys (HEAs), high configurational entropy is thought to stabilize simple solid solution phases. [1, 5]</dd> - </dl> - </div> - </div> + </div> + </div> + <div class="col-md-6 mb-3"> + <div class="card emerging-material-card h-100"> + <div class="card-header"> + <i class="bi bi-intersect"> + </i> + Metal Matrix Composites (MMCs) </div> - </div> -</section> - - -<div id="metals-data-container"> -<!-- Carbon & Alloy Steels Section --> -<section data-section-id="carbon-alloy-steels" id="carbon-alloy-steels"> -<h2 class="section-title"><i class="bi bi-grid-1x2-fill"></i> Carbon & Alloy Steels</h2> -<div class="table-responsive"> -<table class="table table-bordered table-hover metal-table"> -<thead> -<tr> -<th>Material</th> -<th>Common Equivalents</th> -<th>Typical Forms</th> -<th>Yield (MPa)</th> -<th>Tensile (MPa)</th> -<th>Modulus (GPa)</th> -<th>Density (g/cm³)</th> -<th>Hardness</th> -<th>Cost Tier</th> -<th>Details</th> -</tr> -</thead> -<tbody> -<tr> -<td data-label="Material">A36 Carbon Steel</td> -<td data-label="Equivalents">UNS K02600, ASTM A36, EN S275JR</td> -<td data-label="Forms">Plate, Shapes (Beams, Angles, Channels), Bar</td> -<td data-label="Yield">250</td> -<td data-label="Tensile">400-550</td> -<td data-label="Modulus">200</td> -<td data-label="Density">7.85</td> -<td data-label="Hardness">~120-160 <span class="term-tooltip" data-bs-toggle="tooltip" title="Brinell Hardness: measures indentation hardness by pressing a hard sphere into the material.">HB</span></td> -<td class="cost-tier cost-tier-1" data-label="Cost Tier">$</td> -<td> -<button aria-controls="details-a36" aria-expanded="false" class="btn btn-sm btn-outline-secondary details-toggle" data-bs-target="#details-a36" data-bs-toggle="collapse" type="button"> - Info <i class="bi bi-chevron-down"></i> -</button> -<div class="collapse collapse-content" id="details-a36"> -<h6>Key Performance:</h6> -<ul> -<li><span class="term">Corrosion Resistance</span>: Poor without coating.</li> -<li><span class="term">Machinability</span>: Good.</li> -<li><span class="term">Weldability</span>: Excellent.</li> -</ul> -<h6>Primary Applications:</h6> -<p>Structural beams (high-rise, bridges), general fabrication, plates, machinery parts, low-stress components.</p> -<h6>Critical Limitations:</h6> -<p>Corrosion in marine/chemical environments without coating. Limited to ~400°C service temperature due to strength loss.</p> -<h6>Processing:</h6> -<p>Readily weldable by common methods, good machinability. Not typically heat-treated for strength (used as-rolled).</p> -</div> -</td> -</tr> -<tr> -<td data-label="Material">4140 Alloy Steel</td> -<td data-label="Equivalents">UNS G41400, AISI 4140, EN 42CrMo4 (1.7225)</td> -<td data-label="Forms">Bar, Rod, Forging, Tube, Plate</td> -<td data-label="Yield">415 (<span class="term-tooltip" data-bs-toggle="tooltip" title="Annealed: Heat treated to relieve stress, soften, and improve ductility.">Ann</span>) - 655+ (<span class="term-tooltip" data-bs-toggle="tooltip" title="Quenched and Tempered: Heat treatment process to increase hardness and toughness.">Q&T</span>)</td> -<td data-label="Tensile">655 (Ann) - 1020+ (Q&T)</td> -<td data-label="Modulus">205</td> -<td data-label="Density">7.85</td> -<td data-label="Hardness">~197 HB (Ann), 28-34 <span class="term-tooltip" data-bs-toggle="tooltip" title="Rockwell Hardness C scale: measures indentation hardness using a diamond cone.">HRC</span> (Q&T)</td> -<td class="cost-tier cost-tier-2" data-label="Cost Tier">$$</td> -<td> -<button aria-controls="details-4140" aria-expanded="false" class="btn btn-sm btn-outline-secondary details-toggle" data-bs-target="#details-4140" data-bs-toggle="collapse" type="button"> - Info <i class="bi bi-chevron-down"></i> -</button> -<div class="collapse collapse-content" id="details-4140"> -<h6>Key Performance:</h6> -<ul> -<li><span class="term">Corrosion Resistance</span>: Poor without plating/coating.</li> -<li><span class="term">Machinability</span>: Good in annealed state, fair when hardened.</li> -<li><span class="term">Weldability</span>: Fair, preheat/post-heat often required to prevent cracking.</li> -<li><span class="term">Hardenability</span>: Good, can be through-hardened in moderate sections.</li> -</ul> -<h6>Primary Applications:</h6> -<p>Automotive axles, crankshafts, medium-duty gears, bolts, couplings, spindles, tool holders.</p> -<h6>Critical Limitations:</h6> -<p>Requires proper heat treatment for optimal properties. Susceptible to <span class="term-tooltip" data-bs-toggle="tooltip" title="Loss of toughness in steel when tempered within a specific temperature range or slow cooled through it.">temper embrittlement</span> if not carefully processed. Not ideal for highly corrosive environments without protection.</p> -<h6>Processing:</h6> -<p>Responds well to heat treatment (quenching and tempering). Machinable. Weldable with pre/post heat treatment. Can be <span class="term-tooltip" data-bs-toggle="tooltip" title="A surface hardening process where nitrogen is diffused into the steel.">nitrided</span> for surface hardness.</p> -</div> -</td> -</tr> -<tr> -<td data-label="Material">4340 Alloy Steel</td> -<td data-label="Equivalents">UNS G43400, AISI 4340, EN 34CrNiMo6 (1.6582)</td> -<td data-label="Forms">Bar, Rod, Forging, Plate, Tube</td> -<td data-label="Yield">470 (Ann) - 1515+ (Q&T)</td> -<td data-label="Tensile">745 (Ann) - 1895+ (Q&T)</td> -<td data-label="Modulus">205</td> -<td data-label="Density">7.85</td> -<td data-label="Hardness">~217 HB (Ann), 35-55 HRC (Q&T)</td> -<td class="cost-tier cost-tier-3" data-label="Cost Tier">$$$</td> -<td> -<button aria-controls="details-4340" aria-expanded="false" class="btn btn-sm btn-outline-secondary details-toggle" data-bs-target="#details-4340" data-bs-toggle="collapse" type="button"> - Info <i class="bi bi-chevron-down"></i> -</button> -<div class="collapse collapse-content" id="details-4340"> -<h6>Key Performance:</h6> -<ul> -<li><span class="term">Corrosion Resistance</span>: Poor without plating/coating.</li> -<li><span class="term">Machinability</span>: Fair to good in annealed state, poor when fully hardened.</li> -<li><span class="term">Weldability</span>: Difficult, requires significant preheat, specific consumables, and post-weld stress relief to avoid cracking.</li> -<li><span class="term">Hardenability</span>: Excellent, deep hardening capabilities. High toughness.</li> -</ul> -<h6>Primary Applications:</h6> -<p>Aircraft landing gear, high-stress shafts and gears, military ordnance, connecting rods, structural parts requiring high strength and toughness.</p> -<h6>Critical Limitations:</h6> -<p><span class="term-tooltip" data-bs-toggle="tooltip" title="Susceptibility of a material to fracture initiation at stress concentrations like notches or cracks.">Notch-sensitive</span>, requires careful design and heat treatment to avoid embrittlement. Prone to <span class="term-tooltip" data-bs-toggle="tooltip" title="Loss of ductility in a metal due to absorbed hydrogen, often from plating or corrosive environments.">hydrogen embrittlement</span> if improperly plated. Difficult to weld.</p> -<h6>Processing:</h6> -<p>Deep hardening. Requires specific heat treatments (<span class="term-tooltip" data-bs-toggle="tooltip" title="Heating steel to a temperature where austenite forms.">austenitizing</span>, quenching, tempering) for optimal properties. Weldable only with stringent procedures.</p> -</div> -</td> -</tr> -</tbody> -</table> -</div> -</section> -<!-- Stainless Steels Section --> -<section data-section-id="stainless-steels" id="stainless-steels"> -<h2 class="section-title"><i class="bi bi-shield-check"></i> Stainless Steels</h2> -<div class="table-responsive"> -<table class="table table-bordered table-hover metal-table"> -<thead> -<tr> -<th>Material</th> -<th>Common Equivalents</th> -<th>Typical Forms</th> -<th>Yield (MPa)</th> -<th>Tensile (MPa)</th> -<th>Modulus (GPa)</th> -<th>Density (g/cm³)</th> -<th>Hardness</th> -<th>Cost Tier</th> -<th>Details</th> -</tr> -</thead> -<tbody> -<tr> -<td data-label="Material">304 SS (<span class="term-tooltip" data-bs-toggle="tooltip" title="A type of stainless steel with a face-centered cubic (FCC) crystal structure, typically non-magnetic and highly formable.">Austenitic</span>)</td> -<td data-label="Equivalents">UNS S30400, AISI 304, EN 1.4301, JIS SUS304</td> -<td data-label="Forms">Sheet, Plate, Bar, Tube, Pipe, Wire, Fittings, Casting</td> -<td data-label="Yield">205-310</td> -<td data-label="Tensile">515-620</td> -<td data-label="Modulus">193-200</td> -<td data-label="Density">8.0</td> -<td data-label="Hardness">~85 <span class="term-tooltip" data-bs-toggle="tooltip" title="Rockwell Hardness B scale: measures indentation hardness, often for softer metals.">HRB</span> (Annealed)</td> -<td class="cost-tier cost-tier-2" data-label="Cost Tier">$$</td> -<td> -<button aria-controls="details-304ss" aria-expanded="false" class="btn btn-sm btn-outline-secondary details-toggle" data-bs-target="#details-304ss" data-bs-toggle="collapse" type="button"> - Info <i class="bi bi-chevron-down"></i> -</button> -<div class="collapse collapse-content" id="details-304ss"> -<h6>Key Performance:</h6> -<ul> -<li><span class="term">Corrosion Resistance</span>: Good in many atmospheric and mild chemical environments; susceptible to chlorides (pitting, crevice corrosion, <span class="term-tooltip" data-bs-toggle="tooltip" title="Cracking due to combined tensile stress and a specific corrosive environment.">SCC</span>).</li> -<li><span class="term">Thermal Conductivity</span>: 16.2 W/m·K (Low).</li> -<li><span class="term">Electrical Conductivity</span>: ~2.4% <span class="term-tooltip" data-bs-toggle="tooltip" title="International Annealed Copper Standard: 100% IACS is the conductivity of pure annealed copper.">IACS</span> (Low).</li> -<li><span class="term">Machinability</span>: Poor (<span class="term-tooltip" data-bs-toggle="tooltip" title="Increase in hardness and strength due to plastic deformation.">work hardening</span>, gummy chips); use sharp tools, slow speeds, positive feeds, good coolant.</li> -<li><span class="term">Weldability</span>: Good by most fusion and resistance methods; susceptible to <span class="term-tooltip" data-bs-toggle="tooltip" title="Precipitation of chromium carbides at grain boundaries in stainless steels, reducing corrosion resistance.">sensitization</span> (loss of corrosion resistance at welds) if not low carbon (304L) or stabilized.</li> -</ul> -<h6>Primary Applications:</h6> -<p>Food processing equipment (tanks, piping), architectural trim, kitchen sinks, cutlery, brewery equipment, chemical tanks (mild service), exhaust systems.</p> -<h6>Critical Limitations:</h6> -<p>Chloride stress corrosion cracking (SCC) above ~60°C. Sensitization can reduce corrosion resistance at welds. Poor resistance to reducing acids.</p> -<h6>Processing:</h6> -<p>Non-hardenable by heat treatment. Strength increased by cold work. Excellent formability and ductility. Annealing restores ductility after cold work.</p> -</div> -</td> -</tr> -<tr> -<td data-label="Material">316 SS (Austenitic)</td> -<td data-label="Equivalents">UNS S31600, AISI 316, EN 1.4401/1.4436, JIS SUS316</td> -<td data-label="Forms">Sheet, Plate, Bar, Tube, Pipe, Wire, Fittings, Casting</td> -<td data-label="Yield">205-310</td> -<td data-label="Tensile">515-620</td> -<td data-label="Modulus">193-200</td> -<td data-label="Density">8.0</td> -<td data-label="Hardness">~85 HRB (Annealed)</td> -<td class="cost-tier cost-tier-3" data-label="Cost Tier">$$$</td> -<td> -<button aria-controls="details-316ss" aria-expanded="false" class="btn btn-sm btn-outline-secondary details-toggle" data-bs-target="#details-316ss" data-bs-toggle="collapse" type="button"> - Info <i class="bi bi-chevron-down"></i> -</button> -<div class="collapse collapse-content" id="details-316ss"> -<h6>Key Performance:</h6> -<ul> -<li><span class="term">Corrosion Resistance</span>: Excellent, superior to 304 due to Molybdenum (resists pitting/crevice corrosion in chlorides and some acids).</li> -<li><span class="term">Thermal Conductivity</span>: 16.3 W/m·K (Low).</li> -<li><span class="term">Electrical Conductivity</span>: ~2.3% IACS (Low).</li> -<li><span class="term">Machinability</span>: Poor (work hardening), similar to 304, slightly more difficult.</li> -<li><span class="term">Weldability</span>: Good; 316L (low carbon) preferred to avoid sensitization and ensure <span class="term-tooltip" data-bs-toggle="tooltip" title="Corrosion occurring preferentially at or adjacent to grain boundaries.">intergranular corrosion</span> resistance at welds.</li> -</ul> -<h6>Primary Applications:</h6> -<p>Marine hardware (boat fittings, propellers), pharmaceutical equipment, chemical processing (tanks, pipes for more aggressive media), food processing, medical implants, pulp & paper industry.</p> -<h6>Critical Limitations:</h6> -<p>Chloride SCC above ~60°C, though more resistant than 304. <span class="term-tooltip" data-bs-toggle="tooltip" title="Accelerated corrosion of a more active metal when in electrical contact with a less active metal in an electrolyte.">Galvanic corrosion</span> with aluminum, carbon steel. More expensive than 304.</p> -<h6>Processing:</h6> -<p>Non-hardenable by heat treatment. Cold work increases strength. Good formability. Annealing restores ductility.</p> -</div> -</td> -</tr> -<tr> -<td data-label="Material">17-4 PH SS (<span class="term-tooltip" data-bs-toggle="tooltip" title="Strengthening by forming fine particles (precipitates) in the metal matrix through heat treatment.">Precipitation Hardening</span>)</td> -<td data-label="Equivalents">UNS S17400, AISI 630, EN 1.4542</td> -<td data-label="Forms">Bar, Rod, Plate, Sheet, Wire, Forging, Casting</td> -<td data-label="Yield">720 (<span class="term-tooltip" data-bs-toggle="tooltip" title="Solution Annealed: Heat treated to dissolve alloying elements into a solid solution, followed by cooling.">Sol. Ann.</span>) - 1170-1310 (H900)</td> -<td data-label="Tensile">1000 (Sol. Ann.) - 1310-1450 (H900)</td> -<td data-label="Modulus">196</td> -<td data-label="Density">7.81</td> -<td data-label="Hardness">~35 HRC (Sol. Ann.), 38-45 HRC (H900)</td> -<td class="cost-tier cost-tier-4" data-label="Cost Tier">$$$$</td> -<td> -<button aria-controls="details-174ph" aria-expanded="false" class="btn btn-sm btn-outline-secondary details-toggle" data-bs-target="#details-174ph" data-bs-toggle="collapse" type="button"> - Info <i class="bi bi-chevron-down"></i> -</button> -<div class="collapse collapse-content" id="details-174ph"> -<h6>Key Performance:</h6> -<ul> -<li><span class="term">Corrosion Resistance</span>: Good, comparable to 304 in many media, but can vary with heat treat condition. Better than hardenable <span class="term-tooltip" data-bs-toggle="tooltip" title="A hard, brittle phase in steel formed by rapid cooling (quenching) of austenite.">martensitic</span> grades (e.g., 410).</li> -<li><span class="term">Thermal Conductivity</span>: 17.9 W/m·K (at 100°C for H900).</li> -<li><span class="term">Machinability</span>: Fair in annealed (Condition A) state, more difficult when aged/hardened.</li> -<li><span class="term">Weldability</span>: Good, usually welded in solution annealed condition, then aged. Pre-heating generally not required for thin sections.</li> -<li><span class="term">High Strength & Hardness:</span> Achieved through relatively simple, low-temperature <span class="term-tooltip" data-bs-toggle="tooltip" title="A heat treatment process that induces precipitation of fine particles to increase strength and hardness.">aging</span> treatment.</li> -</ul> -<h6>Primary Applications:</h6> -<p>Aerospace fasteners and structural components, valve components, pump shafts, gears, food processing equipment, nuclear reactor components.</p> -<h6>Critical Limitations:</h6> -<p>Loses toughness below approx. -30°C to -40°C in some heat treat conditions (e.g., H900). Optimum corrosion resistance achieved after aging. Not suitable for very high temperature service (strength drops above ~315°C / 600°F).</p> -<h6>Processing:</h6> -<p>Hardenable by precipitation aging heat treatment. Supplied in solution annealed (Condition A). Various aging treatments (e.g., H900, H1025, H1075, H1150) yield different balances of strength, toughness, and corrosion resistance.</p> -</div> -</td> -</tr> -</tbody> -</table> -</div> -</section> -<!-- Aluminum Alloys Section --> -<section data-section-id="aluminum-alloys" id="aluminum-alloys"> -<h2 class="section-title"><i class="bi bi-feather"></i> Aluminum Alloys</h2> -<div class="table-responsive"> -<table class="table table-bordered table-hover metal-table"> -<thead> -<tr> -<th>Material</th> -<th>Common Equivalents</th> -<th>Typical Forms</th> -<th>Yield (MPa)</th> -<th>Tensile (MPa)</th> -<th>Modulus (GPa)</th> -<th>Density (g/cm³)</th> -<th>Hardness (HB)</th> -<th>Cost Tier</th> -<th>Details</th> -</tr> -</thead> -<tbody> -<tr> -<td data-label="Material">6061-T6</td> -<td data-label="Equivalents">UNS A96061, ISO AlMg1SiCu</td> -<td data-label="Forms">Sheet, Plate, Bar, Rod, Tube, Pipe, Extrusion, Wire, Forging</td> -<td data-label="Yield">276</td> -<td data-label="Tensile">310</td> -<td data-label="Modulus">68.9</td> -<td data-label="Density">2.70</td> -<td data-label="Hardness">95</td> -<td class="cost-tier cost-tier-2" data-label="Cost Tier">$$</td> -<td> -<button aria-controls="details-6061t6" aria-expanded="false" class="btn btn-sm btn-outline-secondary details-toggle" data-bs-target="#details-6061t6" data-bs-toggle="collapse" type="button"> - Info <i class="bi bi-chevron-down"></i> -</button> -<div class="collapse collapse-content" id="details-6061t6"> -<h6>Key Performance:</h6> -<ul> -<li><span class="term">Corrosion Resistance</span>: Excellent.</li> -<li><span class="term">Thermal Conductivity</span>: 167 W/m·K (Good).</li> -<li><span class="term">Electrical Conductivity</span>: ~43% IACS.</li> -<li><span class="term">Machinability</span>: Good in T6 temper.</li> -<li><span class="term">Weldability</span>: Good (strength reduction in <span class="term-tooltip" data-bs-toggle="tooltip" title="Heat Affected Zone: The area of base material, not melted during welding, but whose microstructure and properties were altered by the heat.">HAZ</span>, often requires re-aging or used as-welded with lower strength).</li> -<li><span class="term">Formability:</span> Good in annealed (O) condition, fair in T4, limited in T6.</li> -</ul> -<h6>Primary Applications:</h6> -<p>Structural extrusions (window frames, architectural components), bicycle frames, automotive components (chassis parts, suspension), marine applications (small boats, fittings), piping, scuba tanks.</p> -<h6>Critical Limitations:</h6> -<p>Strength significantly reduced in weld zones unless post-weld heat treated (re-solutionize and age). Lower strength than 2xxx or 7xxx series. Not ideal for high <span class="term-tooltip" data-bs-toggle="tooltip" title="Ability of a material to withstand repeated loading cycles without failure.">fatigue</span> applications without careful design.</p> -<h6>Processing:</h6> -<p>Age-hardenable (Mg₂Si precipitates). Excellent formability in annealed (O) condition. Easily extruded into complex shapes. T6 temper involves <span class="term-tooltip" data-bs-toggle="tooltip" title="Heating an alloy to dissolve alloying elements into a solid solution, followed by rapid cooling.">solution heat treating</span> and artificial aging.</p> -</div> -</td> -</tr> -<tr> -<td data-label="Material">7075-T6</td> -<td data-label="Equivalents">UNS A97075, ISO AlZn5.5MgCu</td> -<td data-label="Forms">Sheet, Plate, Bar, Rod, Extrusion, Forging</td> -<td data-label="Yield">503</td> -<td data-label="Tensile">572</td> -<td data-label="Modulus">71.7</td> -<td data-label="Density">2.81</td> -<td data-label="Hardness">150</td> -<td class="cost-tier cost-tier-3" data-label="Cost Tier">$$$</td> -<td> -<button aria-controls="details-7075t6" aria-expanded="false" class="btn btn-sm btn-outline-secondary details-toggle" data-bs-target="#details-7075t6" data-bs-toggle="collapse" type="button"> - Info <i class="bi bi-chevron-down"></i> -</button> -<div class="collapse collapse-content" id="details-7075t6"> -<h6>Key Performance:</h6> -<ul> -<li><span class="term">Corrosion Resistance</span>: Poor, especially to Stress Corrosion Cracking (SCC) in T6 temper. Requires coating/anodizing for most applications. T73/T76 tempers improve SCC resistance but reduce strength.</li> -<li><span class="term">Thermal Conductivity</span>: 130 W/m·K.</li> -<li><span class="term">Machinability</span>: Fair to good in T6 condition, produces small chips.</li> -<li><span class="term">Weldability</span>: Poor (prone to <span class="term-tooltip" data-bs-toggle="tooltip" title="Cracking that occurs in the weld metal or heat-affected zone during solidification or shortly after.">hot cracking</span>), generally not recommended for fusion welding. Resistance welding is possible but limited.</li> -<li><span class="term">Strength-to-Weight Ratio:</span> Excellent.</li> -</ul> -<h6>Primary Applications:</h6> -<p>Aircraft structures (wing spars, fuselage frames), high-performance automotive components (connecting rods, gears), climbing gear, bicycle components, missile parts, firearm receivers.</p> -<h6>Critical Limitations:</h6> -<p>High susceptibility to SCC in T6 temper, especially in marine/humid environments. Strength degrades significantly above ~120-150°C sustained temperature. Poor weldability limits fabrication options.</p> -<h6>Processing:</h6> -<p>Age-hardenable (Zn, Mg, Cu precipitates). Limited formability in T6 condition; best formed in annealed (O) or W (solution treated) temper then aged. <span class="term-tooltip" data-bs-toggle="tooltip" title="A heat treatment involving aging beyond peak hardness to improve other properties like toughness or SCC resistance.">Overaging</span> tempers (e.g., T73, T76) improve SCC resistance but reduce peak strength.</p> -</div> -</td> -</tr> -<tr> -<td data-label="Material">2024-T3/T4</td> -<td data-label="Equivalents">UNS A92024, ISO AlCu4Mg1</td> -<td data-label="Forms">Sheet, Plate, Bar, Rod, Extrusion, Wire</td> -<td data-label="Yield">324-345 (T3/T4)</td> -<td data-label="Tensile">469-483 (T3/T4)</td> -<td data-label="Modulus">73.1</td> -<td data-label="Density">2.78</td> -<td data-label="Hardness">120</td> -<td class="cost-tier cost-tier-3" data-label="Cost Tier">$$$</td> -<td> -<button aria-controls="details-2024t3" aria-expanded="false" class="btn btn-sm btn-outline-secondary details-toggle" data-bs-target="#details-2024t3" data-bs-toggle="collapse" type="button"> - Info <i class="bi bi-chevron-down"></i> -</button> -<div class="collapse collapse-content" id="details-2024t3"> -<h6>Key Performance:</h6> -<ul> -<li><span class="term">Corrosion Resistance</span>: Poor, requires coating/cladding (e.g., Alclad 2024 where a thin layer of pure aluminum is bonded to the surface) or anodizing for protection.</li> -<li><span class="term">Thermal Conductivity</span>: 121 W/m·K (T351).</li> -<li><span class="term">Machinability</span>: Good, especially in T3/T4 tempers.</li> -<li><span class="term">Weldability</span>: Poor (prone to hot cracking and reduced mechanical properties), not generally recommended for fusion welding. Resistance welding is possible.</li> -<li><span class="term">Fatigue Resistance:</span> Good, a key reason for its aerospace use.</li> -</ul> -<h6>Primary Applications:</h6> -<p>Aircraft fuselage and wing structures (skins, tension members), rivets, truck wheels, structural components requiring good fatigue resistance.</p> -<h6>Critical Limitations:</h6> -<p>Susceptible to SCC, especially in older tempers or when improperly heat treated. <span class="term-tooltip" data-bs-toggle="tooltip" title="Measure of how sensitive a material is to notches or geometric discontinuities, affecting fatigue life.">Fatigue notch sensitivity</span> requires careful design. Strength degrades significantly above ~120-150°C.</p> -<h6>Processing:</h6> -<p>Age-hardenable (Cu, Mg precipitates). Good formability in annealed (O) condition, fair in T3/T4 (T3 is solution heat treated, cold worked, and naturally aged; T4 is solution heat treated and naturally aged). Natural aging occurs at room temperature after solution treatment.</p> -</div> -</td> -</tr> -</tbody> -</table> -</div> -</section> -<!-- Titanium Alloys Section --> -<section data-section-id="titanium-alloys" id="titanium-alloys"> -<h2 class="section-title"><i class="bi bi-airplane-engines"></i> Titanium Alloys</h2> -<div class="table-responsive"> -<table class="table table-bordered table-hover metal-table"> -<thead> -<tr> -<th>Material</th> -<th>Common Equivalents</th> -<th>Typical Forms</th> -<th>Yield (MPa)</th> -<th>Tensile (MPa)</th> -<th>Modulus (GPa)</th> -<th>Density (g/cm³)</th> -<th>Hardness (HRC)</th> -<th>Cost Tier</th> -<th>Details</th> -</tr> -</thead> -<tbody> -<tr> -<td data-label="Material">Ti-6Al-4V (Grade 5)</td> -<td data-label="Equivalents">UNS R56400, ASTM B265/B348/B381, EN 3.7164/3.7165</td> -<td data-label="Forms">Bar, Rod, Sheet, Plate, Wire, Forging, Tube, Billet</td> -<td data-label="Yield">830-950 (Annealed)</td> -<td data-label="Tensile">900-1020 (Annealed)</td> -<td data-label="Modulus">110-114</td> -<td data-label="Density">4.43</td> -<td data-label="Hardness">~36 (Annealed)</td> -<td class="cost-tier cost-tier-5" data-label="Cost Tier">$$$$$</td> -<td> -<button aria-controls="details-ti64" aria-expanded="false" class="btn btn-sm btn-outline-secondary details-toggle" data-bs-target="#details-ti64" data-bs-toggle="collapse" type="button"> - Info <i class="bi bi-chevron-down"></i> -</button> -<div class="collapse collapse-content" id="details-ti64"> -<h6>Key Performance:</h6> -<ul> -<li><span class="term">Corrosion Resistance</span>: Exceptional in many environments (seawater, chlorides, oxidizing acids) due to stable passive oxide layer.</li> -<li><span class="term">Thermal Conductivity</span>: 6.7 W/m·K (Very Low).</li> -<li><span class="term">Electrical Conductivity</span>: ~1% IACS (Very Low).</li> -<li><span class="term">Machinability</span>: Difficult (<span class="term-tooltip" data-bs-toggle="tooltip" title="A type of wear caused by adhesion between sliding surfaces, common when machining sticky materials.">galling</span>, work hardening, low thermal conductivity). Requires rigid setups, sharp tools (carbide or ceramic), slow speeds, high feed rates, copious specialized coolant.</li> -<li><span class="term">Weldability</span>: Good with proper inert gas shielding (argon or helium) to prevent oxygen/nitrogen contamination. Post-weld stress relief often needed.</li> -<li><span class="term">Strength-to-Weight Ratio</span>: Excellent, retains strength at moderately elevated temperatures (up to ~300-400°C).</li> -</ul> -<h6>Primary Applications:</h6> -<p>Jet engine components (blades, discs, casings), aerospace fasteners and structures (airframes), medical implants (hips, knees, dental), high-performance sports equipment, marine hardware, chemical processing equipment.</p> -<h6>Critical Limitations:</h6> -<p>Hydrogen embrittlement potential above ~200-300°C or from certain chemical exposures/processing. Galvanic corrosion issues when coupled with less noble metals (e.g., aluminum, steel) without isolation. High material and processing cost. Poor wear resistance without surface treatment.</p> -<h6>Processing:</h6> -<p>Heat treatable (solution treatment and aging - STA - can significantly increase strength). Requires inert atmosphere for welding and some heat treatments above ~500°C. Difficult to cast due to high reactivity. Forging and forming require careful temperature control.</p> -</div> -</td> -</tr> -<tr> -<td data-label="Material">CP Titanium Gr2 (Commercially Pure)</td> -<td data-label="Equivalents">UNS R50400, ASTM B265/B348, EN 3.7035</td> -<td data-label="Forms">Sheet, Plate, Bar, Rod, Tube, Pipe, Wire, Billet</td> -<td data-label="Yield">275-450</td> -<td data-label="Tensile">345-550</td> -<td data-label="Modulus">103</td> -<td data-label="Density">4.51</td> -<td data-label="Hardness">~82 HRB (~20 HRC equiv.)</td> -<td class="cost-tier cost-tier-4" data-label="Cost Tier">$$$$</td> -<td> -<button aria-controls="details-cpti" aria-expanded="false" class="btn btn-sm btn-outline-secondary details-toggle" data-bs-target="#details-cpti" data-bs-toggle="collapse" type="button"> - Info <i class="bi bi-chevron-down"></i> -</button> -<div class="collapse collapse-content" id="details-cpti"> -<h6>Key Performance:</h6> -<ul> -<li><span class="term">Corrosion Resistance</span>: Exceptional, especially in oxidizing media, chlorides, and seawater. Often better than Ti-6Al-4V in highly reducing environments.</li> -<li><span class="term">Thermal Conductivity</span>: 16 W/m·K (Low, but better than Ti-6Al-4V).</li> -<li><span class="term">Machinability</span>: Fair (better than Ti-6Al-4V but still challenging due to galling and work hardening).</li> -<li><span class="term">Weldability</span>: Excellent with inert gas shielding.</li> -<li><span class="term">Formability</span>: Good, best among titanium grades, especially at slightly elevated temperatures.</li> -<li><span class="term" data-bs-toggle="tooltip" title="The property of a material being compatible with living tissue or a living system by not being toxic, injurious, or physiologically reactive and not causing immunological rejection.">Biocompatibility:</span> Excellent.</li> -</ul> -<h6>Primary Applications:</h6> -<p>Chemical processing equipment (heat exchangers, tanks, piping), marine hardware, desalination plants, biomedical devices (surgical instruments, some implants), airframe components (low stress, e.g., ducting), architectural applications.</p> -<h6>Critical Limitations:</h6> -<p>Lower strength than alloys like Ti-6Al-4V. Susceptible to <span class="term-tooltip" data-bs-toggle="tooltip" title="Localized corrosion occurring in narrow gaps or crevices between metal surfaces or between metal and non-metal surfaces.">crevice corrosion</span> in some reducing acids without palladium addition (Gr 7/11). Risk of ignition in pure, high-pressure oxygen environments. Strength drops significantly above ~300°C.</p> -<h6>Processing:</h6> -<p>Not heat treatable for strength. Properties primarily controlled by cold work and annealing. Readily welded and formed. Stress relief annealing may be needed after significant cold work.</p> -</div> -</td> -</tr> -</tbody> -</table> -</div> -</section> -<!-- Copper Alloys Section --> -<section data-section-id="copper-alloys" id="copper-alloys"> -<h2 class="section-title"><i class="bi bi-lightning-charge-fill"></i> Copper Alloys</h2> -<div class="table-responsive"> -<table class="table table-bordered table-hover metal-table"> -<thead> -<tr> -<th>Material</th> -<th>Common Equivalents</th> -<th>Typical Forms</th> -<th>Yield (MPa)</th> -<th>Tensile (MPa)</th> -<th>Modulus (GPa)</th> -<th>Density (g/cm³)</th> -<th>Hardness (HB)</th> -<th>Cost Tier</th> -<th>Details</th> -</tr> -</thead> -<tbody> -<tr> -<td data-label="Material">C11000 ETP Copper (Electrolytic Tough Pitch)</td> -<td data-label="Equivalents">UNS C11000, CW004A (EN)</td> -<td data-label="Forms">Sheet, Strip, Plate, Bar, Rod, Wire, Tube, Busbar</td> -<td data-label="Yield">69 (Ann) - 365 (Hard)</td> -<td data-label="Tensile">220 (Ann) - 380 (Hard)</td> -<td data-label="Modulus">115-117</td> -<td data-label="Density">8.94</td> -<td data-label="Hardness">40 (Ann) - 110 (Hard)</td> -<td class="cost-tier cost-tier-3" data-label="Cost Tier">$$$</td> -<td> -<button aria-controls="details-c110" aria-expanded="false" class="btn btn-sm btn-outline-secondary details-toggle" data-bs-target="#details-c110" data-bs-toggle="collapse" type="button"> - Info <i class="bi bi-chevron-down"></i> -</button> -<div class="collapse collapse-content" id="details-c110"> -<h6>Key Performance:</h6> -<ul> -<li><span class="term">Electrical Conductivity</span>: 100-101% IACS (Excellent). Base for conductivity ratings.</li> -<li><span class="term">Thermal Conductivity</span>: 388-391 W/m·K (Excellent).</li> -<li><span class="term">Corrosion Resistance</span>: Good atmospheric and water corrosion resistance. Tarnishes in sulfurous atmospheres.</li> -<li><span class="term">Machinability</span>: Poor (gummy, long chips).</li> -<li><span class="term">Weldability</span>: Fair (brazing/soldering preferred). Susceptible to cracking with some fusion welding processes.</li> -<li><span class="term">Antimicrobial</span>: Natural <span class="term-tooltip" data-bs-toggle="tooltip" title="Capable of destroying or inhibiting the growth of microorganisms.">biocidal</span> properties.</li> -</ul> -<h6>Primary Applications:</h6> -<p>Electrical conductors (wires, busbars, contacts), heat exchangers (radiators, condensers), plumbing tubes, gaskets, roofing sheet.</p> -<h6>Critical Limitations:</h6> -<p>Susceptible to hydrogen embrittlement if heated in a reducing atmosphere above ~370°C (use OFHC C10100/C10200 - Oxygen-Free High Conductivity - to avoid this). Poor strength at elevated temperatures (>200°C). Low wear resistance.</p> -<h6>Processing:</h6> -<p>Strength increased by cold work. Excellent ductility and formability. Easily joined by soldering/brazing. Annealing softens and restores ductility.</p> -</div> -</td> -</tr> -<tr> -<td data-label="Material">C36000 Free-Cutting Brass (Cu-Zn-Pb)</td> -<td data-label="Equivalents">UNS C36000, CZ121 (BS)</td> -<td data-label="Forms">Rod, Bar, Shapes (limited)</td> -<td data-label="Yield">124 (Ann) - 310 (Hard Drawn)</td> -<td data-label="Tensile">338 (Ann) - 470 (Hard Drawn)</td> -<td data-label="Modulus">97</td> -<td data-label="Density">8.50</td> -<td data-label="Hardness">65 (Ann) - 120 (Hard Drawn)</td> -<td class="cost-tier cost-tier-3" data-label="Cost Tier">$$$</td> -<td> -<button aria-controls="details-c360" aria-expanded="false" class="btn btn-sm btn-outline-secondary details-toggle" data-bs-target="#details-c360" data-bs-toggle="collapse" type="button"> - Info <i class="bi bi-chevron-down"></i> -</button> -<div class="collapse collapse-content" id="details-c360"> -<h6>Key Performance:</h6> -<ul> -<li><span class="term">Electrical Conductivity</span>: ~26% IACS.</li> -<li><span class="term">Thermal Conductivity</span>: 115 W/m·K.</li> -<li><span class="term">Corrosion Resistance</span>: Good, but susceptible to <span class="term-tooltip" data-bs-toggle="tooltip" title="Selective leaching of zinc from brass alloys, leaving a porous copper-rich residue.">dezincification</span> in acidic or high-chloride water. Stress corrosion cracking (SCC) in ammonia.</li> -<li><span class="term">Machinability</span>: Excellent (standard for 100% machinability rating due to lead content forming small chips).</li> -<li><span class="term">Weldability</span>: Fair (brazing/soldering good). Fusion welding is difficult due to lead.</li> -</ul> -<h6>Primary Applications:</h6> -<p>Precision machined parts (screws, nuts, bolts), fittings (plumbing, pneumatic), valve components, gears, architectural hardware, musical instrument parts.</p> -<h6>Critical Limitations:</h6> -<p>Dezincification in corrosive water. Susceptible to SCC in ammonia environments. Poor cold formability due to lead content. Lead content raises environmental/health concerns in some applications.</p> -<h6>Processing:</h6> -<p>Lead addition (~2.5-3.7%) provides excellent machinability. Primarily used for hot forming or machining from rod/bar stock. Limited cold workability.</p> -</div> -</td> -</tr> -<tr> -<td data-label="Material">C63000 Nickel-Aluminum Bronze (Cu-Al-Ni-Fe)</td> -<td data-label="Equivalents">UNS C63000, AMS 4640, ASTM B150</td> -<td data-label="Forms">Rod, Bar, Tube, Forging, Casting, Plate (limited)</td> -<td data-label="Yield">380-550 (As cast/extruded, depends on HT)</td> -<td data-label="Tensile">690-820 (As cast/extruded, depends on HT)</td> -<td data-label="Modulus">117-121</td> -<td data-label="Density">7.53-7.58</td> -<td data-label="Hardness">170-230 (As cast/extruded)</td> -<td class="cost-tier cost-tier-4" data-label="Cost Tier">$$$$</td> -<td> -<button aria-controls="details-c630" aria-expanded="false" class="btn btn-sm btn-outline-secondary details-toggle" data-bs-target="#details-c630" data-bs-toggle="collapse" type="button"> - Info <i class="bi bi-chevron-down"></i> -</button> -<div class="collapse collapse-content" id="details-c630"> -<h6>Key Performance:</h6> -<ul> -<li><span class="term">Electrical Conductivity</span>: ~7-13% IACS.</li> -<li><span class="term">Thermal Conductivity</span>: 38-59 W/m·K.</li> -<li><span class="term">Corrosion Resistance</span>: Excellent in seawater, brackish water, and many industrial environments; good anti-fouling and resistance to <span class="term-tooltip" data-bs-toggle="tooltip" title="Formation of vapor bubbles in a flowing liquid in a region where the pressure of the liquid falls below its vapor pressure, and the sudden collapse of these bubbles.">cavitation</span>/erosion.</li> -<li><span class="term">Machinability</span>: Fair to good (produces tough, stringy chips).</li> -<li><span class="term">Weldability</span>: Good with appropriate consumables and procedures (e.g., GTAW, GMAW). Post-weld heat treatment may be needed.</li> -<li><span class="term">Wear Resistance & Strength:</span> Good, especially at moderately elevated temperatures. Non-sparking.</li> -</ul> -<h6>Primary Applications:</h6> -<p>Marine propellers, pump impellers and bodies, valve seats and stems, bearings, gears, heavy-duty bushings, non-sparking tools, components for offshore platforms.</p> -<h6>Critical Limitations:</h6> -<p>Can be susceptible to <span class="term-tooltip" data-bs-toggle="tooltip" title="Selective leaching of aluminum from aluminum bronzes in certain corrosive environments.">dealuminification</span> (selective leaching of aluminum) in some aggressive acidic or high-chloride environments if not properly heat treated or if a less resistant composition is used. Higher cost than common brasses/bronzes.</p> -<h6>Processing:</h6> -<p>Heat treatable (quenching and tempering can optimize properties). Available in cast and wrought forms (e.g., extrusions, forgings). Good hot workability.</p> -</div> -</td> -</tr> -</tbody> -</table> -</div> -</section> -<!-- Tool Steels Section --> -<section data-section-id="tool-steels" id="tool-steels"> -<h2 class="section-title"><i class="bi bi-gem"></i> Tool Steels</h2> -<div class="table-responsive"> -<table class="table table-bordered table-hover metal-table"> -<thead> -<tr> -<th>Material</th> -<th>Common Equivalents</th> -<th>Typical Forms</th> -<th>Typical Hardness (HRC)</th> -<th>Key Performance Chars.</th> -<th>Cost Tier</th> -<th>Details</th> -</tr> -</thead> -<tbody> -<tr> -<td data-label="Material">O1 (Oil Hardening)</td> -<td data-label="Equivalents">UNS T31501, AISI O1, BS BO1, JIS SKS3</td> -<td data-label="Forms">Bar, Rod, Ground Flat Stock, Drill Rod</td> -<td data-label="Hardness">57-62</td> -<td data-label="Performance">Good wear resistance, fair toughness, good machinability (annealed), fair dimensional stability in HT.</td> -<td class="cost-tier cost-tier-3" data-label="Cost Tier">$$$</td> -<td> -<button aria-controls="details-o1" aria-expanded="false" class="btn btn-sm btn-outline-secondary details-toggle" data-bs-target="#details-o1" data-bs-toggle="collapse" type="button"> - Info <i class="bi bi-chevron-down"></i> -</button> -<div class="collapse collapse-content" id="details-o1"> -<h6>Primary Applications:</h6> -<p>Cutting tools (short run taps, drills, reamers), gauges, blanking and forming dies for simpler shapes and lower volumes, woodworking tools.</p> -<h6>Critical Limitations:</h6> -<p>Requires oil quench which can lead to higher distortion than air hardening grades. Lower wear resistance than A2/D2. Limited toughness at maximum hardness. Max service temp ~150-200°C.</p> -<h6>Processing Considerations:</h6> -<p>Oil hardening group. Requires precise temperature control in heat treatment (austenitizing, quenching, tempering). Tempering critical for achieving desired toughness/hardness balance. Anneal for machinability.</p> -</div> -</td> -</tr> -<tr> -<td data-label="Material">A2 (Air Hardening)</td> -<td data-label="Equivalents">UNS T30102, AISI A2, BS BA2, JIS SKD12 (approx.)</td> -<td data-label="Forms">Bar, Rod, Ground Flat Stock, Plate</td> -<td data-label="Hardness">58-62</td> -<td data-label="Performance">Very good wear resistance, good toughness (better balance than O1), fair machinability (annealed), good dimensional stability in HT.</td> -<td class="cost-tier cost-tier-4" data-label="Cost Tier">$$$$</td> -<td> -<button aria-controls="details-a2" aria-expanded="false" class="btn btn-sm btn-outline-secondary details-toggle" data-bs-target="#details-a2" data-bs-toggle="collapse" type="button"> - Info <i class="bi bi-chevron-down"></i> -</button> -<div class="collapse collapse-content" id="details-a2"> -<h6>Primary Applications:</h6> -<p>Punches and dies (medium to high volume stamping/forming), shear blades, stamping tools for complex shapes, coining dies, long-lasting cutting tools.</p> -<h6>Critical Limitations:</h6> -<p>Lower wear resistance than D2. Requires higher austenitizing temperatures than O1. Can be more challenging to grind than O1. Max service temp ~200-250°C.</p> -<h6>Processing Considerations:</h6> -<p>Air hardening group provides less distortion than oil hardening. Requires careful heat treatment. Multiple tempers often used to optimize toughness. Surface treatments (nitriding, <span class="term-tooltip" data-bs-toggle="tooltip" title="Physical Vapor Deposition: A coating process to deposit thin films.">PVD</span>) can further enhance wear resistance.</p> -</div> -</td> -</tr> -<tr> -<td data-label="Material">D2 (High C, High Cr Cold Work)</td> -<td data-label="Equivalents">UNS T30402, AISI D2, BS BD2, JIS SKD11, EN X153CrMoV12 (1.2379)</td> -<td data-label="Forms">Bar, Rod, Ground Flat Stock, Plate</td> -<td data-label="Hardness">58-62 (can reach 64)</td> -<td data-label="Performance">Excellent wear resistance (highest among common cold work tool steels), fair to moderate toughness, poor machinability (annealed), good dimensional stability in HT. Some corrosion resistance.</td> -<td class="cost-tier cost-tier-4" data-label="Cost Tier">$$$$</td> -<td> -<button aria-controls="details-d2" aria-expanded="false" class="btn btn-sm btn-outline-secondary details-toggle" data-bs-target="#details-d2" data-bs-toggle="collapse" type="button"> - Info <i class="bi bi-chevron-down"></i> -</button> -<div class="collapse collapse-content" id="details-d2"> -<h6>Primary Applications:</h6> -<p>High-volume blanking and forming dies, slitting cutters, thread rolling dies, long-run stamping tools, punches, wear parts, knives requiring high edge retention.</p> -<h6>Critical Limitations:</h6> -<p>Relatively brittle compared to A2 or O1, especially if not properly heat treated (requires higher austenitizing temps and careful tempering). Difficult to grind and machine. Susceptible to chipping in shock applications. Max service temp ~200-300°C.</p> -<h6>Processing Considerations:</h6> -<p>Air hardening, can also be oil quenched in some sections but air preferred for stability. Requires careful grinding post-HT using appropriate wheels. Multiple tempers often required. <span class="term-tooltip" data-bs-toggle="tooltip" title="Cooling to very low (cryogenic) temperatures to improve wear resistance and dimensional stability.">Cryogenic treatment</span> can improve wear resistance and dimensional stability.</p> -</div> -</td> -</tr> -</tbody> -</table> -</div> -</section> -<!-- Superalloys Section --> -<section data-section-id="superalloys" id="superalloys"> -<h2 class="section-title"><i class="bi bi-fire"></i> Superalloys (High-Performance Alloys)</h2> -<div class="table-responsive"> -<table class="table table-bordered table-hover metal-table"> -<thead> -<tr> -<th>Material</th> -<th>Common Equivalents</th> -<th>Typical Forms</th> -<th>Yield (MPa) at RT</th> -<th>Tensile (MPa) at RT</th> -<th>Density (g/cm³)</th> -<th>Max Recommended Service Temp (°C)</th> -<th>Cost Tier</th> -<th>Details</th> -</tr> -</thead> -<tbody> -<tr> -<td data-label="Material">Inconel 718 (Ni-based)</td> -<td data-label="Equivalents">UNS N07718, AMS 5596/5662, EN NiCr19Fe19NbMo3 (2.4668)</td> -<td data-label="Forms">Bar, Rod, Sheet, Plate, Wire, Forging, Tube, Casting, Powder</td> -<td data-label="Yield">~1035-1240 (Aged)</td> -<td data-label="Tensile">~1240-1380 (Aged)</td> -<td data-label="Density">8.19</td> -<td data-label="Service Temp">~650-700 (for high stress)</td> -<td class="cost-tier cost-tier-6" data-label="Cost Tier">$$$$$$</td> -<td> -<button aria-controls="details-inco718" aria-expanded="false" class="btn btn-sm btn-outline-secondary details-toggle" data-bs-target="#details-inco718" data-bs-toggle="collapse" type="button"> - Info <i class="bi bi-chevron-down"></i> -</button> -<div class="collapse collapse-content" id="details-inco718"> -<h6>Key Performance:</h6> -<ul> -<li><span class="term">High-Temp Strength</span>: Excellent creep and <span class="term-tooltip" data-bs-toggle="tooltip" title="The ability of a material to withstand a constant load at elevated temperature without fracturing over time.">stress-rupture strength</span> up to ~700°C.</li> -<li><span class="term">Corrosion Resistance</span>: Excellent in many harsh environments, including resistance to oxidation and some acidic conditions.</li> -<li><span class="term">Weldability</span>: Good for a superalloy, especially resistant to post-weld cracking compared to other precipitation-hardened superalloys.</li> -<li><span class="term">Machinability</span>: Difficult (high work hardening rate, low thermal conductivity, tough chips). Requires specialized tools, rigid setups, slow speeds.</li> -</ul> -<h6>Primary Applications:</h6> -<p>Gas turbine engine components (discs, blades, shafts, casings), aerospace fasteners, nuclear reactor components, rocket motors, cryogenic tankage, turbocharger rotors, chemical processing equipment.</p> -<h6>Critical Limitations:</h6> -<p>Extremely difficult to machine. Requires specialized processing (vacuum induction melting, <span class="term-tooltip" data-bs-toggle="tooltip" title="A secondary melting process for refining metals and alloys.">electroslag remelting</span>, controlled forging). Susceptible to <span class="term-tooltip" data-bs-toggle="tooltip" title="Cracking that occurs during post-weld heat treatment due to precipitation and stress relaxation.">strain-age cracking</span> during post-weld heat treatment if not properly managed. High cost.</p> -<h6>Processing:</h6> -<p>Precipitation hardenable (primarily by γ'' - Ni₃Nb). Typically solution treated and aged. Welding requires specific procedures (e.g., TIG, <span class="term-tooltip" data-bs-toggle="tooltip" title="Electron Beam Welding: A fusion welding process.">EBW</span>) and often post-weld heat treatment. Forging requires tight temperature control.</p> -</div> -</td> -</tr> -<tr> -<td data-label="Material">Hastelloy X (Ni-Cr-Fe-Mo)</td> -<td data-label="Equivalents">UNS N06002, AMS 5754, EN NiCr22Fe18Mo (2.4665)</td> -<td data-label="Forms">Sheet, Plate, Bar, Wire, Forging, Tube, Pipe</td> -<td data-label="Yield">~240-365 (Solution Annealed)</td> -<td data-label="Tensile">~655-785 (Solution Annealed)</td> -<td data-label="Density">8.22</td> -<td data-label="Service Temp">Up to ~1000-1200 (for oxidation resistance, lower for significant stress)</td> -<td class="cost-tier cost-tier-7" data-label="Cost Tier">$$$$$$$</td> -<td> -<button aria-controls="details-hastx" aria-expanded="false" class="btn btn-sm btn-outline-secondary details-toggle" data-bs-target="#details-hastx" data-bs-toggle="collapse" type="button"> - Info <i class="bi bi-chevron-down"></i> -</button> -<div class="collapse collapse-content" id="details-hastx"> -<h6>Key Performance:</h6> -<ul> -<li><span class="term">High-Temp Strength</span>: Good, primarily used for its excellent oxidation resistance rather than highest strength. Retains ductility after prolonged high-temp exposure.</li> -<li><span class="term">Oxidation Resistance</span>: Outstanding up to ~1200°C due to formation of a protective oxide scale. Good resistance to <span class="term-tooltip" data-bs-toggle="tooltip" title="Diffusion of carbon into a material, often at high temperatures.">carburization</span> and <span class="term-tooltip" data-bs-toggle="tooltip" title="Diffusion of nitrogen into a material, often for surface hardening.">nitriding</span>.</li> -<li><span class="term">Fabricability</span>: Good for a superalloy (forming, welding).</li> -<li><span class="term">Machinability</span>: Difficult, similar challenges to other nickel-based superalloys.</li> -</ul> -<h6>Primary Applications:</h6> -<p>Gas turbine combustors and afterburner components (cans, ducting, flame holders), industrial furnace parts (muffles, retorts, radiant tubes), chemical process industry components requiring high-temp oxidation resistance and resistance to stress corrosion cracking.</p> -<h6>Critical Limitations:</h6> -<p>Not as strong as precipitation-hardened superalloys like Inconel 718 at moderate temperatures (below ~700°C). Subject to <span class="term-tooltip" data-bs-toggle="tooltip" title="Loss of ductility that occurs in some alloys after prolonged exposure to certain temperature ranges.">aging embrittlement</span> (loss of ductility) after long exposures in the 650-900°C range if not carefully considered in design. Very high cost.</p> -<h6>Processing:</h6> -<p>Solid-solution strengthened (not precipitation hardenable). Typically used in the solution annealed condition. Readily welded (TIG, MIG, resistance) and formed using techniques for Ni-based alloys. Careful cleaning is essential before heating.</p> -</div> -</td> -</tr> -</tbody> -</table> -</div> -</section> -<!-- Emerging Materials Section --> -<section data-section-id="emerging-materials" id="emerging-materials"> -<h2 class="section-title"><i class="bi bi-lightbulb-fill"></i> Emerging Metallic Materials</h2> -<div class="row"> -<div class="col-md-6 mb-3"> -<div class="card emerging-material-card h-100"> -<div class="card-header"><i class="bi bi-car-front-fill"></i> Advanced High-Strength Steels (AHSS)</div> -<div class="card-body"> -<p class="card-text">AHSS are complex, sophisticated steels with carefully controlled microstructures (e.g., <span class="term-tooltip" data-bs-toggle="tooltip" title="A very hard and brittle phase in steel formed by rapid cooling of austenite.">martensitic</span>, <span class="term-tooltip" data-bs-toggle="tooltip" title="A microstructure in steel consisting of ferrite and cementite, formed at temperatures between pearlite and martensite.">bainitic</span>, <span class="term-tooltip" data-bs-toggle="tooltip" title="A soft, ductile phase in steel consisting mainly of body-centered cubic (BCC) iron.">ferritic</span> with embedded hard phases like martensite in Dual Phase - DP steels, or retained austenite in TRIP steels). They offer significantly higher strength (typically >550 MPa yield) compared to conventional steels, allowing for weight reduction in components without compromising safety or performance.</p> -<h6>Key Characteristics:</h6> -<ul> -<li>High strength-to-weight ratio</li> -<li>Good formability for their strength level (varies by grade)</li> -<li>Improved crashworthiness and energy absorption</li> -</ul> -<h6>Primary Applications:</h6> -<p>Automotive body structures (pillars, rails, bumpers, door intrusion beams), chassis components, agricultural equipment.</p> -<h6>Considerations:</h6> -<p>Weldability can be challenging (requires specific procedures), <span class="term-tooltip" data-bs-toggle="tooltip" title="Elastic recovery of a material after forming, leading to dimensional changes.">springback</span> during forming, higher cost than conventional steels.</p> -</div> -</div> -</div> -<div class="col-md-6 mb-3"> -<div class="card emerging-material-card h-100"> -<div class="card-header"><i class="bi bi-intersect"></i> Metal Matrix Composites (MMCs)</div> -<div class="card-body"> -<p class="card-text">MMCs consist of a metal matrix (e.g., aluminum, titanium, magnesium) reinforced with a secondary phase, typically ceramic particles (e.g., Silicon Carbide - SiC, Alumina - Al₂O₃) or fibers (e.g., carbon, SiC). The reinforcement enhances specific properties of the base metal.</p> -<h6>Key Characteristics:</h6> -<ul> -<li>Increased stiffness and strength</li> -<li>Improved wear resistance</li> -<li>Enhanced high-temperature performance</li> -<li>Tailorable thermal expansion and conductivity</li> -</ul> -<h6>Primary Applications:</h6> -<p>Aerospace components (structural parts, engine components), automotive parts (brake rotors, pistons, connecting rods), electronic packaging/heat sinks, sporting goods.</p> -<h6>Considerations:</h6> -<p>Higher cost, potentially reduced ductility and toughness compared to unreinforced matrix, complex fabrication processes, machining challenges.</p> -</div> -</div> -</div> -<div class="col-md-6 mb-3"> -<div class="card emerging-material-card h-100"> -<div class="card-header"><i class="bi bi-pentagon-fill"></i> Amorphous Metals (Metallic Glasses)</div> -<div class="card-body"> -<p class="card-text">Amorphous metals lack a long-range ordered crystalline structure, resulting in a "glassy" atomic arrangement. This is achieved by very rapid cooling of molten alloys.</p> -<h6>Key Characteristics:</h6> -<ul> -<li>Very high strength and hardness (often exceeding crystalline counterparts)</li> -<li>Excellent elasticity (high <span class="term-tooltip" data-bs-toggle="tooltip" title="The maximum strain a material can endure without permanent deformation.">elastic strain limit</span>)</li> -<li>Good corrosion and wear resistance</li> -<li>Unique magnetic properties (soft or hard, depending on composition)</li> -</ul> -<h6>Primary Applications:</h6> -<p>Transformer cores (low energy loss), sporting equipment (golf clubs, baseball bats), consumer electronics casings (watches, phones), medical implants and surgical tools, precision molds, wear-resistant coatings.</p> -<h6>Considerations:</h6> -<p>Limited size/thickness due to rapid cooling requirement (though <span class="term-tooltip" data-bs-toggle="tooltip" title="Bulk Metallic Glasses: Amorphous metals that can be cast into larger cross-sections.">BMGs</span> - are improving this), can be brittle in tension, specialized processing, higher cost.</p> -</div> -</div> -</div> -<div class="col-md-6 mb-3"> -<div class="card emerging-material-card h-100"> -<div class="card-header"><i class="bi bi-shuffle"></i> High Entropy Alloys (HEAs)</div> -<div class="card-body"> -<p class="card-text">HEAs are a newer class of alloys typically composed of five or more principal elements in relatively equal or near-equal atomic percentages (5-35 at.% each). This high <span class="term-tooltip" data-bs-toggle="tooltip" title="Entropy related to the number of ways atoms can be arranged in a mixture; high in HEAs, favoring simple solid solutions.">configurational entropy</span> can lead to the formation of simple solid-solution phases (e.g., FCC, BCC) instead of complex <span class="term-tooltip" data-bs-toggle="tooltip" title="Compounds with specific crystal structures and fixed stoichiometric proportions of metallic elements.">intermetallics</span>, offering unique property combinations.</p> -<h6>Key Characteristics:</h6> -<ul> -<li>High strength and hardness</li> -<li>Good ductility and toughness (in some systems)</li> -<li>Excellent wear and corrosion resistance</li> -<li>Good thermal stability and high-temperature strength</li> -<li>Potential for exceptional fatigue resistance and <span class="term-tooltip" data-bs-toggle="tooltip" title="Ability of a material to withstand degradation from radiation exposure.">radiation tolerance</span>.</li> -</ul> -<h6>Primary Applications:</h6> -<p>Still largely in research & development, but potential uses include: high-temperature structural components (aerospace, power generation), wear-resistant coatings, cryogenic applications, biomedical implants, catalysts, nuclear reactor materials.</p> -<h6>Considerations:</h6> -<p>Vast compositional space makes alloy design complex, processing can be challenging, understanding long-term phase stability is ongoing, generally high material cost due to multiple (often expensive) elements.</p> -</div> -</div> -</div> -</div> -</section> -<!-- Selection Decision Matrix Section --> -<section class="matrix-section" id="selection-matrix"> -<h2 class="section-title"><i class="bi bi-card-checklist"></i> Selection Decision Matrix</h2> -<div class="row"> -<div class="col-md-6"> -<div class="card"> -<div class="card-header">Strength-to-Weight Critical:</div> -<ul class="list-group list-group-flush"> -<li class="list-group-item">1. <span class="term">Ti-6Al-4V</span> (aerospace, medical)</li> -<li class="list-group-item">2. <span class="term">7075-T6 Aluminum</span> (performance automotive, aerospace)</li> -<li class="list-group-item">3. <span class="term">High-Strength Alloy Steels (e.g., 4340, AHSS)</span> (high load, when cost is a greater concern than weight vs. Ti/Al)</li> -<li class="list-group-item">4. <span class="term">Magnesium Alloys</span> (ultra-lightweight, specific applications - not detailed above but relevant)</li> -<li class="list-group-item">5. <span class="term">MMCs (Al or Mg matrix)</span> (specialized high performance)</li> -</ul> -</div> -</div> -<div class="col-md-6"> -<div class="card"> -<div class="card-header">Corrosion Resistance Critical:</div> -<ul class="list-group list-group-flush"> -<li class="list-group-item">1. <span class="term">Titanium Alloys (CP Ti, Ti-6Al-4V)</span> (extreme environments, seawater, many chemicals)</li> -<li class="list-group-item">2. <span class="term">Superalloys (Inconel, Hastelloy)</span> (aggressive chemical and high-temp environments)</li> -<li class="list-group-item">3. <span class="term">316 Stainless Steel</span> (marine, chemical, pharmaceutical)</li> -<li class="list-group-item">4. <span class="term">Nickel-Aluminum Bronze</span> (seawater, anti-fouling)</li> -<li class="list-group-item">5. <span class="term">6061 Aluminum</span> (atmospheric, fresh water)</li> -<li class="list-group-item">6. <span class="term">Amorphous Metals (some compositions)</span> (excellent in specific media)</li> -</ul> -</div> -</div> -<div class="col-md-6"> -<div class="card"> -<div class="card-header">High Temperature (>500°C) Service:</div> -<ul class="list-group list-group-flush"> -<li class="list-group-item">1. <span class="term">Superalloys (e.g., Hastelloy X, Inconel 718)</span> (>650°C, up to 1200°C for some)</li> -<li class="list-group-item">2. <span class="term">Some Stainless Steels (e.g., 310S, specialized grades)</span> (500-800°C, depends on grade and atmosphere)</li> -<li class="list-group-item">3. <span class="term">Refractory Metals (Mo, W, Ta)</span> (>1200°C - not detailed above but critical for extreme temps)</li> -<li class="list-group-item">4. <span class="term">Tool Steels (Hot Work Grades like H13)</span> (Up to ~500-600°C with tempering considerations)</li> -<li class="list-group-item">5. <span class="term">High Entropy Alloys (some compositions)</span> (potential for very high temps)</li> -</ul> -</div> -</div> -<div class="col-md-6"> -<div class="card"> -<div class="card-header">Cost-Performance Optimization (General Purpose):</div> -<ul class="list-group list-group-flush"> -<li class="list-group-item">1. <span class="term">A36 Carbon Steel</span> (structural, low stress, lowest cost)</li> -<li class="list-group-item">2. <span class="term">6061 Aluminum</span> (moderate strength, good corrosion resistance, light weight, good processability)</li> -<li class="list-group-item">3. <span class="term">304 Stainless Steel</span> (good corrosion resistance, aesthetic appeal, moderate cost)</li> -<li class="list-group-item">4. <span class="term">Medium Carbon Alloy Steels (e.g., 4140)</span> (higher strength than plain carbon, heat treatable, moderate cost)</li> -</ul> -</div> -</div> -<div class="col-md-6"> -<div class="card"> -<div class="card-header">Electrical/Thermal Conductivity Critical:</div> -<ul class="list-group list-group-flush"> -<li class="list-group-item">1. <span class="term">Copper Alloys (e.g., C11000 ETP)</span> (highest electrical/thermal)</li> -<li class="list-group-item">2. <span class="term">Aluminum Alloys (e.g., 6061, 1xxx series)</span> (very good electrical/thermal, lighter than copper)</li> -<li class="list-group-item">3. <span class="term">Carbon Steels</span> (moderate thermal conductivity, poor electrical)</li> -<li class="list-group-item">4. <span class="term">MMCs (e.g. Al/SiC for thermal management)</span> (tailorable)</li> -</ul> -</div> -</div> -<div class="col-md-6"> -<div class="card"> -<div class="card-header">High Hardness / Wear Resistance Critical:</div> -<ul class="list-group list-group-flush"> -<li class="list-group-item">1. <span class="term">Tool Steels (D2, A2, O1 - hardened)</span> (dies, cutters, wear parts)</li> -<li class="list-group-item">2. <span class="term">Hardened Alloy Steels (e.g., 4140, 4340 - <span class="term-tooltip" data-bs-toggle="tooltip" title="A surface hardening process where nitrogen is diffused into the steel.">nitrided</span> or <span class="term-tooltip" data-bs-toggle="tooltip" title="Hardening the surface layer of a metal while keeping the core softer and tougher.">case hardened</span>)</span></li> -<li class="list-group-item">3. <span class="term">Nickel-Aluminum Bronze (C63000)</span> (bearings, gears)</li> -<li class="list-group-item">4. <span class="term">Amorphous Metals (Metallic Glasses)</span> (coatings, precision parts)</li> -<li class="list-group-item">5. <span class="term">MMCs (with ceramic reinforcement)</span> (specialized wear components)</li> -<li class="list-group-item">6. <span class="term">High Entropy Alloys (some compositions)</span></li> -</ul> -</div> -</div> -</div> -</section> -<!-- Processing Compatibility Warning Matrix Section --> -<section class="matrix-section" id="processing-warnings"> -<h2 class="section-title"><i class="bi bi-exclamation-triangle-fill"></i> Processing Compatibility Warning Matrix</h2> -<div class="card"> -<div class="card-body"> -<ul class="list-unstyled warning-matrix"> -<li>⚠️ <span class="term">Welding Difficulties/Restrictions:</span> -<ul> -<li><span class="term">7075 & 2024 Aluminum:</span> Generally not recommended for fusion welding (prone to cracking).</li> -<li><span class="term">Tool Steels (Hardened):</span> Require special procedures (pre/post heat, specific consumables) if welded at all; often avoided.</li> -<li><span class="term">Martensitic Stainless Steels (e.g., 400 series hardened):</span> Require pre/post heat.</li> -<li><span class="term">Titanium Alloys:</span> Require inert gas shielding for all heated zones to prevent contamination.</li> -<li><span class="term">Superalloys:</span> Often require specialized techniques, consumables, controlled atmospheres, and are prone to cracking.</li> -<li><span class="term">Some AHSS:</span> Can have narrow welding windows and HAZ (<span class="term-tooltip" data-bs-toggle="tooltip" title="Heat Affected Zone: The area of base material, not melted during welding, but whose microstructure and properties were altered by the heat.">Heat Affected Zone</span>) softening concerns.</li> -</ul> -</li> -<li>⚠️ <span class="term">Galvanic Corrosion Risk - Dissimilar Metal Contact:</span> -<ul> -<li><span class="term">Aluminum + Steel/Stainless Steel/Copper:</span> Aluminum will corrode preferentially. Isolation required.</li> -<li><span class="term">Titanium + Steel/Aluminum:</span> Steel/Aluminum will corrode. Isolation often needed.</li> -<li><span class="term">Carbon Steel + Stainless Steel:</span> Carbon steel corrodes.</li> -<li>Always consult a <span class="term-tooltip" data-bs-toggle="tooltip" title="A series ranking metals by their tendency to corrode in a specific electrolyte.">galvanic series</span> chart for specific environment and potential difference.</li> -</ul> -</li> -<li>⚠️ <span class="term">Hydrogen Embrittlement Risk:</span> -<ul> -<li><span class="term">High-Strength Steels (e.g., 4340, Tool Steels, some AHSS):</span> Susceptible, especially after plating, pickling, or in hydrogen-rich environments. Baking after plating is crucial.</li> -<li><span class="term">Titanium Alloys:</span> Can absorb hydrogen at elevated temperatures or from certain processes, leading to embrittlement.</li> -<li><span class="term">Martensitic Stainless Steels:</span> Can be susceptible.</li> -</ul> -</li> -<li>⚠️ <span class="term">Critical Heat Treatment Requirements:</span> -<ul> -<li>All heat-treatable alloys (<span class="term">Alloy Steels, PH Stainless, Al Alloys (2xxx, 6xxx, 7xxx), Ti Alloys, Tool Steels, Superalloys</span>) require precise temperature control, soak times, and quench/aging parameters to achieve desired properties. Deviations can lead to drastically reduced performance or failure.</li> -<li><span class="term">Austenitic Stainless Steels (304, 316):</span> Can be <span class="term-tooltip" data-bs-toggle="tooltip" title="Precipitation of chromium carbides at grain boundaries in stainless steels, reducing corrosion resistance.">sensitized</span> (loss of corrosion resistance at grain boundaries) if heated in ~450-850°C range (e.g., during welding without L-grade or stabilization).</li> -</ul> -</li> -<li>⚠️ <span class="term">Machinability Challenges:</span> -<ul> -<li><span class="term">Titanium Alloys:</span> Low thermal conductivity, <span class="term-tooltip" data-bs-toggle="tooltip" title="A type of wear caused by adhesion between sliding surfaces, common when machining sticky materials.">galling</span>, work hardening, reactivity.</li> -<li><span class="term">Superalloys:</span> Extreme work hardening, high strength at cutting temps, abrasive phases.</li> -<li><span class="term">Austenitic Stainless Steels:</span> High work hardening rate, gummy chips.</li> -<li><span class="term">Tool Steels (Hardened):</span> Very difficult, often requires grinding or specialized hard machining.</li> -<li><span class="term">MMCs:</span> Abrasive reinforcements cause rapid tool wear.</li> -</ul> -</li> -<li>⚠️ <span class="term">Stress Corrosion Cracking (SCC) Susceptibility:</span> -<ul> -<li><span class="term">High-Strength Al Alloys (7075, 2024):</span> Especially in certain tempers (e.g., T6 for 7075) and corrosive environments (chlorides). T7x tempers improve resistance.</li> -<li><span class="term">Austenitic Stainless Steels (304, 316):</span> In chloride environments above ~60°C under tensile stress.</li> -<li><span class="term">High-Strength Steels:</span> In specific corrosive media under tensile stress.</li> -<li><span class="term">Brasses (High Zinc):</span> In ammonia environments (season cracking).</li> -</ul> -</li> -</ul> -</div> -</div> -</section> -</div> <!-- /metals-data-container --> -</main> -<footer> -<div class="container"> -<section id="references" class="text-start mb-4"> - <h4>References & Further Reading</h4> - <p class="text-white-50 small">The data presented here is compiled and simplified for comparison from numerous authoritative sources. For detailed design specifications, always consult the latest standards and handbooks from organizations like ASTM, ASM International, and specific supplier datasheets.</p> - <ul class="list-unstyled small text-white-50"> - <li>[1] Callister, W. D., & Rethwisch, D. G. (2018). *Materials Science and Engineering: An Introduction.*</li> - <li>[2] ASM Handbook series, ASM International.</li> - <li>[3] MatWeb Material Property Data (www.matweb.com).</li> - <li>[4] Kalpakjian, S., & Schmid, S. R. (2014). *Manufacturing Engineering and Technology.*</li> - <li>[5] General industry datasheets and technical articles.</li> - </ul> -</section> -<a class="mx-2" href="https://www.linkedin.com/in/davidveksler/" target="_blank" aria-label="David Veksler on LinkedIn" title="David Veksler on LinkedIn"> -<i class="bi bi-linkedin"></i> LinkedIn - </a> -<a class="mx-2" href="https://cheatsheets.davidveksler.com/" aria-label="Browse All Cheatsheets" title="Browse All Cheatsheets"> -<i class="bi bi-collection"></i> All Cheatsheets - </a> - <p class="mt-2">Copyright © <span id="currentYear"></span> David Veksler. All rights reserved.</p> -</div> -</footer> -<!-- Bootstrap JS Bundle (Popper.js included) --> -<script crossorigin="anonymous" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script> -<script> - document.addEventListener('DOMContentLoaded', function () { + <div class="card-body"> + <p class="card-text"> + MMCs consist of a metal matrix (e.g., aluminum, titanium, magnesium) reinforced with a secondary phase, typically ceramic particles (e.g., Silicon Carbide - SiC, Alumina - Al₂O₃) or fibers (e.g., carbon, SiC). The reinforcement enhances specific properties of the base metal. + </p> + <h6> + Key Characteristics: + </h6> + <ul> + <li> + Increased stiffness and strength + </li> + <li> + Improved wear resistance + </li> + <li> + Enhanced high-temperature performance + </li> + <li> + Tailorable thermal expansion and conductivity + </li> + </ul> + <h6> + Primary Applications: + </h6> + <p> + Aerospace components (structural parts, engine components), automotive parts (brake rotors, pistons, connecting rods), electronic packaging/heat sinks, sporting goods. + </p> + <h6> + Considerations: + </h6> + <p> + Higher cost, potentially reduced ductility and toughness compared to unreinforced matrix, complex fabrication processes, machining challenges. + </p> + </div> + </div> + </div> + <div class="col-md-6 mb-3"> + <div class="card emerging-material-card h-100"> + <div class="card-header"> + <i class="bi bi-pentagon-fill"> + </i> + Amorphous Metals (Metallic Glasses) + </div> + <div class="card-body"> + <p class="card-text"> + Amorphous metals lack a long-range ordered crystalline structure, resulting in a "glassy" atomic arrangement. This is achieved by very rapid cooling of molten alloys. + </p> + <h6> + Key Characteristics: + </h6> + <ul> + <li> + Very high strength and hardness (often exceeding crystalline counterparts) + </li> + <li> + Excellent elasticity (high + <span class="term-tooltip" data-bs-toggle="tooltip" title="The maximum strain a material can endure without permanent deformation."> + elastic strain limit + </span> + ) + </li> + <li> + Good corrosion and wear resistance + </li> + <li> + Unique magnetic properties (soft or hard, depending on composition) + </li> + </ul> + <h6> + Primary Applications: + </h6> + <p> + Transformer cores (low energy loss), sporting equipment (golf clubs, baseball bats), consumer electronics casings (watches, phones), medical implants and surgical tools, precision molds, wear-resistant coatings. + </p> + <h6> + Considerations: + </h6> + <p> + Limited size/thickness due to rapid cooling requirement (though + <span class="term-tooltip" data-bs-toggle="tooltip" title="Bulk Metallic Glasses: Amorphous metals that can be cast into larger cross-sections."> + BMGs + </span> + - are improving this), can be brittle in tension, specialized processing, higher cost. + </p> + </div> + </div> + </div> + <div class="col-md-6 mb-3"> + <div class="card emerging-material-card h-100"> + <div class="card-header"> + <i class="bi bi-shuffle"> + </i> + High Entropy Alloys (HEAs) + </div> + <div class="card-body"> + <p class="card-text"> + HEAs are a newer class of alloys typically composed of five or more principal elements in relatively equal or near-equal atomic percentages (5-35 at.% each). This high + <span class="term-tooltip" data-bs-toggle="tooltip" title="Entropy related to the number of ways atoms can be arranged in a mixture; high in HEAs, favoring simple solid solutions."> + configurational entropy + </span> + can lead to the formation of simple solid-solution phases (e.g., FCC, BCC) instead of complex + <span class="term-tooltip" data-bs-toggle="tooltip" title="Compounds with specific crystal structures and fixed stoichiometric proportions of metallic elements."> + intermetallics + </span> + , offering unique property combinations. + </p> + <h6> + Key Characteristics: + </h6> + <ul> + <li> + High strength and hardness + </li> + <li> + Good ductility and toughness (in some systems) + </li> + <li> + Excellent wear and corrosion resistance + </li> + <li> + Good thermal stability and high-temperature strength + </li> + <li> + Potential for exceptional fatigue resistance and + <span class="term-tooltip" data-bs-toggle="tooltip" title="Ability of a material to withstand degradation from radiation exposure."> + radiation tolerance + </span> + . + </li> + </ul> + <h6> + Primary Applications: + </h6> + <p> + Still largely in research & development, but potential uses include: high-temperature structural components (aerospace, power generation), wear-resistant coatings, cryogenic applications, biomedical implants, catalysts, nuclear reactor materials. + </p> + <h6> + Considerations: + </h6> + <p> + Vast compositional space makes alloy design complex, processing can be challenging, understanding long-term phase stability is ongoing, generally high material cost due to multiple (often expensive) elements. + </p> + </div> + </div> + </div> + </div> + </section> + <!-- Selection Decision Matrix Section --> + <section class="matrix-section" id="selection-matrix"> + <h2 class="section-title"> + <i class="bi bi-card-checklist"> + </i> + Selection Decision Matrix + </h2> + <div class="row"> + <div class="col-md-6"> + <div class="card"> + <div class="card-header"> + Strength-to-Weight Critical: + </div> + <ul class="list-group list-group-flush"> + <li class="list-group-item"> + 1. + <span class="term"> + Ti-6Al-4V + </span> + (aerospace, medical) + </li> + <li class="list-group-item"> + 2. + <span class="term"> + 7075-T6 Aluminum + </span> + (performance automotive, aerospace) + </li> + <li class="list-group-item"> + 3. + <span class="term"> + High-Strength Alloy Steels (e.g., 4340, AHSS) + </span> + (high load, when cost is a greater concern than weight vs. Ti/Al) + </li> + <li class="list-group-item"> + 4. + <span class="term"> + Magnesium Alloys + </span> + (ultra-lightweight, specific applications - not detailed above but relevant) + </li> + <li class="list-group-item"> + 5. + <span class="term"> + MMCs (Al or Mg matrix) + </span> + (specialized high performance) + </li> + </ul> + </div> + </div> + <div class="col-md-6"> + <div class="card"> + <div class="card-header"> + Corrosion Resistance Critical: + </div> + <ul class="list-group list-group-flush"> + <li class="list-group-item"> + 1. + <span class="term"> + Titanium Alloys (CP Ti, Ti-6Al-4V) + </span> + (extreme environments, seawater, many chemicals) + </li> + <li class="list-group-item"> + 2. + <span class="term"> + Superalloys (Inconel, Hastelloy) + </span> + (aggressive chemical and high-temp environments) + </li> + <li class="list-group-item"> + 3. + <span class="term"> + 316 Stainless Steel + </span> + (marine, chemical, pharmaceutical) + </li> + <li class="list-group-item"> + 4. + <span class="term"> + Nickel-Aluminum Bronze + </span> + (seawater, anti-fouling) + </li> + <li class="list-group-item"> + 5. + <span class="term"> + 6061 Aluminum + </span> + (atmospheric, fresh water) + </li> + <li class="list-group-item"> + 6. + <span class="term"> + Amorphous Metals (some compositions) + </span> + (excellent in specific media) + </li> + </ul> + </div> + </div> + <div class="col-md-6"> + <div class="card"> + <div class="card-header"> + High Temperature (>500°C) Service: + </div> + <ul class="list-group list-group-flush"> + <li class="list-group-item"> + 1. + <span class="term"> + Superalloys (e.g., Hastelloy X, Inconel 718) + </span> + (>650°C, up to 1200°C for some) + </li> + <li class="list-group-item"> + 2. + <span class="term"> + Some Stainless Steels (e.g., 310S, specialized grades) + </span> + (500-800°C, depends on grade and atmosphere) + </li> + <li class="list-group-item"> + 3. + <span class="term"> + Refractory Metals (Mo, W, Ta) + </span> + (>1200°C - not detailed above but critical for extreme temps) + </li> + <li class="list-group-item"> + 4. + <span class="term"> + Tool Steels (Hot Work Grades like H13) + </span> + (Up to ~500-600°C with tempering considerations) + </li> + <li class="list-group-item"> + 5. + <span class="term"> + High Entropy Alloys (some compositions) + </span> + (potential for very high temps) + </li> + </ul> + </div> + </div> + <div class="col-md-6"> + <div class="card"> + <div class="card-header"> + Cost-Performance Optimization (General Purpose): + </div> + <ul class="list-group list-group-flush"> + <li class="list-group-item"> + 1. + <span class="term"> + A36 Carbon Steel + </span> + (structural, low stress, lowest cost) + </li> + <li class="list-group-item"> + 2. + <span class="term"> + 6061 Aluminum + </span> + (moderate strength, good corrosion resistance, light weight, good processability) + </li> + <li class="list-group-item"> + 3. + <span class="term"> + 304 Stainless Steel + </span> + (good corrosion resistance, aesthetic appeal, moderate cost) + </li> + <li class="list-group-item"> + 4. + <span class="term"> + Medium Carbon Alloy Steels (e.g., 4140) + </span> + (higher strength than plain carbon, heat treatable, moderate cost) + </li> + </ul> + </div> + </div> + <div class="col-md-6"> + <div class="card"> + <div class="card-header"> + Electrical/Thermal Conductivity Critical: + </div> + <ul class="list-group list-group-flush"> + <li class="list-group-item"> + 1. + <span class="term"> + Copper Alloys (e.g., C11000 ETP) + </span> + (highest electrical/thermal) + </li> + <li class="list-group-item"> + 2. + <span class="term"> + Aluminum Alloys (e.g., 6061, 1xxx series) + </span> + (very good electrical/thermal, lighter than copper) + </li> + <li class="list-group-item"> + 3. + <span class="term"> + Carbon Steels + </span> + (moderate thermal conductivity, poor electrical) + </li> + <li class="list-group-item"> + 4. + <span class="term"> + MMCs (e.g. Al/SiC for thermal management) + </span> + (tailorable) + </li> + </ul> + </div> + </div> + <div class="col-md-6"> + <div class="card"> + <div class="card-header"> + High Hardness / Wear Resistance Critical: + </div> + <ul class="list-group list-group-flush"> + <li class="list-group-item"> + 1. + <span class="term"> + Tool Steels (D2, A2, O1 - hardened) + </span> + (dies, cutters, wear parts) + </li> + <li class="list-group-item"> + 2. + <span class="term"> + Hardened Alloy Steels (e.g., 4140, 4340 - + <span class="term-tooltip" data-bs-toggle="tooltip" title="A surface hardening process where nitrogen is diffused into the steel."> + nitrided + </span> + or + <span class="term-tooltip" data-bs-toggle="tooltip" title="Hardening the surface layer of a metal while keeping the core softer and tougher."> + case hardened + </span> + ) + </span> + </li> + <li class="list-group-item"> + 3. + <span class="term"> + Nickel-Aluminum Bronze (C63000) + </span> + (bearings, gears) + </li> + <li class="list-group-item"> + 4. + <span class="term"> + Amorphous Metals (Metallic Glasses) + </span> + (coatings, precision parts) + </li> + <li class="list-group-item"> + 5. + <span class="term"> + MMCs (with ceramic reinforcement) + </span> + (specialized wear components) + </li> + <li class="list-group-item"> + 6. + <span class="term"> + High Entropy Alloys (some compositions) + </span> + </li> + </ul> + </div> + </div> + </div> + </section> + <!-- Processing Compatibility Warning Matrix Section --> + <section class="matrix-section" id="processing-warnings"> + <h2 class="section-title"> + <i class="bi bi-exclamation-triangle-fill"> + </i> + Processing Compatibility Warning Matrix + </h2> + <div class="card"> + <div class="card-body"> + <ul class="list-unstyled warning-matrix"> + <li> + ⚠️ + <span class="term"> + Welding Difficulties/Restrictions: + </span> + <ul> + <li> + <span class="term"> + 7075 & 2024 Aluminum: + </span> + Generally not recommended for fusion welding (prone to cracking). + </li> + <li> + <span class="term"> + Tool Steels (Hardened): + </span> + Require special procedures (pre/post heat, specific consumables) if welded at all; often avoided. + </li> + <li> + <span class="term"> + Martensitic Stainless Steels (e.g., 400 series hardened): + </span> + Require pre/post heat. + </li> + <li> + <span class="term"> + Titanium Alloys: + </span> + Require inert gas shielding for all heated zones to prevent contamination. + </li> + <li> + <span class="term"> + Superalloys: + </span> + Often require specialized techniques, consumables, controlled atmospheres, and are prone to cracking. + </li> + <li> + <span class="term"> + Some AHSS: + </span> + Can have narrow welding windows and HAZ ( + <span class="term-tooltip" data-bs-toggle="tooltip" title="Heat Affected Zone: The area of base material, not melted during welding, but whose microstructure and properties were altered by the heat."> + Heat Affected Zone + </span> + ) softening concerns. + </li> + </ul> + </li> + <li> + ⚠️ + <span class="term"> + Galvanic Corrosion Risk - Dissimilar Metal Contact: + </span> + <ul> + <li> + <span class="term"> + Aluminum + Steel/Stainless Steel/Copper: + </span> + Aluminum will corrode preferentially. Isolation required. + </li> + <li> + <span class="term"> + Titanium + Steel/Aluminum: + </span> + Steel/Aluminum will corrode. Isolation often needed. + </li> + <li> + <span class="term"> + Carbon Steel + Stainless Steel: + </span> + Carbon steel corrodes. + </li> + <li> + Always consult a + <span class="term-tooltip" data-bs-toggle="tooltip" title="A series ranking metals by their tendency to corrode in a specific electrolyte."> + galvanic series + </span> + chart for specific environment and potential difference. + </li> + </ul> + </li> + <li> + ⚠️ + <span class="term"> + Hydrogen Embrittlement Risk: + </span> + <ul> + <li> + <span class="term"> + High-Strength Steels (e.g., 4340, Tool Steels, some AHSS): + </span> + Susceptible, especially after plating, pickling, or in hydrogen-rich environments. Baking after plating is crucial. + </li> + <li> + <span class="term"> + Titanium Alloys: + </span> + Can absorb hydrogen at elevated temperatures or from certain processes, leading to embrittlement. + </li> + <li> + <span class="term"> + Martensitic Stainless Steels: + </span> + Can be susceptible. + </li> + </ul> + </li> + <li> + ⚠️ + <span class="term"> + Critical Heat Treatment Requirements: + </span> + <ul> + <li> + All heat-treatable alloys ( + <span class="term"> + Alloy Steels, PH Stainless, Al Alloys (2xxx, 6xxx, 7xxx), Ti Alloys, Tool Steels, Superalloys + </span> + ) require precise temperature control, soak times, and quench/aging parameters to achieve desired properties. Deviations can lead to drastically reduced performance or failure. + </li> + <li> + <span class="term"> + Austenitic Stainless Steels (304, 316): + </span> + Can be + <span class="term-tooltip" data-bs-toggle="tooltip" title="Precipitation of chromium carbides at grain boundaries in stainless steels, reducing corrosion resistance."> + sensitized + </span> + (loss of corrosion resistance at grain boundaries) if heated in ~450-850°C range (e.g., during welding without L-grade or stabilization). + </li> + </ul> + </li> + <li> + ⚠️ + <span class="term"> + Machinability Challenges: + </span> + <ul> + <li> + <span class="term"> + Titanium Alloys: + </span> + Low thermal conductivity, + <span class="term-tooltip" data-bs-toggle="tooltip" title="A type of wear caused by adhesion between sliding surfaces, common when machining sticky materials."> + galling + </span> + , work hardening, reactivity. + </li> + <li> + <span class="term"> + Superalloys: + </span> + Extreme work hardening, high strength at cutting temps, abrasive phases. + </li> + <li> + <span class="term"> + Austenitic Stainless Steels: + </span> + High work hardening rate, gummy chips. + </li> + <li> + <span class="term"> + Tool Steels (Hardened): + </span> + Very difficult, often requires grinding or specialized hard machining. + </li> + <li> + <span class="term"> + MMCs: + </span> + Abrasive reinforcements cause rapid tool wear. + </li> + </ul> + </li> + <li> + ⚠️ + <span class="term"> + Stress Corrosion Cracking (SCC) Susceptibility: + </span> + <ul> + <li> + <span class="term"> + High-Strength Al Alloys (7075, 2024): + </span> + Especially in certain tempers (e.g., T6 for 7075) and corrosive environments (chlorides). T7x tempers improve resistance. + </li> + <li> + <span class="term"> + Austenitic Stainless Steels (304, 316): + </span> + In chloride environments above ~60°C under tensile stress. + </li> + <li> + <span class="term"> + High-Strength Steels: + </span> + In specific corrosive media under tensile stress. + </li> + <li> + <span class="term"> + Brasses (High Zinc): + </span> + In ammonia environments (season cracking). + </li> + </ul> + </li> + </ul> + </div> + </div> + </section> + </div> + <!-- /metals-data-container --> + </main> + <footer> + <div class="container"> + <section class="text-start mb-4" id="references"> + <h4> + References & Further Reading + </h4> + <p class="text-white-50 small"> + The data presented here is compiled and simplified for comparison from numerous authoritative sources. For detailed design specifications, always consult the latest standards and handbooks from organizations like ASTM, ASM International, and specific supplier datasheets. + </p> + <ul class="list-unstyled small text-white-50"> + <li> + [1] Callister, W. D., & Rethwisch, D. G. (2018). *Materials Science and Engineering: An Introduction.* + </li> + <li> + [2] ASM Handbook series, ASM International. + </li> + <li> + [3] MatWeb Material Property Data (www.matweb.com). + </li> + <li> + [4] Kalpakjian, S., & Schmid, S. R. (2014). *Manufacturing Engineering and Technology.* + </li> + <li> + [5] General industry datasheets and technical articles. + </li> + </ul> + </section> + <a aria-label="David Veksler on LinkedIn" class="mx-2" href="https://www.linkedin.com/in/davidveksler/" target="_blank" title="David Veksler on LinkedIn"> + <i class="bi bi-linkedin"> + </i> + LinkedIn + </a> + <a aria-label="Browse All Cheatsheets" class="mx-2" href="https://cheatsheets.davidveksler.com/" title="Browse All Cheatsheets"> + <i class="bi bi-collection"> + </i> + All Cheatsheets + </a> + <p class="mt-2"> + Copyright © + <span id="currentYear"> + </span> + David Veksler. All rights reserved. + </p> + </div> + </footer> + <!-- Bootstrap JS Bundle (Popper.js included) --> + <script crossorigin="anonymous" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"> + </script> + <script> + document.addEventListener('DOMContentLoaded', function () { // Set current year in footer const currentYearSpan = document.getElementById('currentYear'); if (currentYearSpan) { @@ -1784,6 +4261,6 @@ return new bootstrap.Tooltip(tooltipTriggerEl); }); }); - </script> -</body> -</html> \ No newline at end of file + </script> + </body> +</html> Binary files /dev/null and b/images/azure-devops.png differ Binary files /dev/null and b/images/modern-devops-pipelines.png differ --- a/modern-devops-pipelines.html +++ b/modern-devops-pipelines.html @@ -1,795 +1,325 @@ <!DOCTYPE html> <html lang="en"> <head> - <meta charset="UTF-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <title>Modern DevOps Pipelines Cheatsheet: Azure, Terraform & SonarQube Guide</title> - <link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22><text y=%22.9em%22 font-size=%2290%22>🚀</text></svg>"> - + <meta charset="utf-8" /> + <meta content="width=device-width, initial-scale=1.0" name="viewport" /> + <title>A Modern DevOps Pipeline Cheatsheet</title> + <link href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22><text y=%22.9em%22 font-size=%2290%22>🚀</text></svg>" rel="icon" /> <!-- SEO & Metadata --> - <meta name="description" content="A comprehensive, opinionated cheatsheet for modern DevOps pipelines, focusing on the Azure DevOps ecosystem. Covers CI/CD with YAML, IaC with Terraform, code quality with SonarQube, security, and monitoring."> - <meta name="keywords" content="DevOps, CI/CD, Cheatsheet, Azure DevOps, Terraform, SonarQube, Infrastructure as Code, IaC, Continuous Integration, Continuous Delivery, Git, Automation, Security, YAML Pipelines, Azure Repos, Azure Pipelines"> - <link rel="canonical" href="https://cheatsheets.davidveksler.com/modern-devops-pipelines.html"> - - <!-- Open Graph / Facebook --> - <meta property="og:type" content="website"> - <meta property="og:url" content="https://cheatsheets.davidveksler.com/modern-devops-pipelines.html"> - <meta property="og:title" content="Modern DevOps Pipelines Cheatsheet: Azure, Terraform & SonarQube Guide"> - <meta property="og:description" content="A battle-hardened guide to building effective CI/CD pipelines in Azure DevOps with Terraform for IaC and SonarQube for code quality."> - <meta property="og:image" content="https://cheatsheets.davidveksler.com/images/modern-devops-pipelines.png"> - <meta property="og:image:alt" content="A visual diagram of a DevOps pipeline showing stages like SCM, CI, CD, IaC, Security, and Monitoring."> - - <!-- Twitter --> - <meta name="twitter:card" content="summary_large_image"> - <meta name="twitter:url" content="https://cheatsheets.davidveksler.com/modern-devops-pipelines.html"> - <meta name="twitter:title" content="Modern DevOps Pipelines Cheatsheet: Azure, Terraform & SonarQube Guide"> - <meta name="twitter:description" content="An opinionated cheatsheet for building robust DevOps pipelines using Azure DevOps, Terraform, and SonarQube."> - <meta name="twitter:image" content="https://cheatsheets.davidveksler.com/images/modern-devops-pipelines.png"> - <meta name="twitter:creator" content="@heroiclife"> - - <!-- JSON-LD Structured Data --> - <script type="application/ld+json"> - { - "@context": "https://schema.org", - "@type": "TechArticle", - "headline": "The Modern DevOps Pipeline: A Battle-Hardened Cheatsheet", - "description": "A comprehensive, opinionated cheatsheet for modern DevOps pipelines, focusing on the Azure DevOps ecosystem. Covers CI/CD with YAML, IaC with Terraform, code quality with SonarQube, security, and monitoring.", - "image": "https://cheatsheets.davidveksler.com/images/modern-devops-pipelines.png", - "author": { - "@type": "Person", - "name": "David Veksler (AI Generated)" - }, - "publisher": { - "@type": "Organization", - "name": "David Veksler Cheatsheets", - "logo": { - "@type": "ImageObject", - "url": "https://cheatsheets.davidveksler.com/images/logo-placeholder.png" - } - }, - "datePublished": "2024-06-14", - "dateModified": "2024-06-14", - "keywords": "DevOps, CI/CD, Azure DevOps, Terraform, SonarQube, IaC, Continuous Integration, Continuous Delivery, Git, Automation, Security" - } - </script> - + <meta content="A logically structured cheatsheet for modern DevOps pipelines, covering the lifecycle from SCM, CI, CD, to Monitoring. Compares Azure DevOps and GitHub Actions, with details on Terraform, Kubernetes, and security." name="description" /> + <meta content="DevOps, CI/CD, Cheatsheet, Azure DevOps, GitHub Actions, Terraform, Kubernetes, Jenkins, GitLab, IaC, SCM, Continuous Integration, Continuous Delivery, Monitoring" name="keywords" /> <!-- Bootstrap CSS --> - <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous"> + <link crossorigin="anonymous" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" rel="stylesheet" /> <!-- Bootstrap Icons --> - <link href="https://cdn.jsdelivr.net/npm/[email protected]/font/bootstrap-icons.min.css" rel="stylesheet"> - + <link href="https://cdn.jsdelivr.net/npm/[email protected]/font/bootstrap-icons.min.css" rel="stylesheet" /> <style> :root { --bs-body-bg: #1a1d21; --bs-body-color: #e9ecef; - --bs-primary: #0d6efd; /* Azure Blue */ - --bs-primary-dark: #0a58ca; - --bs-primary-light: #cfe2ff; --card-bg: #212529; --card-border-color: #495057; --card-shadow-color: rgba(0, 0, 0, 0.4); --text-color-main: #f8f9fa; --text-color-secondary: #adb5bd; - --text-color-highlight: #78C1F3; /* Light Blue Highlight */ + --text-color-highlight: #78C1F3; --schema-bg-color: rgba(33, 37, 41, 0.7); --schema-border-color: #343a40; --blueprint-grid-color: rgba(108, 117, 125, 0.1); - - /* DevOps Category Colors */ - --devops-color-scm: #F05032; /* Git Orange */ - --devops-color-ci: #F7B601; /* SonarQube Yellow */ - --devops-color-cd: #0078D4; /* Azure Blue */ - --devops-color-iac: #7B42BC; /* Terraform Purple */ - --devops-color-security: #D73A49; /* Security Red */ - --devops-color-monitoring: #28A745;/* Monitoring Green */ - - --db-category-color: var(--bs-primary); /* Default */ - } - - body { - background-color: var(--bs-body-bg); - background-image: - linear-gradient(var(--blueprint-grid-color) 1px, transparent 1px), - linear-gradient(to right, var(--blueprint-grid-color) 1px, transparent 1px); - background-size: 50px 50px; - font-family: 'Segoe UI', 'Roboto', 'Helvetica Neue', Arial, sans-serif; - } - - .page-header { - background: linear-gradient(135deg, rgba(13, 110, 253, 0.1), rgba(0, 0, 0, 0.2)); - padding: 3rem 1.5rem; - text-align: center; - border-bottom: 1px solid var(--schema-border-color); - margin-bottom: 2rem; - color: var(--text-color-main); - } - .page-header h1 { - color: #fff; - font-weight: 300; - font-size: 2.8rem; - } - .page-header .lead { - color: var(--text-color-secondary); - max-width: 800px; - margin: auto; - font-style: italic; - } - - #filter-controls { - background-color: rgba(26, 29, 33, 0.85); - backdrop-filter: blur(8px); - padding: 1rem; - border-radius: 8px; - box-shadow: 0 4px 15px rgba(0,0,0,0.3); - margin-bottom: 2rem; - position: sticky; - top: 10px; - z-index: 1020; - } - #search-box { - background-color: #2c3136; - border-color: var(--card-border-color); - color: var(--bs-body-color); - } - #search-box::placeholder { color: #6c757d; } - #search-box:focus { - background-color: #2c3136; - color: var(--bs-body-color); - border-color: var(--bs-primary); - box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); - } - - .schema-container { - background-color: var(--schema-bg-color); - border: 1px solid var(--schema-border-color); - border-radius: 8px; - padding: 1.5rem; - margin-bottom: 2.5rem; - box-shadow: 0 8px 30px rgba(0,0,0,0.2); - backdrop-filter: blur(5px); - } - - .section-title { - color: var(--db-category-color); - margin: -2.7rem 0 1.5rem 0; - font-weight: 600; - text-transform: uppercase; - letter-spacing: .08em; - font-size: 1.1rem; - border-bottom: none; - padding: 0.4rem 1rem; - background-color: var(--bs-body-bg); - display: inline-block; - position: relative; - left: 1rem; - } - - .info-card { - background: var(--card-bg); - border: 1px solid var(--card-border-color); - border-radius: 6px; - box-shadow: 0 4px 12px var(--card-shadow-color); - height: 100%; - display: flex; - flex-direction: column; - transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out; - } - .info-card:hover { - transform: translateY(-5px); - box-shadow: 0 8px 20px var(--card-shadow-color); - } - - .info-card h5 { - color: #fff; - background-color: var(--db-category-color); - font-size: 1rem; - text-align: center; - margin: 0; - padding: 0.7rem 0.5rem; - font-weight: 600; - display: flex; - justify-content: center; - align-items: center; - gap: .5rem; - border-bottom: 1px solid var(--card-border-color); - border-radius: 5px 5px 0 0; + --devops-color-concepts: #6c757d; + --devops-color-scm: #F05032; + --devops-color-ci: #F7B601; + --devops-color-cd: #32a852; + --devops-color-iac: #7B42BC; + --devops-color-security: #D73A49; + --devops-color-monitoring: #28a745; } - .info-card h5 .bi { font-size: 1.2em; opacity: 0.9; } - + body { background-color: var(--bs-body-bg); background-image: linear-gradient(var(--blueprint-grid-color) 1px, transparent 1px), linear-gradient(to right, var(--blueprint-grid-color) 1px, transparent 1px); background-size: 50px 50px; font-family: 'Segoe UI', 'Roboto', 'Helvetica Neue', Arial, sans-serif; } + .page-header { background: linear-gradient(135deg, rgba(13, 110, 253, 0.1), rgba(110, 64, 201, 0.1)); padding: 3rem 1.5rem; text-align: center; border-bottom: 1px solid var(--schema-border-color); margin-bottom: 2rem; } + .page-header h1 { color: #fff; font-weight: 300; font-size: 2.8rem; } + .page-header .lead { color: var(--text-color-secondary); max-width: 800px; margin: auto; font-style: italic; } + .section-title { color: var(--text-color-main); margin-bottom: 1.5rem; padding-bottom: 0.5rem; border-bottom: 1px solid var(--schema-border-color); } + .info-card { background: var(--card-bg); border: 1px solid var(--card-border-color); border-radius: 6px; box-shadow: 0 4px 12px var(--card-shadow-color); height: 100%; display: flex; flex-direction: column; } + .info-card h5 { color: #fff; background-color: var(--card-category-color); font-size: 1rem; text-align: center; margin: 0; padding: 0.7rem 0.5rem; font-weight: 600; display: flex; justify-content: center; align-items: center; gap: .5rem; border-bottom: 1px solid var(--card-border-color); border-radius: 5px 5px 0 0; } + .info-card h5 .bi { font-size: 1.2em; } .card-content-wrapper { padding: 1rem; flex-grow: 1; display: flex; flex-direction: column; } .info-card p.summary { font-size: .9rem; color: var(--text-color-secondary); margin-bottom: 1rem; flex-grow: 1; line-height: 1.6; } - - .details-toggle { - font-size: 0.8rem; - margin-top: auto; - align-self: flex-start; - color: var(--text-color-secondary); - border-color: var(--text-color-secondary); - transition: all 0.2s ease; - } - .details-toggle:hover { - color: #fff; - background-color: var(--db-category-color); - border-color: var(--db-category-color); - } - .details-toggle .bi { transition: transform 0.2s ease-in-out; } - .details-toggle[aria-expanded="true"] .bi { transform: rotate(180deg); } - - .collapse-content { - font-size: 0.9rem; - border-top: 1px solid var(--card-border-color); - padding: 1rem; - background-color: #1a1d21; - } - .collapse-content h6 { - font-weight: 700; - color: var(--text-color-highlight); - margin-top: 0.8rem; - margin-bottom: 0.5rem; - font-size: 0.95rem; - } - .collapse-content ul { padding-left: 1.2rem; } - .collapse-content code { - font-size: 0.85rem; - color: #e83e8c; - background-color: rgba(255, 255, 255, 0.05); - padding: 0.2em 0.4em; - border-radius: 3px; - font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace; - } - .collapse-content .callout { - border-left: 4px solid var(--db-category-color); - padding: 0.8rem 1rem; - margin: 1rem 0; - background-color: rgba(255,255,255,0.03); - border-radius: 0 4px 4px 0; - } - - .term { - font-weight: 600; - color: var(--text-color-highlight); - background-color: rgba(120, 193, 243, 0.1); - padding: 0.1em 0.35em; - border-radius: 3px; - cursor: help; - } - - /* Category Color Styling */ - .section-scm, .card-scm { --db-category-color: var(--devops-color-scm); } - .section-ci, .card-ci { --db-category-color: var(--devops-color-ci); } - .section-cd, .card-cd { --db-category-color: var(--devops-color-cd); } - .section-iac, .card-iac { --db-category-color: var(--devops-color-iac); } - .section-security, .card-security { --db-category-color: var(--devops-color-security); } - .section-monitoring, .card-monitoring { --db-category-color: var(--devops-color-monitoring); } - - footer { - border-top: 1px solid var(--schema-border-color); - padding-top: 2rem; - margin-top: 2rem; - color: var(--text-color-secondary); - font-size: 0.9em; - } - footer a { color: var(--text-color-secondary); text-decoration: none; } - footer a:hover { color: #fff; text-decoration: underline; } - - @media print { - body { background: #fff; color: #000; } - .page-header, #filter-controls, .details-toggle, footer { display: none; } - .schema-container { - border: 1px solid #ccc; - margin-bottom: 1.5rem; - box-shadow: none; - backdrop-filter: none; - background-color: transparent; - padding: 1rem; - } - .info-card { - border: 1px solid #ddd; - box-shadow: none; - page-break-inside: avoid; - } - .collapse { display: block !important; } - .collapse-content { border-top: 1px solid #ddd; } - .section-title { color: #000 !important; background: #fff; } - .info-card h5 { background-color: #eee !important; color: #000 !important; } - .term { color: #000; background: #eee; } - a { text-decoration: none; color: #000; } - a[href]::after { content: ' (' attr(href) ')'; font-size: 0.8em; } - } + .details-toggle { font-size: 0.8rem; margin-top: auto; align-self: flex-start; } + .collapse-content { font-size: 0.9rem; border-top: 1px solid var(--card-border-color); padding: 1rem; background-color: #1a1d21; } + .collapse-content h6 { font-weight: 700; color: var(--text-color-highlight); margin-top: 0.8rem; } + .collapse-content code { display: block; white-space: pre-wrap; word-wrap: break-word; font-size: 0.85rem; color: #e83e8c; background-color: rgba(0, 0, 0, 0.3); padding: 0.8em; border-radius: 4px; } + .card-concepts { --card-category-color: var(--devops-color-concepts); } + .card-scm { --card-category-color: var(--devops-color-scm); } + .card-ci { --card-category-color: var(--devops-color-ci); } + .card-cd { --card-category-color: var(--devops-color-cd); } + .card-iac { --card-category-color: var(--devops-color-iac); } + .card-security { --card-category-color: var(--devops-color-security); } + .card-monitoring { --card-category-color: var(--devops-color-monitoring); } + footer { border-top: 1px solid var(--schema-border-color); padding-top: 2rem; margin-top: 2rem; color: var(--text-color-secondary); font-size: 0.9em; text-align:center; } </style> </head> -<body class="bg-dark text-light"> - +<body> <header class="page-header"> - <h1><i class="bi bi-bezier"></i> Modern DevOps Pipelines Cheatsheet</h1> - <p class="lead">A brutally honest, battle-hardened guide to building modern CI/CD pipelines, with a focus on the Azure DevOps ecosystem, Terraform, and SonarQube.</p> + <h1><i class="bi bi-bezier"></i> A Modern DevOps Pipeline Cheatsheet</h1> + <p class="lead">A logically structured, battle-hardened guide to the modern DevOps lifecycle, from source control to production monitoring.</p> </header> - <div class="container"> - <div id="filter-controls"> - <input type="search" id="search-box" class="form-control mb-3" placeholder="Search topics, tools, or keywords (e.g., YAML, Terraform, SAST)..."> - <div id="category-filters" class="btn-toolbar" role="toolbar" aria-label="Category Filters"> - <!-- Filter buttons injected by JS --> - </div> - <div class="alert alert-warning mt-3" id="no-results" style="display: none;"> - No items match your criteria. Try a different search or filter. - </div> - </div> - </div> - - <main class="container" id="main-container"> - - <!-- 1. Source Control Management (SCM) --> - <div class="schema-container section-scm" data-section-id="section-scm" data-section-name="SCM"> - <h2 class="section-title">Source Control Management</h2> + <main class="container"> + <!-- Preamble: Core Concepts --> + <section class="mb-5"> + <h2 class="section-title">Preamble: Core Pipeline Concepts</h2> <div class="row g-4"> - <div class="col-lg-6"> - <div class="info-card card-scm" id="card-scm-azure-repos"> - <div class="card-body d-flex flex-column"> - <h5><i class="bi bi-git"></i> Azure Repos</h5> - <div class="card-content-wrapper"> - <p class="summary">The foundation of your pipeline. It's Git. Don't overthink it. If your code is in TFVC, your top priority is migrating. No excuses.</p> - <button class="btn btn-outline-secondary btn-sm details-toggle" type="button" data-bs-toggle="collapse" data-bs-target="#collapseScmAzureRepos" aria-expanded="false" aria-controls="collapseScmAzureRepos"> - Details <i class="bi bi-chevron-down"></i> - </button> - </div> - <div class="collapse collapse-content" id="collapseScmAzureRepos"> - <h6>Core Principle:</h6> - <p>This is your single source of truth. All changes—code, configuration, pipelines, infrastructure—must live here. Protect it accordingly.</p> - <h6>Tooling:</h6> - <ul> - <li><strong>Azure Repos:</strong> It's a perfectly functional Git host. The UI can be cluttered, but it integrates tightly with the rest of Azure DevOps.</li> - <li><strong>Git:</strong> The undisputed standard for version control. Anything else is a historical artifact and technical debt.</li> - </ul> - </div> + <div class="col-lg-4"> + <div class="info-card card-concepts"> + <h5><i class="bi bi-hdd-rack"></i> Hosted vs. Self-Hosted Agents</h5> + <div class="card-content-wrapper"> + <p class="summary">The fundamental choice of who manages the build machines. This decision impacts speed, cost, security, and maintenance overhead.</p> + <button class="btn btn-sm btn-outline-secondary details-toggle" type="button" data-bs-toggle="collapse" data-bs-target="#collapseAgents">Details</button> </div> - </div> - </div> - <div class="col-lg-6"> - <div class="info-card card-scm" id="card-scm-branch-policies"> - <div class="card-body d-flex flex-column"> - <h5><i class="bi bi-sign-turn-right"></i> Best Practice: Branch Policies</h5> - <div class="card-content-wrapper"> - <p class="summary">Policies are non-negotiable. Protect your `main` branch like it's the last bastion of sanity. Automate your Pull Requests to enforce quality gates from the very start.</p> - <button class="btn btn-outline-secondary btn-sm details-toggle" type="button" data-bs-toggle="collapse" data-bs-target="#collapseScmBranchPolicies" aria-expanded="false" aria-controls="collapseScmBranchPolicies"> - Details <i class="bi bi-chevron-down"></i> - </button> - </div> - <div class="collapse collapse-content" id="collapseScmBranchPolicies"> - <h6>Mandatory Policies for `main`:</h6> - <ul> - <li><strong>Require a minimum number of reviewers:</strong> No developer merges their own code without a second pair of eyes. No exceptions.</li> - <li><strong>Check for linked work items:</strong> Every change should be traceable to a requirement or bug. This prevents rogue development.</li> - <li><strong>Check for comment resolution:</strong> Ensure all review feedback is addressed before merging.</li> - <li><strong>Enforce Build Validation:</strong> This is critical. Link your CI pipeline here. If the PR doesn't build and pass tests, it's blocked from merging. This is your first and most important quality gate.</li> - </ul> - </div> + <div class="collapse collapse-content" id="collapseAgents"> + <h6>Hosted (Microsoft/GitHub-Managed)</h6> + <p><strong>Pros:</strong> No maintenance, a fresh VM for every job, wide range of pre-installed software.<br/><strong>Cons:</strong> Slower startup, network restrictions, can be expensive at scale.</p> + <h6>Self-Hosted</h6> + <p><strong>Pros:</strong> Faster feedback, cheaper at scale, full control, direct access to private networks.<br/><strong>Cons:</strong> You own the maintenance, patching, security, and scaling.</p> </div> </div> </div> - </div> - </div> - - <!-- 2. Continuous Integration (CI) --> - <div class="schema-container section-ci" data-section-id="section-ci" data-section-name="CI"> - <h2 class="section-title">Continuous Integration</h2> - <div class="row g-4"> <div class="col-lg-4"> - <div class="info-card card-ci" id="card-ci-pipelines"> - <div class="card-body d-flex flex-column"> - <h5><i class="bi bi-filetype-yml"></i> Azure Pipelines (YAML ONLY)</h5> - <div class="card-content-wrapper"> - <p class="summary">Your pipeline is code. Treat it like code. Do NOT use the "classic" UI editor. It creates a click-ops nightmare that is impossible to version, review, or scale.</p> - <button class="btn btn-outline-secondary btn-sm details-toggle" type="button" data-bs-toggle="collapse" data-bs-target="#collapseCiPipelines" aria-expanded="false" aria-controls="collapseCiPipelines"> - Details <i class="bi bi-chevron-down"></i> - </button> - </div> - <div class="collapse collapse-content" id="collapseCiPipelines"> - <h6>Core Principle:</h6> - <p>Define your build pipeline as an `azure-pipelines.yml` file, committed to the root of your repository. This ensures your pipeline is versioned alongside your code and subject to the same review process (pull requests).</p> - <h6>Best Practices:</h6> - <ul> - <li><strong>Use Templates:</strong> Don't repeat yourself. For common, reusable steps (like a SonarQube scan or a Docker build), create pipeline templates. This standardizes your process and makes maintenance trivial.</li> - <li><strong>Use Variable Groups:</strong> For shared variables, use Variable Groups. Link them to Azure Key Vault for secrets. Don't hardcode values in your YAML.</li> - </ul> - </div> + <div class="info-card card-concepts"> + <h5><i class="bi bi-fast-forward-circle"></i> Dependency Caching</h5> + <div class="card-content-wrapper"> + <p class="summary">The easiest way to get a massive speed boost. Caching dependencies (NuGet, npm, etc.) between runs is critical for fast feedback loops.</p> + <button class="btn btn-sm btn-outline-secondary details-toggle" type="button" data-bs-toggle="collapse" data-bs-target="#collapseCaching">Details</button> + </div> + <div class="collapse collapse-content" id="collapseCaching"> + <h6>Azure Pipelines (`cache` task):</h6> + <code>- task: Cache@2 + inputs: + key: 'nuget | "$(Agent.OS)" | **/packages.lock.json' + path: '$(NUGET_PACKAGES)'</code> + <h6>GitHub Actions (`actions/cache`):</h6> + <code>- uses: actions/cache@v4 + with: + path: ~/.nuget/packages + key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }}</code> </div> </div> </div> <div class="col-lg-4"> - <div class="info-card card-ci" id="card-ci-sonarqube"> - <div class="card-body d-flex flex-column"> - <h5><i class="bi bi-search-heart"></i> SonarQube Integration</h5> - <div class="card-content-wrapper"> - <p class="summary"><span class="term" data-bs-toggle="tooltip" title="A tool for continuous inspection of code quality to perform automatic reviews with static analysis of code to detect bugs, code smells, and security vulnerabilities.">SonarQube</span> is your automated, merciless code reviewer. Integrate it into your CI pipeline and configure it to fail the build if the quality gate is not met.</p> - <button class="btn btn-outline-secondary btn-sm details-toggle" type="button" data-bs-toggle="collapse" data-bs-target="#collapseCiSonarqube" aria-expanded="false" aria-controls="collapseCiSonarqube"> - Details <i class="bi bi-chevron-down"></i> - </button> - </div> - <div class="collapse collapse-content" id="collapseCiSonarqube"> - <h6>Typical CI Pipeline Steps with SonarQube:</h6> - <ol> - <li><strong>Prepare Analysis on SonarQube:</strong> This task connects to your SonarQube server and configures the scanner.</li> - <li><strong>Run Build & Tests:</strong> Compile your code and run unit tests. Crucially, generate code coverage reports here.</li> - <li><strong>Run Code Analysis:</strong> The Sonar scanner analyzes the code and test coverage reports, then uploads them to the server.</li> - <li><strong>Publish Quality Gate Result:</strong> This task polls the SonarQube server and waits for the analysis to complete. It will then check the Quality Gate status.</li> - </ol> - <div class="callout callout-danger"> - <strong>Critical Rule:</strong> Configure the "Publish Quality Gate Result" task to fail the build if the gate fails. This prevents code that introduces new bugs, vulnerabilities, or has insufficient test coverage from ever being merged. - </div> - </div> + <div class="info-card card-concepts"> + <h5><i class="bi bi-sign-split"></i> Deployment Strategies</h5> + <div class="card-content-wrapper"> + <p class="summary">How to release code without causing outages. Use intelligent strategies to limit the blast radius of a bad deployment.</p> + <button class="btn btn-sm btn-outline-secondary details-toggle" type="button" data-bs-toggle="collapse" data-bs-target="#collapseStrategies">Details</button> + </div> + <div class="collapse collapse-content" id="collapseStrategies"> + <ul> + <li><strong>Immutable Infrastructure:</strong> Don't modify running servers. Replace them with fresh ones built from versioned artifacts to eliminate configuration drift.</li> + <li><strong>Blue/Green:</strong> Deploy to a parallel production environment ("Green"). Once verified, switch traffic from "Blue" to "Green" for instant rollback.</li> + <li><strong>Canary:</strong> Deploy to a small subset of users, monitor for errors, then gradually roll out to everyone.</li> + </ul> </div> </div> </div> - <div class="col-lg-4"> - <div class="info-card card-ci" id="card-ci-stages"> - <div class="card-body d-flex flex-column"> - <h5><i class="bi bi-boxes"></i> CI Key Stages</h5> - <div class="card-content-wrapper"> - <p class="summary">The moment code is merged, it must be built, tested, and packaged. This is non-negotiable. The goal is to catch errors early and often, before they reach production.</p> - <button class="btn btn-outline-secondary btn-sm details-toggle" type="button" data-bs-toggle="collapse" data-bs-target="#collapseCiStages" aria-expanded="false" aria-controls="collapseCiStages"> - Details <i class="bi bi-chevron-down"></i> - </button> - </div> - <div class="collapse collapse-content" id="collapseCiStages"> - <h6>Mandatory Stages:</h6> - <ul> - <li><strong>Build:</strong> Compile the code. If it doesn't build, it's broken. Fail fast.</li> - <li><strong>Test:</strong> Run unit and integration tests. If they fail, the build is broken.</li> - <li><strong>Lint:</strong> Check for style and syntax errors. Keep your codebase clean and consistent.</li> - <li><strong>Scan:</strong> Perform security and quality scans (e.g., SonarQube).</li> - <li><strong>Package:</strong> Create a deployable artifact. For the love of all that is holy, make this a <span class="term" data-bs-toggle="tooltip" title="A standardized unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another.">Docker image</span>. Store it in a registry like ACR.</li> - </ul> - </div> + </div> + </section> + + <!-- Phase 1: SCM --> + <section class="mb-5"> + <h2 class="section-title" style="color: var(--devops-color-scm);">Phase 1: Source Control Management (SCM)</h2> + <div class="row g-4 justify-content-center"> + <div class="col-lg-8"> + <div class="info-card card-scm"> + <h5><i class="bi bi-git"></i> Critical Practice: Branch Protection</h5> + <div class="card-content-wrapper"> + <p class="summary">Everything starts with code. The SCM is your single source of truth. Protecting the `main` branch is the first and most important quality gate.</p> + <button class="btn btn-sm btn-outline-secondary details-toggle" type="button" data-bs-toggle="collapse" data-bs-target="#collapseScm">Details</button> + </div> + <div class="collapse collapse-content" id="collapseScm"> + <p>Use rules to enforce that no code merges into `main` without meeting specific criteria. This is non-negotiable for stable, high-quality software.</p> + <h6>Mandatory Rules (Azure Repos & GitHub):</h6> + <ul> + <li><strong>Build Validation / Status Checks:</strong> The pull request code <em>must</em> build successfully and pass all CI checks.</li> + <li><strong>Reviewer Requirements:</strong> At least one other person <em>must</em> approve the code changes. No self-merges.</li> + <li><strong>Work Item / Conversation Linking:</strong> Ensure every change is traceable to a requirement or that all review comments are resolved.</li> + </ul> </div> </div> </div> </div> - </div> + </section> - <!-- 3. Infrastructure as Code (IaC) --> - <div class="schema-container section-iac" data-section-id="section-iac" data-section-name="IaC"> - <h2 class="section-title">Infrastructure as Code</h2> - <div class="row g-4"> - <div class="col-lg-6"> - <div class="info-card card-iac" id="card-iac-terraform"> - <div class="card-body d-flex flex-column"> - <h5><i class="bi bi-filetype-tf"></i> Terraform</h5> - <div class="card-content-wrapper"> - <p class="summary">Your infrastructure must be defined as code. Manual configuration in the Azure Portal is a recipe for disaster. <span class="term" data-bs-toggle="tooltip" title="An open-source infrastructure as code software tool that enables users to define and provision a datacenter infrastructure using a high-level configuration language known as HashiCorp Configuration Language (HCL).">Terraform</span> is the industry standard.</p> - <button class="btn btn-outline-secondary btn-sm details-toggle" type="button" data-bs-toggle="collapse" data-bs-target="#collapseIacTerraform" aria-expanded="false" aria-controls="collapseIacTerraform"> - Details <i class="bi bi-chevron-down"></i> - </button> - </div> - <div class="collapse collapse-content" id="collapseIacTerraform"> - <h6>Why Terraform?</h6> - <p>While Microsoft pushes Bicep/ARM, Terraform is cloud-agnostic (a valuable option, even if you're all-in on Azure today), has a massive community, and its `plan` command is a lifesaver.</p> - <h6>The Holy Trinity of Terraform Commands in a Pipeline:</h6> - <ul> - <li><code>terraform init</code>: Initializes the backend and downloads providers.</li> - <li><code>terraform plan</code>: The most important step. It generates an execution plan showing exactly what will change. This step should create a plan artifact and require a manual approval in a Release Pipeline.</li> - <li><code>terraform apply</code>: Executes the approved plan. This should only run after a human has reviewed and approved the plan.</li> - </ul> - </div> + <!-- Phase 2: CI --> + <section class="mb-5"> + <h2 class="section-title" style="color: var(--devops-color-ci);">Phase 2: Continuous Integration (CI)</h2> + <div class="row g-4"> + <div class="col-lg-6"> + <div class="info-card card-ci"> + <h5><i class="bi bi-filetype-yml"></i> The "Pipeline as Code"</h5> + <div class="card-content-wrapper"> + <p class="summary">Modern pipelines are defined in YAML files (`azure-pipelines.yml` or `.github/workflows/*.yml`) committed to the repository. This provides versioning, peer review, and repeatability. Avoid classic UI editors.</p> </div> </div> </div> - <div class="col-lg-6"> - <div class="info-card card-iac" id="card-iac-state"> - <div class="card-body d-flex flex-column"> - <h5><i class="bi bi-database-lock"></i> Terraform Remote State</h5> - <div class="card-content-wrapper"> - <p class="summary">The biggest mistake teams make with Terraform is storing the `terraform.tfstate` file locally. This is a critical failure. Always use a remote backend.</p> - <button class="btn btn-outline-secondary btn-sm details-toggle" type="button" data-bs-toggle="collapse" data-bs-target="#collapseIacState" aria-expanded="false" aria-controls="collapseIacState"> - Details <i class="bi bi-chevron-down"></i> - </button> - </div> - <div class="collapse collapse-content" id="collapseIacState"> - <h6>Action Plan:</h6> - <p>Store your Terraform state file in an <strong>Azure Storage Account container</strong>. This is non-negotiable.</p> - <h6>Why it's Critical:</h6> - <ul> - <li><strong>Collaboration:</strong> Allows multiple team members to work on the same infrastructure.</li> - <li><strong>State Locking:</strong> Prevents multiple people from running `terraform apply` at the same time and corrupting the state.</li> - <li><strong>Security:</strong> The state file can contain secrets. Storing it in a secured, access-controlled storage account is essential.</li> - <li><strong>Durability:</strong> Protects your state file from being lost if your local machine dies.</li> - </ul> + <div class="col-lg-6"> + <div class="info-card card-security"> + <h5><i class="bi bi-shield-shaded"></i> "Shift-Left" Security</h5> + <div class="card-content-wrapper"> + <p class="summary">Security is not a separate step; it's a series of automated gates within CI. Find flaws early before they reach production.</p> + <button class="btn btn-sm btn-outline-secondary details-toggle" type="button" data-bs-toggle="collapse" data-bs-target="#collapseSecurity">Details</button> + </div> + <div class="collapse collapse-content" id="collapseSecurity"> + <h6>Key Security Gates:</h6> + <ul> + <li><strong>SAST (Static Application Security Testing):</strong> Tools like SonarQube or GitHub CodeQL scan your source code for vulnerabilities and code quality issues.</li> + <li><strong>SCA (Software Composition Analysis):</strong> Tools like Dependabot or Snyk scan your open-source dependencies for known vulnerabilities.</li> + </ul> + </div> + </div> + </div> + <div class="col-lg-12"> + <div class="info-card card-ci"> + <h5><i class="bi bi-box-seam"></i> Publishing Artifacts: The Docker Example</h5> + <div class="card-content-wrapper"> + <p class="summary">The final output of a successful CI run is a versioned, deployable artifact. Most commonly, this is a Docker image pushed to a container registry.</p> + <button class="btn btn-sm btn-outline-secondary details-toggle" type="button" data-bs-toggle="collapse" data-bs-target="#collapseArtifacts">Details</button> + </div> + <div class="collapse collapse-content" id="collapseArtifacts"> + <div class="row"> + <div class="col-md-6"> + <h6>Azure Pipelines (`azure-pipelines.yml`)</h6> + <code>trigger: +- main +pool: + vmImage: ubuntu-latest +steps: +- task: Docker@2 + inputs: + containerRegistry: 'MyACRConnection' + repository: 'my-app' + command: 'buildAndPush' + Dockerfile: '**/Dockerfile' + tags: '$(Build.BuildId)'</code> + </div> + <div class="col-md-6"> + <h6>GitHub Actions (`.github/workflows/ci.yml`)</h6> + <code>on: + push: + branches: [ "main" ] +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Log in to Registry + uses: azure/docker-login@v1 + with: + login-server: myregistry.azurecr.io + username: ${{ secrets.ACR_USERNAME }} + password: ${{ secrets.ACR_PASSWORD }} + - name: Build and push image + run: | + docker build . -t my.acr.io/app:${{ github.sha }} + docker push my.acr.io/app:${{ github.sha }}</code> + </div> </div> </div> </div> </div> </div> - </div> + </section> - <!-- 4. Continuous Delivery/Deployment (CD) --> - <div class="schema-container section-cd" data-section-id="section-cd" data-section-name="CD"> - <h2 class="section-title">Continuous Delivery/Deployment</h2> + <!-- Phase 3: CD --> + <section class="mb-5"> + <h2 class="section-title" style="color: var(--devops-color-cd);">Phase 3: Continuous Delivery (CD)</h2> <div class="row g-4"> <div class="col-lg-6"> - <div class="info-card card-cd" id="card-cd-releases"> - <div class="card-body d-flex flex-column"> - <h5><i class="bi bi-rocket-takeoff"></i> Azure Pipelines (Releases)</h5> - <div class="card-content-wrapper"> - <p class="summary">Automating your release is the whole point. While you can do deployment in YAML build pipelines, Release Pipelines offer better visualization of your environments and manual approval gates.</p> - <button class="btn btn-outline-secondary btn-sm details-toggle" type="button" data-bs-toggle="collapse" data-bs-target="#collapseCdReleases" aria-expanded="false" aria-controls="collapseCdReleases"> - Details <i class="bi bi-chevron-down"></i> - </button> - </div> - <div class="collapse collapse-content" id="collapseCdReleases"> - <h6>Release Pipeline Structure:</h6> - <ul> - <li><strong>Artifacts:</strong> Your release should be triggered by a new build artifact (e.g., the Docker image from your CI pipeline).</li> - <li><strong>Stages:</strong> Create a stage for each environment (e.g., Dev, QA, Staging, Prod).</li> - <li><strong>Approval Gates:</strong> Use these to control promotion between stages. - <ul> - <li><strong>Automated Gates:</strong> Run integration or smoke tests after deployment to an environment. If they pass, automatically approve promotion to the next stage.</li> - <li><strong>Manual Gates:</strong> Use a manual approval gate before deploying to production. This is your one concession to the business folks who are scared of robots.</li> - </ul> - </li> - </ul> - </div> + <div class="info-card card-iac"> + <h5><i class="bi bi-filetype-tf"></i> IaC & The Approval Flow</h5> + <div class="card-content-wrapper"> + <p class="summary">Use Infrastructure as Code (IaC) with Terraform to define environments. The key to safe CD is a `plan -> approve -> apply` flow with a manual approval gate before any infrastructure is changed.</p> + <button class="btn btn-sm btn-outline-secondary details-toggle" type="button" data-bs-toggle="collapse" data-bs-target="#collapseIac">Details</button> </div> - </div> - </div> - <div class="col-lg-6"> - <div class="info-card card-cd" id="card-cd-concepts"> - <div class="card-body d-flex flex-column"> - <h5><i class="bi bi-lightbulb"></i> Key Deployment Concepts</h5> - <div class="card-content-wrapper"> - <p class="summary">Differentiate between Continuous Delivery (manual deployment to production) and Continuous Deployment (automatic deployment to production). Strive for the latter.</p> - <button class="btn btn-outline-secondary btn-sm details-toggle" type="button" data-bs-toggle="collapse" data-bs-target="#collapseCdConcepts" aria-expanded="false" aria-controls="collapseCdConcepts"> - Details <i class="bi bi-chevron-down"></i> - </button> - </div> - <div class="collapse collapse-content" id="collapseCdConcepts"> - <ul> - <li><strong>Immutable Infrastructure:</strong> Don't modify running servers. Shoot them in the head and replace them with fresh ones built from your artifacts. This eliminates configuration drift.</li> - <li><strong>Blue/Green or Canary Deployments:</strong> Don't be a cowboy. Deploy to a subset of users (Canary) or a parallel production environment (Blue/Green) before a full rollout. This limits the blast radius of a bad deploy. Azure DevOps supports these strategies.</li> - <li><strong>Azure Artifacts:</strong> A decent place to store your packages (like NuGet, npm, or Maven packages). For Docker images, use Azure Container Registry (ACR).</li> - </ul> - </div> + <div class="collapse collapse-content" id="collapseIac"> + <h6>The Safety-Critical Flow:</h6> + <ul> + <li><strong>Plan:</strong> The pipeline runs `terraform plan` and saves the plan file as an artifact.</li> + <li><strong>Approve:</strong> A human reviewer inspects the plan. Both Azure (Release Gates) and GitHub (Environments) have features to pause the pipeline and require manual sign-off.</li> + <li><strong>Apply:</strong> Only after approval does the pipeline run `terraform apply` using the saved plan.</li> + </ul> </div> </div> </div> - </div> - </div> - - <!-- 5. Security --> - <div class="schema-container section-security" data-section-id="section-security" data-section-name="Security"> - <h2 class="section-title">Security</h2> - <div class="row g-4"> <div class="col-lg-6"> - <div class="info-card card-security" id="card-security-practices"> - <div class="card-body d-flex flex-column"> - <h5><i class="bi bi-shield-check"></i> Key Security Practices (Shift Left)</h5> - <div class="card-content-wrapper"> - <p class="summary">Security is not a separate step; it's a part of every step. Embed automated security checks into your pipeline to catch vulnerabilities early.</p> - <button class="btn btn-outline-secondary btn-sm details-toggle" type="button" data-bs-toggle="collapse" data-bs-target="#collapseSecurityPractices" aria-expanded="false" aria-controls="collapseSecurityPractices"> - Details <i class="bi bi-chevron-down"></i> - </button> - </div> - <div class="collapse collapse-content" id="collapseSecurityPractices"> - <h6>Pipeline Integration Points:</h6> - <ul> - <li><strong><span class="term" data-bs-toggle="tooltip" title="Static Application Security Testing: Analyzes source code for security vulnerabilities before the application is compiled or run.">SAST</span> (Static Application Security Testing):</strong> Analyze your source code for vulnerabilities. SonarQube has SAST capabilities. Integrate this in your CI pipeline.</li> - <li><strong><span class="term" data-bs-toggle="tooltip" title="Software Composition Analysis: Scans your application's dependencies for known vulnerabilities.">SCA</span> (Software Composition Analysis):</strong> Scan your open-source dependencies. That library you just imported probably has a dozen known vulnerabilities. Use tools like WhiteSource Bolt or Snyk. Fail the build if critical vulnerabilities are found.</li> - <li><strong>Container Scanning:</strong> Scan your Docker images for vulnerabilities before pushing them to the registry.</li> - </ul> - </div> + <div class="info-card card-cd"> + <h5><i class="bi bi-rocket-takeoff"></i> Application Deployment</h5> + <div class="card-content-wrapper"> + <p class="summary">Getting the code running in the provisioned environment. This phase handles deploying the application itself and managing dependent changes, like database schemas.</p> + <button class="btn btn-sm btn-outline-secondary details-toggle" type="button" data-bs-toggle="collapse" data-bs-target="#collapseAppDeploy">Details</button> + </div> + <div class="collapse collapse-content" id="collapseAppDeploy"> + <h6>To Kubernetes:</h6> + <p>Use <strong>Helm</strong>, the package manager for Kubernetes. The `helm upgrade --install` command is the standard for deploying or updating an application.</p> + <h6>For Databases:</h6> + <p>This is a classic point of failure. Migration scripts (using tools like EF Core Migrations or Flyway) must be applied <em>before</em> the application code is deployed to ensure compatibility.</p> </div> </div> </div> - <div class="col-lg-6"> - <div class="info-card card-security" id="card-security-keyvault"> - <div class="card-body d-flex flex-column"> - <h5><i class="bi bi-key"></i> Secret Management: Azure Key Vault</h5> - <div class="card-content-wrapper"> - <p class="summary">Don't put secrets in your code, your variable groups, or your YAML files. This is amateur hour. Use Azure Key Vault.</p> - <button class="btn btn-outline-secondary btn-sm details-toggle" type="button" data-bs-toggle="collapse" data-bs-target="#collapseSecurityKeyvault" aria-expanded="false" aria-controls="collapseSecurityKeyvault"> - Details <i class="bi bi-chevron-down"></i> - </button> - </div> - <div class="collapse collapse-content" id="collapseSecurityKeyvault"> - <h6>The Only Acceptable Way:</h6> - <p>Store all secrets—connection strings, API keys, certificates—in Azure Key Vault.</p> - <h6>Integration with Pipelines:</h6> - <ol> - <li>Create a Service Connection in Azure DevOps that has `Get` and `List` permissions to your Key Vault secrets. Use a Managed Identity for this if possible.</li> - <li>In your Pipeline, use a Variable Group linked to the Azure Key Vault.</li> - <li>Reference the secrets in your pipeline tasks. They will be fetched at runtime and masked in logs.</li> - </ol> - <div class="callout callout-danger"> - <strong>Critical Rule:</strong> Developers should not have direct access to production secrets. The pipeline should be the only entity that can fetch and use them in the production environment. - </div> - </div> + </div> + </section> + + <!-- Phase 4: Monitoring --> + <section class="mb-5"> + <h2 class="section-title" style="color: var(--devops-color-monitoring);">Phase 4: Monitoring & Observability</h2> + <div class="row g-4 justify-content-center"> + <div class="col-lg-8"> + <div class="info-card card-monitoring"> + <h5><i class="bi bi-kanban"></i> The Three Pillars of Observability</h5> + <div class="card-content-wrapper"> + <p class="summary">Once deployed, you must be able to understand the application's health. If you're not monitoring your app, you're flying blind. Instrument your code with a tool like Application Insights or Prometheus.</p> + <button class="btn btn-sm btn-outline-secondary details-toggle" type="button" data-bs-toggle="collapse" data-bs-target="#collapseMonitoring">Details</button> + </div> + <div class="collapse collapse-content" id="collapseMonitoring"> + <p>You need all three to get a complete picture of your system's behavior:</p> + <ul> + <li><strong>Logs:</strong> Detailed, timestamped records of discrete events. (e.g., "User X failed to log in")</li> + <li><strong>Metrics:</strong> Aggregated numerical data over time. (e.g., "5% error rate over the last 10 minutes")</li> + <li><strong>Traces:</strong> A detailed view of a single request's journey through all services in your application.</li> + </ul> </div> </div> </div> </div> - </div> + </section> - <!-- 6. Monitoring & Observability --> - <div class="schema-container section-monitoring" data-section-id="section-monitoring" data-section-name="Monitoring"> - <h2 class="section-title">Monitoring & Observability</h2> - <div class="row g-4"> + <!-- Appendix: Platforms --> + <section class="mb-5"> + <h2 class="section-title">Appendix: Platform Choices</h2> + <div class="row g-4"> <div class="col-lg-6"> - <div class="info-card card-monitoring" id="card-monitoring-pillars"> - <div class="card-body d-flex flex-column"> - <h5><i class="bi bi-kanban"></i> The Three Pillars</h5> - <div class="card-content-wrapper"> - <p class="summary">If you're not monitoring your application in production, you're flying blind and waiting for a crash. Observability is more than just logs; it's understanding your system's state from the outside.</p> - <button class="btn btn-outline-secondary btn-sm details-toggle" type="button" data-bs-toggle="collapse" data-bs-target="#collapseMonitoringPillars" aria-expanded="false" aria-controls="collapseMonitoringPillars"> - Details <i class="bi bi-chevron-down"></i> - </button> - </div> - <div class="collapse collapse-content" id="collapseMonitoringPillars"> - <ul> - <li><strong>Logging:</strong> Centralize your application and system logs. These are records of discrete events. Use structured logging to make them searchable.</li> - <li><strong>Metrics:</strong> Collect time-series data on key performance indicators (e.g., CPU usage, request latency, error rates). These are your aggregated numbers over time.</li> - <li><strong>Tracing:</strong> Track a single request as it moves through all the services in your distributed system. This is essential for debugging complex microservice architectures.</li> - </ul> - </div> + <div class="info-card card-concepts"> + <h5><i class="bi bi-gear-wide-connected"></i> The Old Guard: Jenkins</h5> + <div class="card-content-wrapper"> + <p class="summary">The infinitely customizable, plugin-driven workhorse. If you can think of it, you can build it. But you own all its complexity, maintenance, and `Jenkinsfile` Groovy spaghetti.</p> </div> </div> </div> <div class="col-lg-6"> - <div class="info-card card-monitoring" id="card-monitoring-tools"> - <div class="card-body d-flex flex-column"> - <h5><i class="bi bi-tools"></i> Azure Tooling</h5> - <div class="card-content-wrapper"> - <p class="summary">Use the integrated Azure tools. They're not always best-in-class, but they are already there and deeply integrated, which simplifies your life.</p> - <button class="btn btn-outline-secondary btn-sm details-toggle" type="button" data-bs-toggle="collapse" data-bs-target="#collapseMonitoringTools" aria-expanded="false" aria-controls="collapseMonitoringTools"> - Details <i class="bi bi-chevron-down"></i> - </button> - </div> - <div class="collapse collapse-content" id="collapseMonitoringTools"> - <h6>Recommended Azure Stack:</h6> - <ul> - <li><strong>Azure Monitor:</strong> The umbrella service. Use it for basic metrics and logging from your Azure resources. Create dashboards and alerts here.</li> - <li><strong>Application Insights:</strong> This is actually a pretty good part of Azure Monitor. It's the APM (Application Performance Management) solution. Instrument your code with the App Insights SDK to get rich logging, dependency tracking, and distributed tracing out of the box.</li> - <li><strong>Log Analytics Workspace:</strong> The destination for all your logs. Use Kusto Query Language (KQL) to query your logs and build powerful visualizations.</li> - </ul> - </div> + <div class="info-card card-concepts"> + <h5><i class="bi bi-bullseye"></i> The All-in-One: GitLab</h5> + <div class="card-content-wrapper"> + <p class="summary">A powerful competitor with a "single application" philosophy. Its CI/CD is extremely mature and tightly integrated via `.gitlab-ci.yml`, with many security features built-in.</p> </div> </div> </div> </div> - </div> - + </section> </main> - <footer class="container text-center py-4"> - <p class="mb-1">© <span id="currentYear"></span> David Veksler Cheatsheets</p> - <p class="mb-2" style="font-size: 0.8em;">Last Updated: <span id="lastUpdatedDate">June 14, 2024</span></p> - <div> - <a href="https://learn.microsoft.com/en-us/azure/devops/" target="_blank" rel="noopener noreferrer" class="mx-2"><i class="bi bi-box"></i> Azure DevOps Docs</a> - <a href="https://www.terraform.io/docs" target="_blank" rel="noopener noreferrer" class="mx-2"><i class="bi bi-file-earmark-code"></i> Terraform Docs</a> - <a href="https://docs.sonarqube.org/latest/" target="_blank" rel="noopener noreferrer" class="mx-2"><i class="bi bi-search"></i> SonarQube Docs</a> - </div> + <footer class="container py-4"> + <p>© 2024 Cheatsheets</p> </footer> <!-- Bootstrap JS --> - <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script> - - <script> - document.addEventListener('DOMContentLoaded', () => { - // Initialize Bootstrap Tooltips - const tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]')); - tooltipTriggerList.map(function (tooltipTriggerEl) { - return new bootstrap.Tooltip(tooltipTriggerEl); - }); - - // Set current year in footer - document.getElementById('currentYear').textContent = new Date().getFullYear(); - - const searchBox = document.getElementById('search-box'); - const categoryFiltersContainer = document.getElementById('category-filters'); - const noResultsDiv = document.getElementById('no-results'); - const allSchemaContainers = Array.from(document.querySelectorAll('.schema-container')); - let activeFilter = 'all'; - - // --- Initialize Filters & Search --- - function initializeFilters() { - const allButton = document.createElement('button'); - allButton.type = 'button'; - allButton.className = 'btn btn-primary filter-btn active'; - allButton.textContent = 'All'; - allButton.dataset.filter = 'all'; - categoryFiltersContainer.appendChild(allButton); - - const btnGroup = document.createElement('div'); - btnGroup.className = 'btn-group flex-wrap ms-2'; - btnGroup.setAttribute('role', 'group'); - - allSchemaContainers.forEach(section => { - const sectionId = section.dataset.sectionId; - const sectionName = section.dataset.sectionName || 'Unnamed'; - const button = document.createElement('button'); - button.type = 'button'; - button.className = 'btn btn-outline-secondary filter-btn'; - button.textContent = sectionName; - button.dataset.filter = sectionId; - btnGroup.appendChild(button); - }); - categoryFiltersContainer.appendChild(btnGroup); - - searchBox.addEventListener('input', applyFiltersAndSearch); - categoryFiltersContainer.addEventListener('click', (event) => { - if (event.target.classList.contains('filter-btn')) { - document.querySelectorAll('#category-filters .filter-btn').forEach(btn => btn.classList.remove('active', 'btn-primary', 'btn-outline-secondary')); - - const clickedBtn = event.target; - clickedBtn.classList.add('active'); - if (clickedBtn.dataset.filter === 'all') { - clickedBtn.classList.add('btn-primary'); - } else { - clickedBtn.classList.add('btn-outline-secondary'); - } - - // Set all other non-active buttons to outline-secondary - document.querySelectorAll('#category-filters .filter-btn:not(.active)').forEach(btn => { - btn.classList.add('btn-outline-secondary'); - }); - - - activeFilter = event.target.dataset.filter; - applyFiltersAndSearch(); - } - }); - } - - function applyFiltersAndSearch() { - const searchTerm = searchBox.value.toLowerCase().trim(); - let itemsFound = 0; - - allSchemaContainers.forEach(section => { - const sectionId = section.dataset.sectionId; - let sectionHasVisibleCards = false; - const cardsInSection = Array.from(section.querySelectorAll('.info-card')); - - cardsInSection.forEach(card => { - const cardTextContent = card.textContent.toLowerCase(); - const matchesSearch = searchTerm === '' || cardTextContent.includes(searchTerm); - const matchesFilter = activeFilter === 'all' || sectionId === activeFilter; - - const cardColumn = card.closest('.col-lg-4, .col-lg-6'); - if (matchesSearch && matchesFilter) { - if(cardColumn) cardColumn.style.display = ''; - sectionHasVisibleCards = true; - itemsFound++; - } else { - if(cardColumn) cardColumn.style.display = 'none'; - } - }); - - if (sectionHasVisibleCards) { - section.style.display = ''; - } else { - section.style.display = 'none'; - } - }); - noResultsDiv.style.display = itemsFound === 0 ? 'block' : 'none'; - } - - // --- Initialize Collapse Icon Toggles --- - const collapseElements = document.querySelectorAll('.collapse'); - collapseElements.forEach(collapseEl => { - const button = document.querySelector(`.details-toggle[data-bs-target="#${collapseEl.id}"]`); - if(button) { - const iconEl = button.querySelector('.bi'); - collapseEl.addEventListener('show.bs.collapse', () => { - iconEl.classList.remove('bi-chevron-down'); - iconEl.classList.add('bi-chevron-up'); - }); - collapseEl.addEventListener('hide.bs.collapse', () => { - iconEl.classList.remove('bi-chevron-up'); - iconEl.classList.add('bi-chevron-down'); - }); - } - }); - - initializeFilters(); - }); - </script> + <script crossorigin="anonymous" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script> </body> </html> \ No newline at end of file