Marcel MemoryDump

Knowledge is power, sharing knowledge is strength
Windows Azure management via WP7

Op dit moment kun je je Windows Azure services monitoren en beherenvia de Windows Azure management portal. Maar deze portal is geimplementeerd met behulp van Silverlight, dit maakt de portal minder toegangelijk met een browser die geen plugins ondersteund.

Het Windows Azure platform heeft een rijke API met management REST calls om je services te beheren en te controleren. The API is erg handig om gereedschappen te implementeren op andere platforms. Uiteraard zijn er ook PowerShell Cmdlets of Cerebrata Cmdlets waarmee je het meest van de management taken kunt uitvoeren via PowerShell.

Als je de API vanuit een Windows forms app wilt gebruiken, dan is dat redelijk simpel. Hieronder is een snippet. Een groter voorbeeld kan gevonden worden in het Windows Azure Development Cookbook van Niel Mackenzie (Windows Azure MVP).

wa_wp7tool1

Ik wilde altijd een implementatie maken op mijn Windows Phone 7 device. Maar…

Enige weken geleden vond ik een erg aardige Windows Phone 7 app. Met deze app kun je je eigen Windows Azure services beheren vanaf je Windows Phone 7.

DSC_0017DSC_0018

DSC_0019DSC_0021

Zoals je ziet, kun je ook instanties toevoegen en verwijderen. Oke, als je dit thuis wilt doen, er is niet een directe REST call om dit te doen. Je moet de configuration ophalen, veranderen en terugzetten.

Meer informatie over het tool kun je vinden op http://azuremonitor.plainconcepts.com/

wa_wp7tool2

Ik wil later nog eens terug komen het gebruik van de management API.

SQL Azure Reporting Preview

Wat er op het Windows Azure platform nog ontbrak, was een implementatie van SQL Server Reporting Services (SSRS). Dat betekende niet, dat reports helemaal niet mogelijk waren. Alleen was er geen service waar deze reports opgeslagen konden worden.

Met Visual Studio 2010 kun je een report (RDLC) maken en deze laten connecten naar een SQL Azure database. Door de report (RDLC) op Windows Azure storage te plaatsen, kun je de report definitie aanpassen zonder een volledige deploy van je Windows Azure service te doen.

meijerreport7

Maar nu komt SQL Azure Reporting er toch echt aan. Er was al een beperkte CTP beschikbaar, maar nu is Reporting in een echte Preview vorm beschikbaar. Wat nog niet kan, is een andere datasource kiezen dan SQL Azure. Mocht je dus behoefte hebben aan een XML source of iets dergelijks, dan zul je de RDLC oplossing richting moeten kiezen.

meijerreport1

Voor het ontwikkelen van een rapport volgt je het development traject, zoals je dat met de ‘tradionele’ SQL Reporting ook gewend bent. Je gaat aan de slag met SQL Server Business Intelligence Development Studio. Daar maak je een Reporting project en dan ga je aan de slag met de Report Wizard of maak je van scratch af aan een Report. Als je Report dan klaar is, kun je hem gewoon deployen. Uiteraard wel naar de SQL Azure Reporting server https://<server>.reporting.windows.net/reportserver. Op deze URL kun je ook een preview krijgen van het report, dat je gedeployed hebt.

meijerreport2

meijerreport3

meijerreport10

De Target Server URL is de server waar de report definitie (RDL) gedeployed gaat worden. Ten opzichte van de vorige preview kun je nu veel meer dingen regelen. De rapporten kunnen op de server netjes gegroepeerd worden door ze in verschillende folders of directories te plaatsen. Ook kun je gebruikers toevoegen en rechten uit delen. Dit maakt SQL Azure reporting erg krachtig.

meijerreport4

Op de Windows Azure portal kunnen we ook door klikken naar de directories etc. En zoals we inmiddels gewend zijn met de Windows Azure portal is er ook een rechtermuis context menu, waarbij je bepaalde acties/settings kunt doen.

meijerreport5

Tijdens de preview kon je wel naar de Report server, maar daar kun je helaas niet veel.

meijerreport6

Het rapport op de server kun je in je ASPX pagina heel eenvoudig toevoegen.

meijerreport8

Je zult natuurlijk wel de credentials voor het rapport nog goed moeten zetten, maar dan werkt het allemaal erg makkelijk.

