Especificação do formato da lente no AWS WA Tool - AWS Well-Architected Tool

Lançamos uma nova versão do Well-Architected Framework. Também adicionamos lentes novas e atualizadas ao Catálogo de Lentes. Saiba mais sobre as mudanças.

Especificação do formato da lente no AWS WA Tool

As lentes são definidas usando um formato JSON específico. Ao começar a criar uma lente personalizada, você tem a opção de baixar um arquivo JSON de modelo. Você pode usar esse arquivo como base para suas lentes personalizadas, pois ele define a estrutura básica dos pilares, das perguntas, das melhores práticas e do plano de melhoria.

Seção de lentes

Esta seção define os atributos da própria lente personalizada. Este é o nome e a descrição.

  • schemaVersion: A versão do esquema de lente personalizada a ser usada. Definido pelo modelo, não altere.

  • name: Nome da lente. O nome pode ter até 128 caracteres.

  • description: Descrição em texto da lente. Esse texto é exibido ao selecionar lentes para adicionar durante a criação da workload ou ao selecionar uma lente para aplicar a uma workload existente posteriormente. A descrição pode ter até 2.048 caracteres.

"schemaVersion": "2021-11-01", "name": "Company Policy ABC", "description": "This lens provides a set of specific questions to assess compliance with company policy ABC-2021 as revised on 2021/09/01.",

Seção de pilares

Esta seção define os pilares associados à lente personalizada. Você pode mapear suas perguntas para os pilares do AWS Well-Architected Framework, definir seus próprios pilares ou ambos.

Você pode definir até dez pilares em uma lente personalizada.

  • id: ID do pilar. O ID pode ter entre 3 e 128 caracteres e conter somente caracteres alfanuméricos e sublinhado (“_”). Os IDs usados em um pilar devem ser exclusivos.

    Ao mapear suas perguntas para os pilares da Estrutura, use os seguintes IDs:

    • operationalExcellence

    • security

    • reliability

    • performance

    • costOptimization

    • sustainability

  • name: Nome do pilar. O nome pode ter até 128 caracteres.

"pillars": [ { "id": "company_Privacy", "name": "Privacy Excellence", . . . }, { "id": "company_Security", "name": "Security", . . . } ]

Seção de perguntas

Esta seção define as questões associadas a um pilar.

Você pode definir até 20 perguntas em um pilar em uma lente personalizada.

  • id: ID da pergunta. A ID pode ter de 3 a 128 caracteres e conter apenas caracteres alfanuméricos e de sublinhado ("_"). As IDs usadas em uma pergunta devem ser exclusivas.

  • title: Título da pergunta. O título pode ter até 128 caracteres.

  • description: Descreve a pergunta com mais detalhes. A descrição pode ter até 2.048 caracteres.

  • helpfulResource displayText: opcional. Texto que fornece informações úteis sobre a pergunta. O texto pode ter até 2.048 caracteres. Deve ser especificado se helpfulResource url for especificado.

  • helpfulResource url: opcional. Um recurso de URL que explica a pergunta com mais detalhes. O URL deve começar com http:// ou https://.

nota

Ao sincronizar uma workload da lente personalizada com o Jira, as perguntas exibem o “ID” e o “título” da pergunta.

O formato usado nos tíquetes do Jira é [ QuestionID ] QuestionTitle.

"questions": [ { "id": "privacy01", "title": "How do you ensure HR conversations are private?", "description": "Career and benefits discussions should occur on secure channels only and be audited regularly for compliance.", "helpfulResource": { "displayText": "This is helpful text for the first question", "url": "https://example.com/poptquest01_help.html" }, . . . }, { "id": "privacy02", "title": "Is your team following the company privacy policy?", "description": "Our company requires customers to opt-in to data use and does not disclose customer data to third parties either individually or in aggregate.", "helpfulResource": { "displayText": "This is helpful text for the second question", "url": "https://example.com/poptquest02_help.html" }, . . . } ]

Seção de opções

Esta seção define as opções associadas a uma pergunta.

