Houd het eenvoudig

Voltooid
Vermijd het overengineeren van het architectuurontwerp, de toepassingscode en bewerkingen.

Het is vaak wat u verwijdert in plaats van wat u toevoegt dat leidt tot de meest betrouwbare oplossingen. Eenvoud vermindert het oppervlak voor controle, minimaliseert inefficiënties en mogelijke onjuiste configuraties of onverwachte interacties. Aan de andere kant kan oversimplificatie single points of failure veroorzaken. Behoud een evenwichtige benadering.

Voorbeeldscenario

Contoso Travel koopt en integreert een klein startupbedrijf met een populaire webgebaseerde reis-app. De populariteit van de app is te wijten aan het bedrijfsmodel van het onderhandelen over diepe kortingen met hotelketens en luchtvaartmaatschappijen, en het gebruik van sociale media om intensieve en zeer gerichte marketingcampagnes uit te voeren.

De bestaande versie van het opstartproduct is ontwikkeld in nodejs en wordt uitgevoerd op VM's die worden gehost tussen het on-premises datacenter en AWS.

De workloadonderdelen minimaliseren

Voeg alleen onderdelen toe aan uw architectuur als ze u helpen bij het bereiken van bedrijfswaarden. Houd het kritieke pad mager.

Ontwerpen voor zakelijke vereisten kan leiden tot een eenvoudige oplossing die eenvoudig te implementeren en te beheren is. Vermijd te veel kritieke onderdelen, omdat elk onderdeel een belangrijk storingspunt is.

De uitdaging van Contoso

  • Een van de onderdelen van de zojuist verkregen toepassing vergemakkelijkt het verzamelen van feedback van de gebruikers rechtstreeks op de website nadat ze een reservering hebben gemaakt. De functie wordt zelden gebruikt omdat de meeste gebruikers deze gewoon overslaan. Er is een sterk feedbacklusmechanisme van gebruikers die via de sociale mediaaccounts van het bedrijf werken, die sterk wordt gebruikt voor de interactie van marketinggebruikers. Dit mechanisme wordt aanzienlijk vaker gebruikt dan de feedbackfunctie van de website.

De aanpak en resultaten toepassen

  • Als onderdeel van de eerste release van de contoso travel-merkversie van de app besluit het team om het feedbackonderdeel van de website van de workload te verwijderen.
  • Een kleinere codebasis verlaagt de kosten van onderhoud en bewerkingen. En in dit geval heeft dit geen invloed op de bedrijfsvereisten.

De levenscyclus van uw softwareontwikkeling standaardiseren

Stel standaarden vast in code-implementatie, implementatie en processen en documenteer ze. Mogelijkheden identificeren om deze standaarden af te dwingen met behulp van geautomatiseerde validaties.

Standaarden bieden consistentie en minimaliseren menselijke fouten. Benaderingen zoals standaardnaamconventies en codestijlgidsen kunnen u helpen om kwaliteit te behouden en assets gemakkelijk te identificeren tijdens het oplossen van problemen.

De uitdaging van Contoso

  • Het ontwikkelingsteam van het opstarten heeft niet veel ontwikkelings- en processtandaarden gedefinieerd. Er worden een aantal bibliotheken gebruikt die overlappen in functionaliteit, coderingsstijlen worden niet afgedwongen en de releasepijplijnen ontbreken formele releasepoorten die gebruikmaken van geautomatiseerde tests.
  • Het contoso-workloadteam realiseert zich dat de onderhoudskosten van de nieuwe codebasis te hoog zijn vanwege het gebrek aan consistentie in stijlen en de inconsistente gebruiksbibliotheken en ontwerppatronen.
  • Er zijn frequente incidenten na belangrijke updates in productie, waarbij soms terugdraaiacties van de updates of hot-fixes voor de mid-implementatie nodig zijn. De frequentie van deze implementatieproblemen dwingt het team om een volledig hands-on-deck-ondersteuningsmodel te gebruiken bij het vrijgeven van updates voor productie. Om het nog erger te maken, hebben de frequente problemen een negatieve invloed op de reputatie van Contoso via een slechte gebruikerservaring.

De aanpak en resultaten toepassen

  • Het team dat ondersteuning van de nieuwe app overneemt, doet er alles aan om meer consistentie te bereiken door coderingsstijlen af te dwingen, te standaardiseren op een gemeenschappelijke set bibliotheken en ontwerppatronen, en het gebruik van releasepoorten te formaliseren op basis van geautomatiseerde tests.
  • Hoewel deze wijzigingen worden geïmplementeerd, voldoet het workloadteam aan hun standaarddocumentatievereisten. Alle nieuwe hulpprogramma's, ontwerppatronen en stijlen die worden gebruikt, worden grondig gedocumenteerd, zodat het team de workload efficiënter kan begrijpen en onderhouden. Het team kan nu gemakkelijker afwijkingen in de standaarden identificeren bij het uitvoeren van codebeoordelingen.

Beperk uw bewerkingen en ontwikkelingslast

Profiteer van platformfuncties en vooraf gedefinieerde assets die u kunnen helpen effectief te voldoen aan bedrijfsdoelen.

Deze benadering minimaliseert de ontwikkeltijd. Hiermee kunt u ook vertrouwen op beproefde en geteste procedures die zijn gebruikt met vergelijkbare workloads.

De uitdaging van Contoso

  • Voor de eerste release onder de huisstijl van Contoso Travel wordt de nodejs-oplossing gemigreerd van VM's naar App Services, om te profiteren van de vele systeemeigen betrouwbaarheidsfuncties die de service biedt.
  • De versie die op VM's is geïmplementeerd, bevat een aanzienlijke hoeveelheid aangepaste code die nodig is voor instrumentatie.

De aanpak en resultaten toepassen

  • Tijdens de eerste migratie naar App Services kon het team alle aangepaste instrumentatiecode verwijderen door automatische instrumentatie van App Insights te implementeren in App Services.
  • Het team kan ook profiteren van verschillende andere systeemeigen App Service-functies, zoals automatisch schalen, Key Vault-integratie en zonegebonden redundantie.

Test uw kennis

1.

Waarom moet u proberen het aantal onderdelen in uw workload te minimaliseren?

2.

Welke elementen van de levenscyclus van softwareontwikkeling moeten worden gestandaardiseerd?

3.

Hoe is het overstappen op Azure-app Services het Contoso-team helpen hun workload te vereenvoudigen?