Aanbevolen procedures: Rekenbeleid

Waarschuwing

Dit artikel is gearchiveerd en kan niet langer de huidige status van het product weerspiegelen. Zie Rekenbeleid maken en beheren voor meer informatie over rekenbeleid.

Azure Databricks-rekenbeleid biedt beheerders controle over het maken van rekenresources in een Azure Databricks-werkruimte. Met effectief gebruik van rekenbeleid kunnen beheerders het volgende doen:

  • Gestandaardiseerde rekenconfiguraties afdwingen.
  • Voorkom overmatig gebruik van resources en beheer de uitgaven.
  • Zorg voor een nauwkeurige terugstorting door rekenresources correct te taggen.
  • Vereenvoudig analyse en verwerking door gebruikers vooraf geconfigureerde rekenconfiguraties te bieden die zijn gericht op specifieke workloads.

In combinatie met effectieve onboarding-, goedkeurings- en terugstortingsprocessen kan rekenbeleid een fundamenteel onderdeel zijn in azure Databricks-platformgovernance. Deze handleiding bevat aanbevelingen en aanbevolen procedures om u te helpen een succesvol plan te maken voor het integreren van rekenbeleid in uw governanceframework.

Aangezien governance uniek is voor de vereisten van elke organisatie en de bestaande governance-infrastructuur, begint dit artikel met aanbevelingen die vaak van toepassing zijn op rekenbeleid. In de laatste sectie van dit artikel worden specifieke strategieën besproken om uitdagingen aan te pakken die u in uw omgeving kunt zien.

In dit artikel worden de volgende aanbevolen procedures en aanbevelingen besproken om een succesvolle implementatie van rekenbeheer te garanderen:

  • Maak een plan voor het introduceren van rekenbeleid in fasen om gebruikers te helpen over te stappen naar een beheerde omgeving.
  • Maak een plan voor het communiceren van wijzigingen voor elke fase van de implementatie van het rekenbeleid.
  • Identificeer uitdagingen voor rekenbeheer en implementeer strategieën om deze uitdagingen aan te pakken.

Implementatie van rekenbeleid

Het implementeren van rekenbeleid kan een aanzienlijke wijziging in de gebruikerservaring opleveren. Databricks raadt een gefaseerde benadering aan om gebruikers te helpen bij de overgang:

  • Communiceer de aanstaande wijzigingen en geef gebruikers de mogelijkheid om rekenconfiguraties te testen.
  • Voer een zachte implementatie uit.
  • Introduceer stapsgewijs verdere beleidswijzigingen.
  • Voer een harde cutover uit naar een volledig beheerde omgeving.

Met een gefaseerde implementatie kunnen gebruikers vertrouwd raken met het nieuwe beleid en onderbreking van bestaande workloads voorkomen. Het volgende diagram is een voorbeeld van dit aanbevolen proces:

Implementatieplan voor rekenbeleid

De volgende secties bevatten gedetailleerdere informatie over deze fasen:

Rekenbeleid communiceren en testen

Begin het proces door de aanstaande wijzigingen aan gebruikers door te geven. Het communicatieplan moet het volgende omvatten:

  • Details over wijzigingen die binnenkort worden doorgevoerd.
  • Waarom deze wijzigingen plaatsvinden.
  • Wat gebruikers moeten doen om een geslaagde overgang van workloads te garanderen.
  • Feedback geven over de wijzigingen.
  • Een tijdlijn voor elke fase van de implementatie.
  • Geef aan het begin van elke fase van de gefaseerde implementatie verdere details over die fase.

Het volgende diagram bevat een voorbeeld van een communicatieplan voor een gefaseerde implementatie:

Communicatieplan voor rekenbeleid

Uw plan kan verschillende fasen hebben, afhankelijk van uw omgevings- en rekenbeleidsstrategie. Dit voorbeeld bevat vier fasen:

  • Fase 1 omvat het doorgeven van het plan aan gebruikers en het begin van het testen. Gebruikers moeten de mogelijkheid hebben om hun huidige en verwachte workloads te testen op berekeningen die voldoen aan het nieuwe beleid. U wilt eventuele problemen met bestaande en geplande workloads vroeg in het proces identificeren.
  • Fase 2 gaat verder met testen, samen met de implementatie van een rekentagbeleid.
  • Fase 3 introduceert rekentypen, in dit geval het opgeven van rekenkracht met T-shirtgrootten, bijvoorbeeld kleine, grote of extra grote rekentypen.
  • Fase 4 is de laatste implementatie van rekenbeleid, samen met volledige gebruikersdocumentatie.