meijerreport9

Nu staat bijna niets meer in de weg om geweldige Windows Azure applicaties te verrijken met SQL Azure reporting.

Het enige wat ik nog jammer vindt, is het ReportViewer control. Hoewel dit control erg rijk is aan functionaliteit (in een project gebruiken we deze om rapporten te saven als PDF in een WorkerRole), het control is nog wel steeds gebaseerd op oude architecturen. Het is mogelijk om de ReportViewer te gebruiken in bijvoorbeeld SilverLight, maar dan moet je altijd een uitstapje maken naar HTML of ASPX. Laten we hopen dat hier nog iets aan gedaan wordt.

Office 365 en Mobile

Office 365 is Microsofts online Office gehost in de Cloud. De voorloper hiervan was BPOS (Business Productivity Online Services), maar Office 365 bevat de laatste versies van de bijbehorende on premise software.

Met Microsoft Online Services werk je altijd online met de beste software van Microsoft voor een vast bedrag per gebruiker per maand. Deze dienst wordt door Microsoft verzorgd en de data staat in de datacenters van Microsoft in Ierland en Nederland. Microsoft Online Services biedt met Office 365 (plan P1), bedoeld voor professionals en kleine organisaties, de volgende functionaliteiten:

  • Email, agenda en contacten: Snel en vertrouwd werken vanuit Microsoft Outlook of via Outlook Web Access (OWA) vanuit de browser met Microsoft Exchange Online,
  • Documenten delen en samenwerken: Eenvoudig door het gebruik van Microsoft SharePoint Online,
  • Instant messaging en webmeetings: Eenvoudig onderling communiceren met Microsoft Lync Online,
  • Opzetten van een publieke website: Op basis van standaard templates met Microsoft SharePoint Online,
  • Werken met bestanden: Documenten bewerken vanuit de browser met Office Web Apps (Word, Excel, PowerPoint, OneNote).

meijer03651_thumb[1]

Het delen van documenten via de team site is dan erg makkelijk.

meijer03652_thumb[1]

De SDN gebruikt voor haar interne automatisering op dit moment nog BPOS. Voor mijn prive doeleinden heb ik een Office 365 P abonnement afgesloten. Maar hele grote organisaties kunnen zeker ook bij Office 365 terecht. Er zijn zelfs mogelijkheden om de Lync aan te sluiten op je bedrijfs telefoon centrale.

Maar het mooiste van Office 365 is de integratie met Windows Phone 7. Uiteraard kun je gewoon met de Windows Phone outlook client connecten naar de Office 365 exchange server.

meijer03653_thumb[1]

Maar standaard zit er op de Windows Phone 7 een tile met de naam Office oftewel de Office Hub. Deze hub bevat naast Skydrive integratie ook de mogelijkheid om te koppelen met SharePoint sites of Office 365. In dit Office hub kun je de vollgende dingen zien.

meijer03654_thumb[2]

Inmiddels is er ook een Lync client aanwezig, zodat je zelf op je telefoon online (!?) kunt zijn.

meijer03655_thumb[2]

Maar dit is niet gelimiteerd to alleen het Microsoft platform. Inmiddels is er ook een Lync client voor de iPhone/iPad.

meijer03656_thumb[2]

Office 365 is voor de zakelijke markt absoluut een uitkomst. Voor de consumenten markt is er ook een goedkoper alternatief. Met je Live id (hotmail of live of MSN), SkyDrive, Messenger en Windows Phone 7 kom je een heel eind. . Het enige dat je dan mist is de SharePoint teamsite. Ook deze kun je op de iPhone/iPad tegenwoordig prima benaderen, aangezien de bijbehorende websites inmiddels allemaal gebaseerd zijn op HTML5.

Posted: Jan 07 2012, 09:30 AM by Marcel | with no comments
Filed under: , , , , ,
Windows Phone 7

Sinds de eerste Windows Phone 7 beschikbaar was in Nederland, ben ik de trotse eigenaar van een HTC Trophy. Daarna heb ik nog Samsung Omnia 7 gekocht en een paar maanden geleden een Nokia Lumia 800.

wp7_1

Het grootste verschil tussen de drie: de Samsung heeft het grootste scherm. Ookal is dit ook een Amoled scherm, het is iets lichter dan de Nokia. De foto maakt het niet helemaal duidelijk, maar er is een kleur verschil tussen de verschillende toestellen. Samsung en Nokia komen in elkaars buurt.