Você pode definir até 15 opções para uma pergunta em uma lente personalizada.

  • id: ID da escolha. O ID pode ter entre 3 e 128 caracteres e conter somente caracteres alfanuméricos e sublinhado (“_”). Um ID exclusivo deve ser especificado para cada opção em uma pergunta. A adição de uma opção com um sufixo _no funcionará como uma opção None of these para a pergunta.

  • title: Título da escolha. O título pode ter até 128 caracteres.

  • helpfulResource displayText: opcional. Texto que fornece informações úteis sobre uma opção. O texto pode ter até 2.048 caracteres. Deverá ser incluído se helpfulResource url for especificado.

  • helpfulResource url: opcional. Um recurso de URL que explica a escolha em mais detalhes. O URL deve começar com http:// ou https://.

  • improvementPlan displayText: Texto que descreve como uma escolha pode ser aprimorada. O texto pode ter até 2.048 caracteres. É necessário um improvementPlan para cada opção, exceto para uma opção None of these.

  • improvementPlan url: opcional. Um recurso de URL que pode ajudar na melhoria. O URL deve começar com http:// ou https://.

  • additionalResources type: opcional. O tipo de recursos adicionais. O valor pode ser HELPFUL_RESOURCE ou IMPROVEMENT_PLAN.

  • additionalResources content: opcional. Especifica os valores displayText e url para o recurso adicional. Até cinco recursos úteis adicionais e até cinco itens adicionais do plano de melhoria podem ser especificados para uma escolha.

    • displayText: opcional. Texto que descreve o recurso útil ou o plano de melhoria. O texto pode ter até 2.048 caracteres. Deverá ser incluído se url for especificado.

    • url: opcional. Um recurso de URL para o recurso útil ou plano de melhoria. O URL deve começar com http:// ou https://.

nota

Ao sincronizar uma workload da lente personalizada com o Jira, as opções exibem o “ID” da pergunta e da escolha, bem como o “título” da escolha.

O formato usado é [ QuestionID | ChoiceID ] ChoiceTitle.

"choices": [ { "id": "choice_1", "title": "Option 1", "helpfulResource": { "displayText": "This is helpful text for the first choice", "url": "https://example.com/popt01_help.html" }, "improvementPlan": { "displayText": "This is text that will be shown for improvement of this choice.", "url": "https://example.com/popt01_iplan.html" } }, { "id": "choice_2", "title": "Option 2", "helpfulResource": { "displayText": "This is helpful text for the second choice", "url": "https://example.com/hr_manual_CORP_1.pdf" }, "improvementPlan": { "displayText": "This is text that will be shown for improvement of this choice.", "url": "https://example.com/popt02_iplan_01.html" }, "additionalResources":[ { "type": "HELPFUL_RESOURCE", "content": [ { "displayText": "This is the second set of helpful text for this choice.", "url": "https://example.com/hr_manual_country.html" }, { "displayText": "This is the third set of helpful text for this choice.", "url": "https://example.com/hr_manual_city.html" } ] }, { "type": "IMPROVEMENT_PLAN", "content": [ { "displayText": "This is additional text that will be shown for improvement of this choice.", "url": "https://example.com/popt02_iplan_02.html" }, { "displayText": "This is the third piece of improvement plan text.", "url": "https://example.com/popt02_iplan_03.html" } { "displayText": "This is the fourth piece of improvement plan text.", "url": "https://example.com/popt02_iplan_04.html" } ] } ] }, { "id": "option_no", "title": "None of these", "helpfulResource": { "displayText": "Choose this if your workload does not follow these best practices.", "url": "https://example.com/popt02_iplan_none.html" } }

Seção de regras de risco

Esta seção define como as opções selecionadas determinam o nível de risco.

Você pode definir no máximo três regras de risco por pergunta, uma para cada nível de risco.

  • condition: Uma expressão booleana das opções mapeada para um nível de risco para a pergunta, ou default.

    Deve haver uma regra de risco default para cada pergunta.

  • risk: Indica o risco associado à condição. Os valores válidos são HIGH_RISK, MEDIUM_RISK e NO_RISK.

A ordem de suas regras de risco é significativa. O primeiro condition que é avaliado como true define o risco para a pergunta. Um padrão comum para a implementação de regras de risco é começar com as regras menos arriscadas (e, normalmente, mais granulares) e ir descendo até as regras mais arriscadas (e menos específicas).

Por exemplo:

"riskRules": [ { "condition": "choice_1 && choice_2 && choice_3", "risk": "NO_RISK" }, { "condition": "((choice_1 || choice_2) && choice_3) || (!choice_1 && choice_3)", "risk": "MEDIUM_RISK" }, { "condition": "default", "risk": "HIGH_RISK" } ]

Se a pergunta tiver três opções (choice_1, choice_2, e choice_3), essas regras de risco resultarão no seguinte comportamento:

  • Se todas as três opções forem selecionadas, não há risco.

  • Se um choice_1 ou choice_2 for selecionado e choice_3 for selecionado, o risco é médio.

  • Se choice_1 não for selecionado, mas choice_3 for selecionado, também haverá um risco médio.

  • Se nenhuma dessas condições anteriores for verdadeira, o risco é alto.