Gebruikers moeten ook de mogelijkheid hebben om hun workloads te testen met de geplande rekenconfiguraties in de eerste fase. Met deze tests kunt u bestaande workloads identificeren die problemen hebben met het voorgestelde beleid.

Overwegingen voor het introduceren van rekenbeleid

Houd rekening met uw huidige beheerbeleid bij het plannen van de eerste implementatie van rekenbeleid. Overweeg met name of u overstapt van een omgeving waarin gebruikers geen rekenkracht kunnen maken of een meer open omgeving.

Beperkende omgeving

In het geval van een omgeving waarin gebruikers geen machtigingen hebben om berekeningen te maken, begint u met het implementeren van restrictief beleid, samen met een activeringsplan voor gebruikers. Een activeringsplan kan computertraining, workshops of documentatie zijn. Als u gebruikers richtlijnen biedt voor aanbevolen procedures voor het configureren van rekenkracht, wordt het vermogen om optimaal gebruik te maken van het platform, verbeterd. Beleidsregels kunnen worden versoepeld omdat gebruikers de naleving en competentie van het platform demonstreren.

Onbeperkte omgeving

Het toepassen van beleid kan lastiger zijn in een onbeperkte omgeving. Sommige bestaande gebruiksscenario's en berekeningen vallen bijna altijd buiten de beperkingen van het nieuwe beleid, dus het identificeren hiervan in een testfase of een zachte implementatiefase is van cruciaal belang.

Gebruikers met rekenmachtigingen of toegang tot het onbeperkte beleid behouden hun toegang tot dit beleid gedurende de zachte implementatie om ervoor te zorgen dat alle workloads blijven functioneren. Gebruikers moeten de zachte implementatie gebruiken om al hun workloads te testen met het nieuwe beleid dat voor hen beschikbaar wordt gesteld.

Zorg ervoor dat u gebruikers een plaats geeft om feedback over het beleid in te dienen. Werk samen met gebruikers om het beleid te verfijnen of nieuwe beleidsregels te definiëren wanneer er problemen optreden.

Definitieve implementatie

Verwijder de toegang tot het onbeperkte beleid voor beperkte gebruikers wanneer de deadline is bereikt. De implementatie van rekenbeleid moet nu zijn voltooid.

Specifieke uitdagingen en strategieën

Hier volgen enkele voorbeelden van het toepassen van rekenbeleid om specifieke uitdagingen aan te pakken. Veel van deze strategieën kunnen tegelijkertijd worden gebruikt, maar vereisen wel de toepassing van elke strategie voor alle beleidsregels. Als u bijvoorbeeld de strategie voor het afdwingen van tags gebruikt met de strategie voor T-shirtgrootte, heeft elk T-shirtbeleid ook een custom_tag.* beleid nodig.

Tag afdwingen

Uitdaging

Gebruikers kunnen vrij rekenkracht maken en er is geen mechanisme om af te dwingen dat ze vereiste tags toepassen.

Oplossing

  1. De machtiging voor het maken van rekenkracht intrekken voor gebruikers.

  2. Voeg een regel voor rekentags toe aan alle toepasselijke rekenbeleidsregels. Als u de regel voor rekentags wilt toevoegen aan een beleid, gebruikt u het custom_tags.<tag-name> kenmerk. De waarde kan van alles zijn onder een onbeperkt beleid of kan worden beperkt door vaste beleidsregels, acceptatielijst, bloklijst, regex of bereikbeleid. Als u bijvoorbeeld een juiste terugstorting en kostentoewijzing wilt garanderen, dwingt u een COST_CENTER tag af voor elk beleid dat is beperkt tot een lijst met toegestane kostenplaatswaarden:

    {"custom_tags.COST_CENTER": {"type":"allowlist", "values":["9999", "9921", "9531" ]}}
    

    Elke gebruiker die dit beleid gebruikt, moet een COST_CENTER tag invullen met 9999, 9921 of 9531 om het rekenproces te starten.

  3. Wijs het beleid toe aan gebruikers die kosten moeten kunnen in rekening brengen voor deze drie kostenplaatsen. Beleidsregels kunnen worden toegewezen op gebruikers- of groepsniveau via de gebruikersinterface van het rekenbeleid of de BELEIDS-API. De volgende voorbeeldtekst van de aanvraag wijst een beleid toe aan de verkoopafdeling:

    {
      "access_control_list": [
        {
          "user_name": "user@mydomain.com",
          "all_permissions": [
            {
              "permission_level": "CAN_USE"
            }
          ]
        },
        {
          "group_name": "sales",
          "all_permissions": [
            {
              "permission_level": "CAN_USE"
            }
          ]
        }
      ]
    }
    