wp7_2

Op dit moment bevalt de Nokia het best. De Samsung heeft een beter scherm dan de HTC, maar is in zijn geheel iets groter. Hoewel het verschil in grootte tussen de Samsung en Nokia minimaal is, voelt de Samsung veel groter.

Ik ben gebruiker van of geweest van Windows Mobile, Android en iPhone, maar Windows Phone 7 integreert veel beter met Exchange, Office 365 en Skydrive. Dat vind ik prettig.

Posted: Jan 06 2012, 12:00 PM by Marcel | with 1 comment(s)
Filed under: , , ,
Windows Azure is Multi Language

Op verschillende events beweert Microsoft altijd dat Windows Azure Multi Language is, of ze zeggen dat Java a first class citizen of Windows Azure is. Dit gedeelte van de website laat zien dat het inderdaad waar is.

multilang1

En als je afvraagt wat OTHERS betekent, C++ of Python of iedere programmeer taal die maar kunt bedenken.

Posted: Dec 12 2011, 05:43 PM by Marcel | with no comments
Filed under: , , ,
SQL Azure enhancements (December 2011)

Er zijn een aantal aanpassingen gedaan aan de Windows Azure Management portal, zoals ik in mijn vorige blogpost al vertelde Billing is er een van. Maar er zijn ook aanpassingen gedaan aan SQL Azure. Nu kun je ook kiezen voor 100 Gb of 150 Gb als max.

dbenhance1

En als if 150 Gb niet genoeg is. Met Federation is er eigenlijk geen echte limiet meer. Met het maken van verschillende federations, kun je boven de grens van 150 Gb uitkomen! Later meer hierover!

En de mooie schone interface in Silverlight 5 How cool is that!

dbenhance2 dbenhance3

Posted: Dec 12 2011, 02:14 PM by Marcel | with no comments
Filed under: , , ,
New Billing Portal voor Windows Azure

De Billing Portal voor Windows Azure is geredisgned en veel handiger. Op de Windows Azure management portal kun je nu klikken op de Billing link aan de bovenkant. Daarna zal er een twee tab in Internet Explorer openen en je doorsturen naar de the Billing portal.

billingportal1

Het mooie is, dat je je wachtwoord niet opnieuw hoeft in te typen. Maar SSO werkt nu op dit stuk.

billingportal2

Op het Subscription overview scherm zie je al je subscriptions en de lopende kosten. Je kunt je profile editen en het is veel makkelijker om een nieuwe subscription toe te voegen. Klikken op een Subscription geeft meer details over de kosten.

billingportal3

Nu is het veel duidelijker waar de kosten vandaan komen etc. Je betaal history is ook nog steeds op te vragen.

billingportal4

Als je in de history klikt op een rekening, dan krijg je de bijbehorende PDF te zien.

Deze nieuwe portal maakt mooier inzicht in de gemaakte kosten.

Posted: Dec 12 2011, 08:30 AM by Marcel | with no comments
Filed under: , , ,
SQL Azure Databases

Als ik een sessie doe over Windows Azure, dan komt daar ook SQL Azure bij ter sprake. Bijna altijd komt er een opmerking over de maximale grootte van een SQL Azure database.

Even een klein recap. Er zijn 2 edities van SQL Azure beschikbaar: Web en Business. Op dit moment heb ik nog geen verschillen tussen die twee kunnen ontdekken, maar wellicht gaat dat ooit nog komen. De Web editie is er alleen als 1 Gb en 5 Gb. De Business editie begint bij 10 Gb en eindigt bij 50 Gb, in stappen van 10 Gb. Vanaf december zal het maximum overigens liggen op 150 Gb (zie hier). De kosten van een SQL Azure database worden op dag basis bepaald. Het is geen lastig rekenmodel.

Op dit moment is het maximum van een SQL Azure database dus 50 Gb. Tijdens veel van mijn sessie hoor ik dan, dat mensen dat weinig vinden. In eerste instantie dacht ik dat ook, maar ik heb mijn menig bijgesteld.

