Van niets tot full-web-app in 10 muis-kliks!

How about a quick start?

Je bent een software developer.

Je zegt ‘hallo’ tegen de wereld in ongeveer 5 regels code.

Op 1 hand kun je tot 32 tellen, op 2 handen tot 1024!

Dat we met z’n allen in ‘The Matrix’ zitten, is nog steeds niet uitgesloten!

Als je geliefde vraagt om de container buiten te zetten, type je in: "docker container rm"

En 'Quick starts' zijn voor noobs!

Tja, ik heb nooit echt aandacht besteed aan de ‘Quick starts’ van het Microsoft Azure Portal. Waarom zou je? Leuk voor beginners, maar wij zijn pro’s. Toch werd ik tijdens het leren voor een Azure certificering gewezen op de ‘quick start’, in dit geval bij de Azure Cosmos DB. Bam! Wauw!!! Deze is echt chill…

Velen van ons werken al lange tijd traditiegetrouw met relationele databases, in de vorm van MS SQL Server, Oracle DB, MySQL of een ander. En ja, we weten dat er meer is, zoals Document DB’s. Nu ben je voor een asp.net (core) web-app met Entity Framework op MS SQL toch al enkele uren (of dagen) bezig om op te zetten. Moet je nu opnieuw tijd investeren in nieuwe technieken zoals een Document DB? Ik merk dat Document DB veel te bieden heeft qua snelheid en lage kosten. Het vergt wel een andere gedachtegoed vergeleken met relationele DB’s, maar eenmaal onder de knie kan deze erg ver reiken!

Ik kwam voorbij de ‘quick start’ van Azure CosmosDB (Core). Zonder te overdrijven, in 10 muis-kliks heb je een Cosmos DB demo project geladen en opgestart in Visual Studio! Deze quick start maakt voor jou een Todo-lijst applicatie met CRUD (Create, Read, Update, Delete) functionaliteit. En dit mini project op basis van asp.net core bevat op z’n minst:

  • MVC
  • Dependency Injection
  • DocumentDB repository
  • JS/CSS bundeling+minification
  • Bower packages
  • Twitter Bootstrap
  • appsettings-per-environmemt
  • logging

Dit klinkt too-good-to-be-true. Ik neem je zo mee met de 10 muis-klikt, maar eerst even de voorbereiding. Ik ga er namelijk vanuit dat je in de Azure Portal zit, en al een CosmosDB hebt aangemaakt.

Voorbereiding om daar te komen: (dit telt nog even niet mee voor de 10 muis-kliks)

  • Navigeer naar de Azure Portal op portal.azure.com (heb je nog geen Azure account, start dan met een gratis proef versie)
  • Navigeer naar ‘Azure Cosmos DB’
  • Klik op ‘+ Add’
  • Vul een unieke naam in bij Account Name
  • Kies ‘Core (SQL)’ bij API
  • Klik op ‘Review and Create’
  • Klik op ‘Create’
  • Wacht totdat de Cosmos DB deployment voltooid is, en navigeer vervolgens naar de nieuwe CosmosDB.

cosmos db

Ready-set-go! Hier komen de 10 muis-kliks:

Klik 1: Klik op ‘Quick start’

Klik 2: Open tab ‘.NET Core’

Klik 3: ‘Create Items collection’

Klik 4: Klik op de ‘Download’ knop. Deze wordt pas enabled na het aanmaken van de items collection (zie klik 3)

quick start

Klik 5: Open de gedownloade zip file

Klik 6: Extract de gedownloade zip file (oke, dit zijn eigenlijk 4 kliks)

Klik 7: Open de folder ‘quickstartcore’

Klik 8: Dubbel klik op ‘quickstartcore.sln’

Klik 9: Accepteer de “Security Warning for quickstartcore“ wegens gedownloade code.

Klik 10: Klik op ‘IIS Express’, of druk op F5

iis express

Voila:

to do

Je hebt zojuist een quick start solution voor Visual Studio gedownload met diverse recente technieken. Er zit wel 1 shortcut in: de CosmosDB endpoint, key, database-id en collection-id staan hardcoded in code. Niet zo netjes, maar wel erg gemakkelijk voor deze demo.

Vele Azure resources hebben een Quick start sectie. Bijna allemaal hebben ze een link naar documentatie en eventueel een download voor de SDK. Maar bij de CosmosDB springt de Quick start er echt bovenuit! Hopelijk komen er bij meerdere Azure resources zo’n intelligente quick starts!

Live long and prosper,

Marco Vervoort - Team Rockstars IT