Onervaren gebruikers

Uitdaging

Gebruikers zijn niet bekend met het inrichten van compute- of cloudinfrastructuur of overweldigd met opties voor het maken van berekeningen.

Oplossing

Gebruik rekenbeleid om rekenconfiguraties met het formaat T-shirt te definiëren, bijvoorbeeld kleine, middelgrote of grote berekeningen.

  1. Maak een beleid voor elke T-Shirt grootte. Beleidsregels voor T-shirtgrootte geven een relatieve rekenkracht aan voor de gebruikers en kunnen flexibele sjablonen of nuloptieconfiguraties zijn. Beleidsregels voor nul- of lage opties hebben vaak vaste en verborgen beleidsregels. In het volgende voorbeeld wordt een beleid gedefinieerd met een vaste waarde van DBR 7.3 voor de spark_version. Als u de hidden vlag instelt op true, zorgt u ervoor dat deze optie niet zichtbaar is voor gebruikers.

    {"spark_version": { "type": "fixed", "value": "auto:latest-ml", "hidden": true }}
    

    Wanneer u flexibele sjablonen definieert, kunt u bereik-, bloklijst-, regex- en onbeperkt beleidsbeleid gebruiken om bovengrenzen, niet-optionele velden en semi-beperkte beleidselementen in te stellen. In het volgende voorbeeld wordt een beleid gedefinieerd waarmee automatisch schalen van knooppunten maximaal 25 wordt ingeschakeld. U kunt deze definitie gebruiken om bovengrenzen in te stellen op elke T-Shirt-grootte en tegelijkertijd enige flexibiliteit te bieden. Zie Overmatig resourcegebruik voor meer informatie over een benadering van een rekensjabloon.

    {"autoscale.max_workers": { "type": "range", "maxValue": "25", "defaultValue": 5}}
    
  2. Wijs het beleid toe aan gebruikers die een T-shirt-rekenproces mogen maken. Beleidsregels kunnen worden toegewezen op gebruikers- of groepsniveau via de gebruikersinterface van het beleid of de API voor beleidsmachtigingen. Als u dit beleid bijvoorbeeld wilt toewijzen aan alle gebruikers via de gebruikersinterface:

    1. Ga naar het beleid en selecteer Bewerken.

    2. Selecteer het tabblad Machtigingen.

    3. Selecteer de optie alle gebruikers onder Groepen in de vervolgkeuzelijst.

      Beleid toewijzen aan alle gebruikers

  3. De toegang tot het onbeperkte beleid intrekken van de groepen die deze nieuwe beleidsregels alleen mogen gebruiken. Zodra rekenbeleid wordt gebruikt, krijgt u toegang tot de machtiging 'Rekenproces maken' om gebruikers toegang te geven tot het onbeperkte beleid. Het is belangrijk om deze machtiging in te trekken voor gebruikers die deze niet mogen hebben.

    Als u machtigingen voor het maken van rekenprocessen wilt intrekken, raadpleegt u Machtiging voor het maken van rekenprocessen configureren.

Use case-specifieke beleidsregels

Uitdaging

Sommige workloads of analyses zijn niet compatibel met bestaand beleid of gebruikers kennen de juiste rekenconfiguratie voor bepaalde workloadtypen niet.

Oplossing

Als u workloads vindt die niet goed werken met bestaand beleid, is het vaak beter om nieuwe beleidsregels te maken die specifiek zijn gericht op deze workloads in plaats van bestaande beleidsregels uit te breiden.