Mijn laatste grote (niet Windows Azure gerelateerde) opdracht was een project bij een overheidsinstelling. Bij dit project maakte we gebruik van SQL Server databases. De beheerders hadden daar geen probleem mee, maar wel met de groei. Met de groei van de databases zouden ook de storage vraag en de backup tijd toenemen. Op zichzelf niet zo erg, maar om hun SLA’s te kunnen halen moest de backup wel in een bepaalde tijd geklaard zijn. En voor een aantal fikse databases was dat lastig. Uiteindelijk zijn er schoningsscripts gebouwd en is er efficiënter met de databases omgegaan.

En deze situatie geldt ook gewoon voor SQL Azure. We zullen weer efficienter met de databases om moeten gaan. Met wat we er in stoppen en wat we bewaren etc. Tenslotte zullen alle kosten gerelateerd moeten zijn aan een business case / behoefte. Als dat niet het geval is, dan zul je een oplossing moeten verzinnen.

Tijdens mijn praatjes geef ik ook altijd aan, dat wij als developers in de afgelopen jaren nogal gemakzuchtig zijn geworden. Disks / CPU en memory kosten bijna geen drol en zijn er bijna in overvloed. We werden niet gedwongen om na te denken, zoals we in de begintijd met schaarste wel deden. Veel oudere ICT-ers kennen dit nog wel, toegangspadanalyses etc.

Kijk dus goed naar wat je in de database wilt bewaren en opslaan. En kijk of er niet een ander wellicht goedkoper alternatief is. Windows Azure storage is erg efficient voor blobs etc. Windows Azure storage tables is erg efficient voor niet relationele data. Dus deze zaken hoef je niet in een SQL Azure database op te slaan.

En als je dan toch iets in een SQL Azure database gaat opslaan, denk dan ook na over schoningstermijnen en schoningsscript. In mijn blogpost van een aantal maanden geleden beschrijf ik een alternatief.

Windows Azure en Cloud computing in zijn algemeenheid dwingen ons om kosten en daarmee vaak ook over efficiëntie na te denken. Dat is geen bedreiging dat is een kans! Je zou het nu ook al moeten doen.

Windows Azure Storage vs Local Storage

Als ik sessies doe over Windows Azure, dan zeg ik altijd dat wij als software engineers/architecten weer goed moeten nadenken over kosten. Want Windows Azure mag dan misschien duurder lijken in vergelijking met een on premise situatie, maar dat hebben we als ontwikkelaars ook gewoon zelf in de hand.

Oke, de verschillende VM’s hebben natuurlijk vaste kosten. En zoals ik in mijn vorige blogpost uitgelegd hebt, kun je daar ook verstandig mee omgaan door rollen te combineren. Hierbij een overzichtje van de standaard kosten van een VM per maand. Let op deze tabel geldt voor 1 instantie. Kijk hier voor de kosten van meerdere instanties.

     

month

VM

Storage

per hour

Extra Large

2040

0.96

700.80

Large

1000

0.48

350.40

Medium

490

0.24

175.20

Small

225

0.12

87.60

Extra Small

20

0.05

36.50

Het combineren van rollen kan dus voordeel opleveren, maar ook efficiënt programmeren kan geld besparen. Zoals dit voorbeeld (code voorbeeld overgenomen van Maarten Balliauw).

clip_image002

Onnodig om te vertellen dat hiermee CPU klok tikken te verdienen en dus geld te besparen is.

Een besparing kunnen we ook bewerkstelligen door efficient om te gaan met lokale storage. De storage in een VM is in eerste instantie bedoeld voor je applicatie of website. Uiteraard kun je plaatjes voor je website ook op deze lokale disk kwijt, maar realiseer je dan twee dingen. Ten eerste deze storage kan niet onder een CDN regime vallen. Daarmee moeten je gebruikers altijd dezelfde afstand afleggen naar het plaatje, ook als ze het Windows Azure datacenter niet direct in hun buurt is. Ten tweede deze lokale disk in verhouding erg duur is.

In onderstaande tabel heb ik de kosten van een VM inclusief hun storage neergezet. De storage kosten zijn berekend door maand bedrag te delen door de beschikbare storage.

     

month

storage costs

VM

Storage

per hour

GB / month

Extra Large

2040

0.96

700.80

0.34

Large

1000

0.48

350.40

0.35

Medium

490

0.24

175.20

0.36

Small

225

0.12

87.60

0.39

Extra Small

20

0.05

36.50

1.83

