Wat is DevOps?
DevOps stelt organisaties in staat om hun producten sneller te ontwikkelen
en te verbeteren in vergelijking met andere methoden voor
softwareontwikkeling. Continuous Integration (CI) is een best practice
binnen DevOps softwareontwikkeling, die de build- en unittestfasen van het
softwarereleaseproces omvat. Elke gecommitteerde revisie start een
automatische build en test, waardoor problemen in een vroeg stadium kunnen
worden geïdentificeerd en opgelost voordat updates worden vrijgegeven
aan klanten.
Wat is Salesforce DevOps?
Salesforce DevOps is hetzelfde als echte DevOps, maar dan gericht op
Salesforce op schaal. Dit helpt ontwikkelteams problemen op te sporen,
bugs te identificeren en deze op te lossen voordat ze wijzigingen
vrijgeven aan hun klanten. DevOps = geautomatiseerde, regelmatiger
releases.
Er zijn momenteel een aantal tools in Salesforce voor de implementatie van
deze applicaties, waaronder change sets, Workbench, SalesforceDX, DevOps
Center, de migratietool van Force.com, CI/CD Pipeline en AppExchange-tools
van derden. Leer meer over Salesforce Ontwikkel- en Implementatieproces.
Voordelen van DevOps-tools
Hier volgen enkele voordelen van DevOps-tools.
- Kortere ontwikkelingscycli, snellere innovatie
- Verminderde Deployment mislukkingen, Rollbacks en hersteltijd
- Verbeterde communicatie en samenwerking
- Verhoogde efficiëntie
DevOps is een reis die begint met kleine stappen.
Zorg ervoor dat het hele team meedoet en op snelheid is. Voeg complexiteit
toe wanneer je team en proces er klaar voor zijn. Er zijn pijlers van een
succesvol DevOps-proces.
1. Versiecontrole
Versiecontrole is de nieuwe enige bron van waarheid. Versiecontrolesystemen (VCS) helpen je
wijzigingen te traceren en creëert hoogwaardige beveiligingspoorten
voor je kostbare code en metadata.
2. CI/CD Pipeline
CI/CD is Niet alleen voor het implementeren van
wijzigingen. Het is meer dan dat, het stelt je in staat om de build te
valideren, automatiseringstesten uit te voeren en helpt je bij het
back-uppen van code. CI/CD zorgt voor betrouwbare en soepelere
implementaties en een lagere faalratio van code coverage.
3. Automatiseringstesten
Een goede DevOps tool voert altijd automatiseringstesten voor je
uit op elk pull request en voor elke release om ervoor te zorgen dat je
nooit onbedekte of buggy wijzigingen samenvoegt of vrijgeeft.
4. Backup
Bescherm uzelf tegen kwaadaardige aanvallen, Salesforce-bugs, onbedoelde
verwijderingen, enzovoort. Met de gemoedsrust dat u altijd een back-up
kunt maken.
5. Code scannen
Code scanning tools helpen bij het automatiseren van delen van het
handmatige proces van code review in Salesforce. U kunt tools
voor statische codeanalyse gebruiken om dezelfde resultaten te bereiken.
Leer meer over DevOps 5 pijlers.
Let’s Understand The CI/CD
Let’s begrijpen het verschil term van CI/CD
1. Continue Integratie
Met behulp van continue integratie wordt een product gemaakt om elke
codewijziging bij elke commit (continu) op te nemen en te integreren, door
alle ontwikkelaars. Een geautomatiseerde build verifieert vervolgens elke
check-in, waardoor teams problemen vroegtijdig kunnen detecteren.
2. Continuous Delivery
Continuous Delivery zorgt ervoor dat code snel en veilig wordt uitgerold
naar productie door elke wijziging handmatig naar een productie-achtige
omgeving te pushen. Omdat elke wijziging automatisch naar een
staging-omgeving wordt gebracht, kun je de applicatie met
één druk op de knop in productie nemen zodra de tijd rijp
is.
3. Continuous Deployment
Continuous deployment is de volgende stap van continuous delivery. Met
Continuous deployment wordt elke wijziging die de geautomatiseerde tests
doorstaat automatisch in productie genomen. De meeste bedrijven die niet
gebonden zijn aan regelgeving of andere beperkingen moeten streven naar
continuous deployment
Salesforce DevOps Tools
Er zijn verschillende DevOps-tools beschikbaar. Deze kunnen worden
onderverdeeld in de volgende categorieën.
1. Custom Build
Je kunt je eigen tool bouwen met behulp van verschillende CI/CD-platforms.
Zoals hieronder:
-
Jenkins: Jenkins is een open-source software voor
continue integratie. Het is geschreven met behulp van de programmeertaal
Java. Het maakt het mogelijk om in realtime te testen en te rapporteren
over geïsoleerde wijzigingen in een grotere codebase.
-
CumulusCI: CumulusCI maakt het ontwikkelaars,
beheerders en testers gemakkelijk om hun werk te doen en samen te werken
in versiebeheer.
-
Azure DevOps: Azure DevOps is een volledig
geïntegreerde set van diensten die u voorzien van alle tools die
nodig zijn voor het bouwen en onderhouden van een backlog, het hosten
van uw broncode repositories, het implementeren van continue integratie,
samen met levering en het testen van workflows voor uw producten voordat
ze worden vrijgegeven
-
GitHub Actions: GitHub Actions maakt het eenvoudig
om al uw software workflows te automatiseren, nu met CI/CD van
wereldklasse. Bouw, test en implementeer je code rechtstreeks vanuit
GitHub.
-
Gitlab pipelines: Gelijk aan GitHub Actions, als je
GitLab verkiest boven GitHub. Het is een no-brainer dat je je meer op je
gemak zult voelen met de interface van het platform en bekend zult zijn
met de functies en workflows.
-
Gitlab pipelines: Vergelijkbaar met GitHub Actions, als je GitLab
verkiest boven GitHub.
2. Geautomatiseerde platforms
Die DevOps Tools die goed geïntegreerd zijn met Salesforce.
-
Serpent: Kwaliteitsgedreven, low-code DevOps en
geautomatiseerd testplatform; een compleet end-to-end DevOps-platform
dat zeer schaalbaar en betrouwbaar is en volledig is geïntegreerd
met het Salesforce-platform. Contacteer ons om vandaag GRATIS aan de slag te gaan
-
Gearset: is een aanzienlijke verbetering ten
opzichte van het gebruik van Salesforce change sets. Vanwege de vele
beperkingen bij het implementeren van specifieke metadatatatypen tussen
sandbox-testomgevingen en productie, beginnen de prijzen bij 300 $ per
ontwikkelaar.
-
Copado: Een solide implementatietool. De
query-optie voor implementaties is erg handig bij het verplaatsen van
Salesforce-gegevens, prijzen beginnen bij 250$ per ontwikkelaar.
Gebaseerd op de behoeften en het budget van uw bedrijf, en rekening
houdend met alle bovenstaande tools, kunt u beslissen of u een
DevOps-proces moet bouwen of kopen.
Zo ver hebben we begrepen wat DevOps is en wat allemaal belangrijke
onderdelen van succesvolle DevOps zijn. Laten we eens kijken naar een
aantal DevOps Best Practices.
1. Omgevingsplanning:
-
Developer Sandboxes en Scratch Orgs:
-
Elke ontwikkelaar gebruikt een Developer of Developer Pro sandbox
voor langetermijnprojecten.
-
Developers gebruiken ook scratch orgs voor korte-termijn,
feature-specifieke ontwikkeling en testen.
-
Integratie Sandbox:
-
Een gedeelde sandbox (Partial Copy) voor het integreren van
individuele bijdragen van ontwikkelaars.
-
UAT (Gebruikers Acceptatie Testen) Sandbox:
-
Een Full Copy sandbox voor zakelijke gebruikers om nieuwe functies
te testen voordat ze naar productie worden verplaatst.
-
Staging Sandbox:
-
Een andere Full Copy sandbox die de productieomgeving nabootst voor
uiteindelijke pre-productietests.
-
Productieomgeving:
-
De live omgeving waar eindgebruikers interactie hebben met de
applicatie.
2. Omgevingsbeheer:
-
Sandbox en Scratch Org-beheer:
-
Vernieuw regelmatig de sandboxen voor ontwikkelaars en integratie om
de meest recente productiegegevens en configuraties weer te geven.
-
Gebruik Salesforce DX voor het maken en beheren van scratch orgs.
Stel scripts op om het maken en verwijderen van scratch orgs te
automatiseren.
-
Pland het verversen van UAT- en Staging-sandboxen rond grote
releases om aan te sluiten bij testcycli.
-
Back-up strategie:
-
Implementeer geautomatiseerde back-ups voor sandboxes en
productiegegevens om gegevensverlies te voorkomen.
3. Versiecontrole:
-
Commit-strategie:
-
Commiteer wijzigingen regelmatig met duidelijke, beschrijvende
berichten.
-
Gebruik pull requests voor code-reviews voordat ze worden
samengevoegd naar hoofdbranches.
-
Wijzigingen bijhouden:
-
Volg wijzigingen in metadata en houd configuraties in verschillende
omgevingen synchroon met tools zoals Gearset of Copado.
4. Omgevingsconfiguratie:
-
Org-specifieke configuraties:
-
Gebruik Salesforce DX scratch orgs voor configuratie en
ontwikkeling.
-
Gebruik Salesforce CLI en sfdx-commando's om wijzigingen te beheren
en te implementeren.
-
Omgevingsvariabelen:
-
Veilig beheer van gevoelige informatie met behulp van Salesforce
Shield of versleutelde aangepaste instellingen.
5. Geautomatiseerde implementatie:
-
Versiecontrole:
-
Gebruik Git als de bron van de waarheid voor alle metadata en code.
-
Implementeer branching strategieën (bijv., feature branches,
develop branch, master branch) om veranderingen te beheren.
-
CI/CD Pipeline:
-
Gebruik Salesforce DX, Jenkins en GitHub Actions om
deploymentprocessen te automatiseren.
-
CI/CD pipeline-stappen omvatten:
- Build:Haal code op uit versiebeheer.
-
Test: Voer geautomatiseerde tests uit met Apex
Testuitvoering.
-
Deploy: Wijzigingen uitrollen naar Integratie
sandbox, gevolgd door UAT, Staging en Productie.
-
Scratch Org Validation: Maak scratch orgs in de
CI/CD pipeline om wijzigingen in een geïsoleerde omgeving
te valideren.
6. Gegevensbeheer:
-
Testgegevens:
-
Gebruik geanonimiseerde of synthetische gegevens in sandboxes voor
ontwikkelaars en integratie om te voldoen aan de voorschriften voor
gegevensbescherming.
-
Gegevensmigratie:
-
Gebruik tools zoals Salesforce Data Loader of Talend voor
gegevensmigratie tussen omgevingen.
-
Scratch Org Data:
-
Gebruik Salesforce DX om scratch orgs te vullen met relevante
gegevens voor ontwikkelings- en testdoeleinden.
7. Bewaking en registratie:
-
Loggen:
-
Implementeer loggen met behulp van Salesforce Debug Logs en stel
waarschuwingen in voor kritieke fouten.
-
Monitoring:
-
Gebruik AppExchange tools zoals New Relic of Datadog voor
prestatiemonitoring en gezondheidscontroles.
8. Compliance en beveiliging:
-
Beveiligingsbeoordelingen:
-
Regelmatig beveiligingsbeoordelingen en penetratietests uitvoeren in
Staging- en Productieomgevingen.
-
Toegangscontroles:
-
Rolgebaseerde toegangscontroles (RBAC) implementeren om de toegang
tot gevoelige omgevingen en gegevens te beperken.
FAQ’s
Wat is Salesforce DevOps?
Salesforce DevOps is
hetzelfde als echte DevOps en is gericht op het benutten van Salesforce op
schaal. Dit helpt ontwikkelteams problemen op te sporen, bugs te
identificeren en deze op te lossen voordat ze wijzigingen vrijgeven aan
hun klanten
Is Salesforce DevOps een goede carrière?
Ja, DevOps engineers hebben een goede carrièremogelijkheid.
Tegenwoordig maakt elk project gebruik van Salesforce DevOps.
Wat doet een Salesforce DevOps engineer?
DevOps engineers zijn verantwoordelijk voor het implementeren van
continuous delivery, optimalisatie, monitoring en release management. Ze
ondersteunen ook het end-to-end releaseproces.
Samenvatting
Salesforce DevOps is een cultuur en een reeks processen die
ontwikkelingsteams en operationele teams samenbrengen om
softwareontwikkeling te voltooien. Ik hoop dat je na het bekijken van alle
DevOps-tools je implementatiestrategie en -proces kunt bepalen.