Om gebruikers te helpen bij het maken van berekeningen met behulp van dit beleid, kan het helpen bij het maken van beleidsregels die zijn afgestemd op specifieke use cases. Wijs beschrijvende namen toe aan deze beleidsregels om gebruikers te helpen ze te identificeren. Als bijvoorbeeld workloads een query uitvoeren op een gegevensbron die predicaatpushdown ondersteunt, is het raadzaam om een specifiek beleid te bouwen dat automatisch schalen afdwingt met een minimum van laag of nul werkrollen. Dit beleid zorgt ervoor dat de kosten van cloudproviders en Azure Databricks niet onnodig toenemen terwijl wordt gewacht totdat de gegevensbron de gepushte onderdelen van de query kan berekenen.

  1. Maak een beleid dat gebruiksspecifieke best practices afdwingt. In dit voorbeeld wordt een beleid gedefinieerd met een vaste waarde voor 0 het minimale aantal werknemers. Dit beleid dwingt ook af dat de berekening automatisch wordt geschaald, wat voldoet aan de best practice van het predicaat pushdown-voorbeeld.

    {"autoscale.min_workers": { "type": "fixed", "value": "0", "hidden": false }}
    
  2. Wijs het beleid toe aan gebruikers die rekenkracht moeten bouwen voor deze gebruiksscenario's. U kunt beleidsregels toewijzen op gebruikers- of groepsniveau via de gebruikersinterface van het beleid of de Api voor machtigingen. Als u dit beleid bijvoorbeeld wilt toewijzen aan een data scientist-groep via de gebruikersinterface:

    1. Ga naar het beleid en selecteer Bewerken.

    2. Selecteer het tabblad Machtigingen.

    3. Als u een beleid wilt toewijzen aan een specifiek team, selecteert u de naam van het team in de vervolgkeuzelijst Gebruiker of groep selecteren.

      Beleid toewijzen aan een groep

Overmatig resourcegebruik

Uitdaging

Gebruikers maken onnodig grote rekenkracht, verbruiken overmatige en dure resources. Dit wordt vaak veroorzaakt door:

  • Kan automatisch schalen niet activeren.
  • Onjuist gebruik van vensters voor automatische beëindiging.
  • Hoog minimumaantal werkknooppunten.
  • Dure instantietypen.

Oplossing

Als u rekenbeleid koppelt aan een intern goedkeuringsproces, wordt de controle over resources mogelijk gemaakt, terwijl u zo nodig ook toegang verleent tot grote rekenresources.

  1. Stel een beoordelingsproces in voor het verlenen van toegang tot grotere of flexibelere beleidsregels. Het beoordelingsproces moet een intakeformulier hebben waarmee informatie wordt verzameld die ondersteuning biedt voor grotere of flexibelere rekenconfiguraties. Het platformeigendomsteam moet deze informatie evalueren om te bepalen hoe de workloadvereisten moeten worden ondersteund. In het volgende diagram ziet u een voorbeeld van een goedkeuringsproces met de grootte van T-shirt:

    Proces voor het aanpassen van de grootte van beleidsregels

  2. Maak flexibeler beleid met minder beperkingen en richt zich op het beheren van beheeritems, zoals tags. Een voorbeeld van een flexibel beleid:

{
  "autoscale.min_workers": {
    "type": "range",
    "maxValue": 20,
    "defaultValue": 2
  },
  "autoscale.max_workers": {
    "type": "range",
    "maxValue": 100,
    "defaultValue": 8
  },
  "autotermination_minutes": {
    "type": "range",
    "maxValue": 120,
    "defaultValue": 60
  },
  "node_type_id": {
    "type": "blocklist",
    "values": ["Standard_E16s_v3", "Standard_E64as_v4", "Standard_E96as_v4", "Standard_E48as_v4"],
    "defaultValue": "Standard_L8s"
  },
  "driver_node_type_id": {
    "type": "blocklist",
    "values": ["Standard_E16s_v3", "Standard_E64as_v4", "Standard_E96as_v4", "Standard_E48as_v4"],
    "defaultValue": "Standard_L8s_v2"
  },
  "spark_version": {
    "type": "fixed",
    "value": "auto:latest-ml",
    "hidden": true
  },
  "enable_elastic_disk": {
    "type": "fixed",
    "value": true,
    "hidden": true
  },
  "custom_tags.team": {
    "type": "fixed",
    "value": "product"
  }
}
  1. Documenteer het upgrade- en goedkeuringsproces en deel het met gebruikers. Het is ook handig om richtlijnen te publiceren voor het identificeren van de typen workloads waarvoor mogelijk meer flexibiliteit of grotere rekenkracht nodig is.

  2. Zodra een gebruiker is goedgekeurd, wijst u het beleid aan hen toe. Beleidsregels kunnen worden toegewezen op gebruikers- of groepsniveau via de gebruikersinterface van het beleid of door een aanvraag in te dienen bij de Machtigings-API:

    {
        "access_control_list": {
          "user_name": "users_email@yourdomain.com",
          "permission_level": "CAN_USE"
        }
    }
    

Meer informatie

Zie Rekenbeleid maken en beheren in Azure Databricks voor meer informatie over rekenbeleidsregels in Azure Databricks en onze blog over rekenbeleid: Eenvoudig cluster maken met volledig Beheer beheren met clusterbeleid.