Voor de criticasters die zeggen dat de VM prijs niet volledig bepaald wordt door de storage, maar ook door de CPU/Mem/Network. Stel dan eens dat deze verhouding de helft is, dan nog is local storage voor de kleine VM’s nog steeds duur.

     

month

storage costs

VM

Storage

per hour

GB / month

Extra Large

2040

0.96

350.40

0.17

Large

1000

0.48

175.20

0.18

Medium

490

0.24

87.60

0.18

Small

225

0.12

43.80

0.19

Extra Small

20

0.05

18.25

0.91

Maar realiseer je dan ook, dat je van een instantie altijd minimaal twee nodig hebt. Dat de local storage dan ook verdubbeld en dus de kosten ook.

Uiteraard kun je mijn berekening bediscussiëren. Het punt dat ik wil maken, is het feit dat wij als ontwikkelaars en architecten wel degelijk invloed hebben op de kosten van een Windows Azure applicatie.

Maar laat opmerkingen horen in de remarks. Thanks!

Posted: Nov 07 2011, 10:32 AM by Marcel | with no comments
Filed under: , , ,
Combineren WebRole en WorkerRole Windows Azure

Soms is het kosten efficiënt om een WebRole en een WorkerRole te combineren. Op deze manier nut je de volledige capaciteit van de VM/Server uit, zonder dat je extra instanties nodig hebt.

Stel je het volgende scenario voor. Je hebt een WebRole met 2 Websites en je hebt een WorkerRole. Maar nu blijkt dat de WorkerRole met een minder grote VM had kunnen draaien. Dan kun je uiteraard een kleinere VM kiezen, maar als je al een XS gekozen hebt?

Sterker nog, de WebRole met zijn 2 WebSites gebruikt ook niet de volle kracht van de VM.

clip_image002_thumb1

Dan lijkt het interessant om beide rollen samen te voegen.

clip_image004_thumb

Dat samenvoegen gaat simpel, door de WorkerRole logica te verplaatsen naar de WebRole. Dat kan door de methode Run() toe te voegen aan de WebRole.cs.

Let op: je zult eventuele specifieke settings uit app.config of Role configuration wel moeten verplaatsen van WorkerRole naar de WebRole web.config of Role configuration.

public override void Run()
{
  Trace.WriteLine("WorkerRole entry point called", "Information"
);
  while (true
)
  {
    <own logic>

    Trace.WriteLine("Working", "Information"
);
  }
  base.Run();
}

Hier een meer uitgewerkt voorbeeld.

clip_image006_thumb1

In de Local Development Emulator zie je dan ook daadwerkelijk de Traces langs komen. Terwijl de website gewoon in de browser geopend is en volledig functioneel. Uiteraard merk je als gebruiker van de Website niets dat er op de achtergrond nog een ander proces hard aan het werk is. Als je dat wel merkt, dan hebben we het daar zo over.

clip_image008_thumb

De andere kant om kan natuurlijk ook. Je hebt een WorkerRole en wilt daar een WebRole bijzetten. Je zult dan wel logica voor het starten van de website moeten inbouwen. De eerste kant uit is het eenvoudigst.

Posted: Nov 02 2011, 08:22 PM by Marcel | with no comments
Filed under: , , ,
SDN Cloud Magazine Special

Het afgelopen jaar is de aandacht voor Cloud als platform enorm toegenomen. Dat blijkt wel uit het feit, dat veel bedrijven diensten willen of gaan leveren en daar duidelijk een Cloud component aan will verbinden. Soms is dit label wel een beetje discutabel aangezien het erop lijkt dat iedereen zijn oplossing tegenwoordig een Cloud oplossing noemt. Maar het neemt niet weg, dat de Cloud serieus genomen wordt.

Verschillende onderzoeken geven aan, dat een gang naar de Cloud of het gebruik van de Cloud bij vele bedrijven en CEO’s hoog op de prioriteiten lijst staat.

In onze reguliere magazines komt Cloud naast Mobile, Web en Desktop al veelvuldig aan bod, maar het momentum van de Cloud is nu en daarom hebben wij deze special gemaakt. In deze Cloud special lees je over de verschillende aspecten van de Cloud platformen.

Heb je interesse in deze special en heb je niet gekregen op een van de komende events? Mail mij dan, dan stuur ik er graag eentje op.

marcel.meijer@sdn.nl of redactie@sdn.nl

Cloud Arjen de Blok - SSL Security in Windows Azure 05
Cloud Clemens Reijnen - Met Cloud Computing hebben wij een belofte waar te maken 10
Cloud Marcel Meijer - Windows Azure is Scalable 14
Cloud Niels Bergsma - Back-ups maken in SQL Azure met het DAC2.0-framework 17
Cloud Kris van der Mast - Een introductie rond caching op het Azure platform 20
Cloud Maarten Balliauw - Beyond Software-as-a-Service: Self-service application provisioning 24
Cloud Didier Caron - Client-Side benaderen van de Access Control Service 28
Cloud Anko Duizer - Het Windows Azure Platform: één jaar verder... 31
Cloud Hildo van Es - Queue notification service 33

Posted: Oct 03 2011, 07:00 AM by Marcel | with no comments
Filed under: , ,
MVP 2011

YES! Gisteren kreeg ik de MVP felicitatie mail! Tweede jaar op rij, Cool! Ik ben er erg trots op.


Dear Marcel Meijer,
Congratulations! We are pleased to present you with the 2011 Microsoft® MVP Award! This award is given to exceptional technical community leaders who actively share their high quality, real world expertise with others. We appreciate your outstanding contributions in Visual C# technical communities during the past year.

Bedankt Microsoft en iedereen die mij gesupport heeft!

Posted: Oct 02 2011, 01:02 PM by Marcel | with no comments
Filed under: ,
Windows Azure SDK 1.5 en VMWare Workstation 8 (DevFC.exe stopped working)

Vandaag had ik een probleem met het starten van de Windows Azure Compute Emulator. Ik kreeg deze fout.

sdk1.5ws8

Niet zeker wat het was, deinstalleerde ik de Windows Azure SDK 1.5 en herinstalleerde deze via de Microsoft Web platform Installer. Maar het probleem bleef bestaan. Op een zeker moment was ik in staat om te debuggen en zag deze melding langs komen “There is already a listener on IP endpoint 127.0.0.1:12001.“. Deze melding kun je ook terug vinden in de DevFabric logging op C:\Users\<user>\AppData\Local\dftmp\DevFCLogs. Helaas laat de eventviewer alleen warnings zien en is het detail van de message waardeloos.

Maar welk proces zit dan op dezelfde poort? Dus deed ik een Bing zoek en ik vond deze thread. Kennelijk waren er meer mensen met dit probleem. Het probleem was gerelateerd aan een gebruikersnaam met een spatie of een VM Ware Workstation 8 installatie. Dat laatste was ook mijn laatste verovering. Ik had het geinstalleerd na de installatie van SDK 1.5 en ik had de Windows Azure Emulator niet meer getest na de installatie van VMWare Workstation 8.

De thread zegt dat je de service “vmware-hostd.exe” moet stoppen en de Windows Azure emulator doet het dan weer. En dat was ook zo.

Dus heb ik hem gestopt en geconfigureerd als manual. Nu ben ik benieuwd welke functionaliteit ik mis.

sdk1.5ws82

De service “vmware-hostd.exe” is er al even, maar in eerdere versies van VMWare Workstation werd deze niet gestart of zo.

Helaas ben je in beide tools niet in staat om het poort nummer te veranderen. We zullen dus moeten wachten op een update van een van beide.

Ik hou jullie op de hoogte van de functionaliteit die ik nu zou missen in VMWare Workstation 8.

Posted: Sep 21 2011, 12:28 PM by Marcel | with 1 comment(s)
Filed under: , , ,
SQL Azure DACPAC – import en export data

Als je net als ik de Windows Azure blog in de gaten houdt, dan heb je de mededeling over de service release van SQL Azure ook zien langs komen. Met deze update zijn er ook aanpassingen gedaan aan het SQL Azure gedeelte van de Windows Azure portal. Voorheen hadden we Houston (enige maanden geleden heb ik daar op deze blog iets over gemeld). Houston was het web tool om de database op SQL Azure instance te beheren vanuit de cloud. En dat was niet onverdienstelijk gedaan. Andere leveranciers in de markt kwamen ook met dergelijk producten.

Deze nieuwe release is het netjes maken van het tool en het uitbreiden van de portaal functies. En zoals dat nu gebruikelijk is, heeft alles een Ribbon. Dus ook de Windows Azure portal en de SQL Azure portal gedeelte ook. Op deze Ribbon zijn de meest voorkomende taken samengevoegd.

In deze post wil ik de aandacht vestigen op “Import and Export CTP” op de Ribbon. Dit klinkt erg gaaf en het lijkt op de meeste gevraagde feature. Althans als ik het goed begrijp en het gaat over import en export data. Vandaag is dat nog niet zo makkelijk te doen. Je kunt create scripts maken in SQL Server Management Studio en de data include in het script. Maar wederom foutgevoelig.

sqlazureribbon

Maar wat doen die twee items nu?

sqlazureribbonexport sqlazureribbonimport

Afhankelijk van de focus in de tree aan de linkerkant, is de een danwel de andere gehighlight.

Laten we beginnen met de Export. Met deze optie kun je een export maken van een SQL Azure instance naar een file. Dit bestand wordt dan op Windows Azure Storage geplaatst. Je moet de database selecteren (Export is gehighlight en kan geselecteerd worden), voer de credentials op en de Windows Azure storage locatie, klik daarna op finish. Daarna krijg je een pop-up, daarin staat dat het verzoek in behandeling wordt genomen.

sqlazure_export1

Het neemt enige tijd in beslag afhankelijk van de grootte van je database uiteraard. Als je dan kijkt op je Windows Azure storage, dan staat het bestand er.

storage

Als het bestand er niet staat, dan kun je op de status button klikken. Voer wederom je credentials en bekijk de regels op fouten.

sqlazure_status1sqlazure_status2

Uiteraard is de import de ander kant uit. Het bestand staat op Windows Azure storage en je specificeert waar de data naar toe geimporteert moet worden. In dit geval heb ik een nieuwe database gespecificeerd en die wordt dan gemaakt. Maar als je een reeds bestaande database opgeeft lukt het ook.

sqlazure_import1

Dat is gaaf! Bijna een echte backup facitliteit. Maar het wordt nog mooier.

Nu willen we natuurlijk een export maken van een locale database en deze importeren in een SQL Azure instance!

Yep, ook mogelijk. Kijk op deze site voor de info http://www.sqlazurelabs.com/ImportExport.aspx en met dit tool DAC Import Export Client-side Tools V 1.1 op http://sqldacexamples.codeplex.com/ kun je het voor elkaar krijgen.

Start het tool met de juiste options, zet het bestand op Windows Azure storage en activate de import zoals hierboven beschreven.

localbacpac1

En je SQL Azure database heeft on premise data. Dat is nog gaver!

In het komende SDN Cloud special magazine hebben we een article hierover.

SQL Azure development met tooling ‘Juneau’

Als je op dit moment ontwikkelt voor SQL Azure dan mis je een paar handige tools. De tooling die ook gebruikt als je voor SQL Server 2008 R2 aan het ontwikkelen bent.

In SQL Server Management Studio als je geconnect bent naar SQL Server 2008 R2 en je wilt een tabel maken, dan is er dat handige UI dingetje.

sql1

Maar als je geconnect bent naar SQL Azure met SQL Server Management Studio dan krijg je alleen de syntax te zien voor het create table statement.

sql2

Maar ik heb niet altijd genoeg aan de syntax Winking smile. Ik gebruik liever dan UI ding. Oke, je kunt ook zonder natuurlijk; maak de tabelen in SQL Server 2008 R2, script de Database objects voor SQL Azure, draait het script op de SQL Azure instance en ga verder. Maar er zijn nogal wat stappen en dus ook punten waar het mis kan gaan. Vanuit Visual Studio kun je ook connecten naar SQL Server of SQL Azure met de Server Explorer. Maar het maken van objecten voor SQL Azure is niet supported.

sql3

Maar er is hulp op komt! Op dit moment wordt er hard aan gewerkt om Denali te ontwikkelen en op dit moment is hij in CTP3. Met deze nieuwe versie van SQL Server komt ook de Juneau tools en tooling, deze maken het UI ding in de Server Explorer van Visual Studio voor SQL Azure weer mogelijk. Ontwikkelaars kunnen dan dus weer gebruik maken van ‘wizards’.

sql4

Ok, DBA’s moeten het nog doen met de syntax. Maar dat vinden zij dan weer mooi Winking smile.

More Posts Next page »