Cloud In het kort: Voorspelbaar kostenmodel Redundantie en hoge (geografische) beschikbaarheid Schaalbaar (horizontaal en verticaal) Uitgebreid veiligheidsmodel Herkenbare tooling Beheersbaar (monitoring)
Altijd verbinding met SQL Azure J o a c h i m Fa r l a
en
Michiel
va n
Oudheusden
Het Windows Azure Platform is productierijp. Het is al in 21 landen beschikbaar. Het is dus tijd om dieper naar de cloud componenten te kijken. En dan in het bijzonder SQL Azure, de relationele database in de cloud, gebouwd op SQL Server 2008. Is in de toekomst de cloud dé plek voor software? 1. Inleiding Wat een winterseizoen hebben we achter de rug. Waar het vorig jaar een lauw tot winterswarm weerbeeld was, is het ijzig koud geweest. We hebben heerlijk weer gehad om te schaatsen op natuurijs en konden op andere momenten ongestoord wegdromen onder het genot van een glühwein op een beschut terras. Als u naar de ontwikkelingen in de IT kijkt, is het eigenlijk niet anders. We leven in wereld die enorm snel verandert. Waar u enkele jaren geleden zag dat klanten investeerden in on-premise hardware en software, ziet u nu dat organisaties voorzichtig de stap naar de “cloud” overwegen. Microsoft Exchange is er als Exchange Online, SharePoint is er als SharePoint Online en Office Communications Server is er als Office Communications Online. Al deze diensten heeft u al voor nog geen 12 euro per maand per gebruiker in één pakket. Voor deze prijs kunt u bijna geen on-premise server meer aanschaffen en onderhouden. We leven in de tijd van cloud diensten. Denk bijvoorbeeld maar aan de applicaties in uw eigen organisatie. Deze draaien vaak op on-premise hardware en moeten redundant en in een hoge beschikbaarheid toegankelijk zijn voor alle eindgebruikers. Deze vereisten zijn
50
mei 2010
complex om te realiseren en in onderhoud erg kostbaar voor organisaties. En kijk ook naar de dure hardwarematige load balancers voor een middelgrote .NET applicatie. Dit moet toch anders kunnen? Microsoft heeft al sinds 2008 een hele speciale visie op dit gebied. Tijdens de PDC in 2008 werd het nieuwe platform van Microsoft aangekondigd: Windows Azure Platform, het platform voor de cloud. En we kunnen u nu melden dat het Windows Azure Platform productierijp is. Al in 21 landen is het Windows Azure Platform beschikbaar. Niets houdt ons tegen om dieper naar de cloud componenten te gaan kijken en dan in het bijzonder SQL Azure, de relationele database in de cloud, gebouwd op SQL Server 2008. De kennis van uw organisatie zit in de hoofden van mensen. Ook de kennis rondom een specifiek database product als SQL Server. Het belangrijkste in de stap naar SQL Azure is dat deze bestaande kennis niet verloren gaat. Bij SQL Azure blijven databasebeheerders vertrouwd met het product en kunnen dit in grote lijnen blijven beheren zoals zij gewend zijn. TechNet Magazine
Deze beheerders hoeven zich nu geen zorgen meer te maken over gegarandeerde uptime van een database of redundantie, omdat dit specificaties zijn die ingebakken zitten in het Azure platform. Ook krijgt een systeembeheerder met SQL Azure minder zorgen. Zo is het niet langer nodig om periodiek te controleren of systemen gepatched zijn. Voor beheer blijft Microsoft SQL Server Management Studio bestaan, als on-premise beheeromgeving van waaruit op een eenduidige manier verbinding gemaakt kan worden met de database omgeving binnenshuis en in de cloud. Bij de keuze voor SQL Azure is een belangrijke vraag of Microsoft uw organisatie kan blijven ondersteunen naarmate uw organisatie groeit en uw SQL storage-behoeftes groeien. Het antwoord is “ja”: SQL Azure groeit met de organisatie mee en kan meegaan in een snelle toename van de omvang van uw databaseopslag. Denk bijvoorbeeld aan een applicatie die in het hoogseizoen tien maal zoveel registraties van gebruikers erbij krijgt. U wilt bij deze groei niet ervaren dat uw (on-premise) databaseomgeving onvoldoende capaciteit heeft. Microsoft hanteert bij groei het “pay as you grow” model. U betaalt meer naarmate u meer gebruikt en uw betaling schaalt weer terug als u minder capaciteit nodig hebt. Het behoeft geen uitleg dat het opvangen van een snelle groei met een onpremise SQL Server of een eigen server in een datacentrum lastig en eigenlijk niet mogelijk is. Het zal daar al snel resulteren in traagheid van een on-premise SQL Server en uiteindelijk downtime van de applicatie. Deze flexibiliteit om groei op te vangen is een standaard voorziening van de cloud. Wij zullen proberen u inzicht te geven in de werking van SQL Azure. Laten we kijken wat er onder de motorkap zit. 2. Data in de cloud We hoeven u vanzelfsprekend niet uit te leggen, dat elke applicatie een vorm van data-opslag nodig heeft. In de meest simpele vorm is dit tijdelijke opslag in het werkgeheugen, maar er is binnen applicaties ook behoefte in permanente opslag. De gegevens gaan dan naar een bestandsysteem of database toe. Op het Windows platform zal door ontwikkelaars al snel gekozen worden voor een Microsoft SQL Server als data opslag. Hoe zit het wanneer de data of de ontwikkelde applicatie of beide in de cloud draaien? Men krijgt dan te maken met enkele specifieke uitTechNet Magazine
dagingen. Er kan niet zonder meer geschreven worden naar een bestandsysteem. De applicatie moet allereerst ergens in de cloud een database kunnen vinden en er een veilige verbinding mee kunnen maken, maar ook de database zelf moet voldoen aan de eisen die afnemers verwachten van een database als cloud-applicatie: schaalbaar, redundant en veilig. Microsoft SQL Azure is op basis van deze eisen een volwaardige database in de cloud, maar er zijn nog andere cloud-specifieke manieren voor applicaties om data op te slaan. Een applicatie kan namelijk gebruikmaken van Tables, Queues en Blobs. Dit zijn vormen van opslag in de Windows Azure Storage service en ze zijn te benaderen via een REST (Representational State Transfer) interface. Dat betekent dat met elke willekeurige programmeertaal via de webstandaarden HTTP, XML, JSON en dergelijke tegen deze stores kan worden geprogrammeerd. Voor de .NET talen is er een ontwikkelkit beschikbaar om dit te vergemakkelijken. De blobs zijn uitermate geschikt om grote binary data structuren in op te slaan tot wel een terrabyte in grootte. De queues bieden een manier om te communiceren tussen verschillende Azure applicaties en met de tables bent u in staat om snel data op te slaan en via een eenvoudige taal weer op te halen. Daar zit ook meteen het nadeel; hoewel deze diensten snel en gemakkelijk zijn te gebruiken, is er ook een aantal belangrijke functionele beperkingen. De tables zijn bijvoorbeeld niet relationeel, maar bestaan uit simpele properties. Ook is er geen schema beschikbaar en is het niet mogelijk om SQL te gebruiken om deze data met SQL-queries te benaderen. Daar staat tegenover dat alle data op drie plekken wordt bewaard voor redundantie, enorm schaalbaar is en via standaard manieren, zoals REST, uitgelezen kan worden. Dit laatste betekent dat ook web- of andere applicatie met Java of PHP deze data kan raadplegen en bewerken. Wilt u de mogelijkheden van een echte relationele database gebruiken, dan biedt Microsoft hiervoor de SQL Azure Database aan. 3. Wat is SQL Azure? Of u nu uw applicatie in de cloud wordt gehost, op een device zoals een telefoon hebt draaien of binnen uw eigen hostingomgeving heeft staan, u kunt altijd verbinding maken met SQL Azure aangezien deze het Tabular Data Stream (TDS) protocol ondersteunt. Dit
mei 2010
51
Cloud betekent dat bestaande libraries en tools ook werken op SQL Azure. Zo kunt u nog steeds gebruikmaken van de SQL Server Management Studio en SQL Server Integration Services voor migratie, inrichting en beheer. SQL Azure is voor u in de rol van DBA namelijk een normale SQL Server omgeving. Er zijn kleine verschillen die u even moet weten. Er ontbreekt een aantal zaken, zoals de mogelijkheid om CLR data types te gebruiken, gedistribueerde transacties te doen en de full text search in te zetten. Op dit moment is ook het gebruik van spatial data nog onmogelijk. Maar Microsoft kondigde tijdens de MIX10 aan dit en meer in een volgende release toe te voegen. Ook ontbreken op dit moment functionaliteiten zoals Reporting, Analysis Services, Replication en de Service Broker. U kunt uiteraard wel vanuit een on-premise omgeving van de reporting, analysis server of BI-installatie gebruikmaken door een koppeling te maken met uw cloud database. Aangezien de technici van Azure de SQL Server beheren, kan de gebruiker zelf geen running-value parameters van de server veranderen. Azure zorgt zelf voor de juiste instellingen om de server zo optimaal mogelijk te laten werken. Zo wordt alle data op drie verschillende plekken opgeslagen en zijn alle schrijfacties consistent. Ook garandeert het Azure platform een hoge beschikbaarheid zonder dat u hier iets voor hoeft te doen. Een SQL database op Azure begint standaard met een 1 GB database, dat kost u ongeveer 7 euro per maand en er is een 10 GB versie voor 70 euro per maand. Microsoft heeft een 50 GB versie al aangekondigd. Daarnaast zijn er kosten voor het ingaande en uitgaande verkeer. U kunt een database op elk moment aanvragen aangezien dit een geheel geautomatiseerd proces is. Binnen enkele minuten na aanvraag is uw database beschikbaar in de cloud. Azure is een utilization platform; u betaalt naar wat u gebruikt. Daarbij kunt u meerdere SQL Azure servers afnemen en binnen elke server meerdere databases draaien. Elke server heeft zijn eigen logins en wordt gehost vanaf een door u ingestelde geografische locatie. Hoewel er geen limiet is aan de hoeveel data die u kunt opslaan, is er wel een limiet aan een enkele database; deze mag namelijk niet groter zijn dan 10 GB. Om meer data op te slaan, zult u de data moeten verdelen over meerdere databases. Deze techniek heet Database Sharding. De data wordt verdeeld over meerdere databa-
52
mei 2010
ses aan de hand van een partitioning key. Soms is deze verdeling (de partitioning) eenvoudig te realiseren. Uw data is mogelijk op te delen in jaren, in verschillende klanten of goed te groeperen per categorie. Of u hierbij nu 3 of 300 databases gebruikt, dat maakt het Azure platform niets uit. Deze techniek is niet alleen zinvol als u over veel data beschikt, maar kan ook helpen om snelle toegang tot uw data te realiseren omdat er parallel gewerkt kan worden door meerdere databases. Besef wel dat uw applicatiecode complexer wordt. Een SQL Azure database ondersteunt ook het nieuwe OData formaat. Dit kunt u aanzetten op uw database en biedt u de mogelijkheid om via een standaard manier (REST) uw data te delen. Het feit dat u kunt aangeven in welke geografische locatie u uw data wilt opslaan, is een belangrijke feature van SQL Azure. Met deze instelling kunt u uw cloud applicatie en database hosten vanuit een datacenter dicht bij uw klanten. 4. Voor- en nadelen SQL Azure Laten we eens eerlijk zijn tegen onszelf: is SQL Azure voor iedere organisatie de oplossing? Zeker niet in alle gevallen is SQL Azure de beste keuze als databasevoorziening. Voor uw bestaande on-premise omgevingen moet zeer goed en gedetailleerd worden gekeken welke database componenten er gemigreerd kunnen worden naar de cloud en wat beter binnen uw bedrijfmuren kan blijven staan. SQL Azure kent in de huidige versie geen backup en snapshot mechanisme. U kunt dus niet zomaar een SQL Azure database backuppen en restoren zoals dat mogelijk is bij een on-premise database. Wel kunt u een database migreren naar het SQL Azure platform met tools die aangeboden worden op onder andere Codeplex zoals de SQL Azure Migration Wizard. Deze tool maakt voorafgaand aan de migratie van de database naar het SQL Azure platform inzichtelijk welke onderdelen wel en niet gemigreerd kunnen worden. Het hebben van een goed backup en restore mechanisme in de cloud is hierbij van essentieel belang. SQL Azure Migration Wizard is dus een hulpmiddel om databaseschema's en data te migreren naar de cloud, maar biedt u geen volwaardige backup oplossing. Welke oplossing u ook naar voren schuift om een vorm van een backup te hebben (zoals SSMS of BCP); geen van deze oplossingen garandeert dat de hele database TechNet Magazine
consistent blijft. Een snapshot van een database kan teruggeplaatst worden, rekening houdend met het moment dat de data corrupt is geraakt. Een aanpak zou kunnen zijn dat u een kopie van uw SQL Azure database met een restore op een on-premise SQL Server inleest om een periodieke data integriteitscheck te doen. Een enorme winst zou eveneens zijn dat u de on-premise SQL Server in “cloud mode” kan draaien met dezelfde restricties als die in de cloud gelden. Zo krijgt u een beter en representiever beeld van hoe uw data straks in de cloud aangeboden wordt en kunt u veel eerder correcties doorvoeren, nog voor u daadwerkelijk gaat migreren.
Figuur 1 Na het aanmaken van een SQL Azure database, is de master-database zichtbaar
Microsoft noemt de Sync Framework technologie een manier om data eenvoudig te synchroniseren tussen de cloud, on premise en devices zoals telefoons. Echte cloud backup opties, zoals database clone en continuous backup, zijn al wel aangekondigd door Microsoft en worden dit jaar nog verwacht.
5. Starten met SQL Azure Ervaring opdoen met SQL Azure is makkelijk. Om een SQL Azure database aan te kunnen maken heeft u een Live Id nodig zodat er achteraf afgerekend kan worden. Met dit account kunt u de Azure diensten aanvragen op de website http://sql.azure.com
Staat uw applicatie on-premise maar uw database in de cloud, denk er dan aan dat het dataverkeer over het algemeen trager is dan wanneer uw applicatie en database dicht bij elkaar staan. Aangezien u ook betaalt over het ingaande en uitgaande verkeer van SQL Azure kunnen de kosten snel oplopen wanneer u veel verbruikt. Aangezien uw databases niet meer bij u onpremise staan, moet u vertrouwen hebben in de partij (en ook het land) die u uw data in de cloud host. Dit geldt uiteraard voor alle cloud diensten en aanbieders.
U maakt een database server aan door een administrator account aan te maken en te bepalen op welke geografische locatie de server zich moet bevinden.
Buiten de verschillende nadelen die wij net noemden, is er ook een groot aantal voordelen te behalen met SQL Azure. Denk aan het voordeel dat dezelfde beheerinterface wordt gebruikt. U in uw rol als DBA kunt gewoon naar een database connecten vanuit SQL Server Management Studio. Hetzelfde geldt bij het werken met SQL Azure vanuit Microsoft Visual Studio, ook daar gemak waar uw ontwikkelaars profijt van hebben. Ook het schaalbare model en hoge beschikbaarheid van uw database zijn een groot voordeel. Binnen organisaties is het niet nodig de kennis ten aanzien van database en ITDevelopment als verloren te beschouwen, maar deze kennis juist weer nieuw leven in te blazen. DBA'ers maar ook systeembeheerders hoeven niet opnieuw opgeleid te worden om met deze technologie aan de slag te gaan.
TechNet Magazine
Hierna komt u in het scherm waar, naast het aanmaken van uw wachtwoord, twee opties zijn te vinden; het beheren van databases en het beheren van de firewall. Standaard kan er namelijk geen verbinding worden gemaakt met de database, u moet hiervoor de firewall open zetten.
Figuur 2 Het is vereist, om in het begin een nieuw beheerderswachtwoord aan te maken
Daarna is het in de portal, maar ook in SQL Management Studio, mogelijk om nieuwe databases toe te voegen. Standaard is er uiteraard een master-database. Deze bevat bij SQL Azure
mei 2010
53
Cloud onder andere ook de firewall rules en heeft stored procedures om deze aan te passen. Hier is ook informatie over de werklast van SQL Azure te vinden. Verbinden met SQL Management Studio is eenvoudig. U geeft de servernaam op zoals deze is terug te vinden in het portaal en u gebruikt uw eerder aangemaakt administrator accountgegevens om uzelf aan te melden. Vergeet hierbij niet uw IP adres toe te voegen in de firewall. Met SQL statements of andere tooling is het dan mogelijk om een database te raadplegen, het schema te genereren en data te importeren. 6. Beheren van gebruikers in SQL Azure Bij het aanmaken van een SQL Azure database is een aantal instellingen voorgedefinieerd in de master-database. Zo is er een login aangemaakt die de “server-level principal” is voor de SQL Azure Server. Deze login is vergelijkbaar met het sa-account voor een instance op een on-premise SQL Server. Het SQL Azure sa-account heeft direct alle rechten om de server te beheren op zowel serverniveau als databaseniveau. Het beheren van security in SQL Azure is vergelijkbaar met een on-premise instance van een SQL Server. Het beheren van beveiliging op database niveau is bijna identiek, maar er zijn wel verschillende parameters beschikbaar die gebruikt kunnen worden voor verfijning van de gewenste functies. Omdat SQL Azure databases kunnen schalen naar een of meerdere fysieke machines, gebruikt SQL Azure ook een andere strategie voor het beheren van servers op serverniveau. Uw eigen SQL Azure server is eigenlijk een abstractie van database groeperingen. Databases die geassocieerd zijn met SQL Azure kunnen fysiek op een andere server staan in het Microsoft Datacenter. De master database houdt alle logins centraal bij en ook de rechten die gebruikers hebben om bepaalde databases te mogen benaderen. U moet dus een connectie hebben met de master database om CREATE, ALTER of DROP commando's te geven ten behoeve van logins of databases. De master-database van SQL Azure heeft ook twee views waarmee u kunt zien welke rechten logins hebben op welke database. Gebruik hiervoor respectievelijk de views sys.sql_logins en sys.databases views. Wellicht vraagt u zich af hoe u logins aanmaakt in de master-database van SQL Azure. Hoe koppelt u een login aan een gebruiker in een SQL Azure database en hoe kunt u een user koppelen aan een rol in een SQL Azure database? Dit alles kan gewoon vanuit de oude vertrouwde SQL Server Management Studio.
54
mei 2010
Stap 1. Open de SQL Server Management Studio en kies bij server type: Database Engine. Voer vervolgens de servernaam op SQL Azure in en authenticeer met SQL Server Authenticatie. We gaan er in deze demonstratie vanuit dat de HoLTestDB database reeds is aangemaakt.
Stap 2. Nu gaan we een login aanmaken voor de gebruiker: HoLTestUser met een standaard password: “myP@ssword”. Klik hiervoor op New Query en voer het volgende commando uit:
CREATE LOGIN HoLTestUser WITH PASSWORD='REPLACE_HoLTestUser_ PASSWORD' Na het uitvoeren van het SQL statement gaat u terug naar de connectie properties in de SQL Management Studio. Let op: Gebruikt u dit voor productiedoeleinden? Houd er dan rekening mee dat u veilige wachtwoorden gebruikt. Hierboven is slechts een voorbeeld. Stap 3. Klik op Options en ga naar het tabblad Connection Properties en verbind naar de eerder aangemaakte HoLTestDB database.
Stap 4. Nu zullen we in de context van de HoLTestDB database een user creëren voor de login TechNet Magazine
aangemaakt in Stap 2. Klik op New Query en voer het volgende commando uit: CREATE USER HoLTestUser FOR LOGIN HoLTestUser
Als resultaat ziet u dat we een verbinding hebben met de database server.
Belangrijk is dat de gebruiker hier nog geen enkel recht heeft om mutaties in de database te maken. Dit zullen we verzorgen in volgende stap. Stap 5. In deze stap zullen we de aangemaakte gebruiker rechten geven in de rol van db_owner. Klik op New Query en voer het volgende commando uit:
Naast de logins, speelt de firewall ook een belangrijke rol. Zoals eerder vermeld, kunt u in het portal van Azure deze eenvoudig instellen en expliciet IP ranges opgeven van de computers die verbinding mogen maken met de database-server. Met een bepaalde instelling geeft u aan dat Microsoft Services toegang krijgt tot uw SQL Azure server. Dit zet uw database server open voor uw cloud applicaties. Naast de portal die deze rules beheert, kunt u ook gebruikmaken van een aantal stored-procedures om hetzelfde resultaat te bereiken. In komende versies van SQL Azure kan er ook gebruik worden gemaakt van andere authenticatie-manieren dan een inlognaam/wachtwoord. Denk hierbij aan ADFS en WLID.
EXEC sp_addrolemember 'db_owner', 'HoLTestUser' De DB Owner rol is een hoog privilege binnen SQL, maar noodzakelijk voor onder andere het aanmaken van tabellen en procedures. Stap 6. Open de SQL Server Management Studio en log aan met de user HoLTestUser op de database HoLTestDB.
Stap 7. In deze stap zullen we controleren of we succesvol zijn verbonden. Klik op New Query en voer het volgende commando uit: SELECT @@version.
TechNet Magazine
7. Het gebruik van SQL Azure U heeft bovenstaande stappen gedaan; een Azure account aangemaakt, een SQL Azure database gecreëerd, de firewall opengezet en uw logins toegevoegd. Hoe krijgt u uw relationele database en uw data in SQL Azure zodat u deze kunt gebruiken? Er is een aantal manieren. U kunt gebruikmaken van de SQLManagement Studio zoals eerder beschreven. Zorg dat er een firewall-rule is, noteer het adres van uw database-server en log vervolgens in. U kunt dan met behulp van SQL statements de tabellen en relaties aanmaken en data toevoegen. Dit SQL script genereert u eenvoudig in uw on-premise database. Let er wel op dat SQL Azure niet alles ondersteunt wat uw on-premise database ondersteunt, u moet mogelijk het script of uw database aanpassen. Daarna is het aanpassen van de connec tionstrings in uw applicaties de laatste stap van uw eerste databasemigratie naar de Cloud. De juiste connectiestring vindt u in het portaal van SQL Azure. Uw applicatie zal nu naar de cloud-database verbinden en alles draait weer zoals u gewend bent.
mei 2010
55
Cloud Een alternatief om uw database te migreren of in te richten is om gebruik te maken van Sql Server 2008 Integration Services. De R2 November CTP van SQL Server 2008 kan databases te migreren van een on-premise database naar de cloud. Ook de bulk copy utility (bcp) kunt u gebruiken om data naar Azure toe te sturen. Eerder noemden we al de SQL Azure Migration Wizard (http://sqlazuremw.codeplex.com/). Deze applicatie zorgt ervoor dat een bestaande SQL 2005/2008 database gemigreerd kan worden naar een cloud-database door SQL te genereren die geschikt is voor SQL Azure. Verder vertelden we u al over het Sync Framework dat is uitgebreid met ondersteuning voor SQL Azure. Deze technologie maakt het mogelijk om data te synchroniseren tussen een SQL Azure database en een lokale SQL Server Database of SQL Compact. Denk daarbij aan toepassingen waarbij een applicatie tijdelijk offline moet kunnen werken, maar bij het beschikbaar komen van een internet-connectie de data gesynchroniseerd moet worden met de database in de cloud. Wanneer uw applicatie eenmaal draait en u daarbij een de cloud-database gebruikt, wilt u natuurlijk ook weten hoe deze zich gedraagt. Hiervoor is een aantal views beschikbaar zoals sys.dm_exec_connections (informatie over lopende connecties), sys.dm_exec_requests (de requests naar de database), sys.dm_exec_sessions (openstaande sessies), sys.dm_tran_locks (locking activiteiten) en sys.dm_exec_query_ stat (informatie over de query plans). 8. Conclusie U denkt misschien “prachtig al die databases en applicaties in de cloud, maar is dit nu wel iets voor mij”? Met dit artikel willen wij u meer informatie geven over de mogelijkheden van het Windows Azure Platform en met name van SQL Azure. Als IT-professionals zijn wij ervan overtuigd dat in de toekomst de cloud dé plek is waar uw software is. Software die eenvoudig en veilig te benaderen is, tegen lage vaste- en beheerkosten bovendien. Eveneens dat uw data beschikbaar is, vanaf elke plek en op elk moment van de dag. Data die organisch kan meegroeien met uw bedrijf dankzij het Azure principe “pay as you grow”. U gaat alleen meer voor de resources betalen als u ook meer gaat gebruiken en de rekening schaalt weer terug als u minder nodig hebt.
56
mei 2010
Windows Azure is op dit punt anders dan andere aanbieders op de markt. Is het niet fijn, dat u al uw bestaande kennis kunt richten op processen die er al zijn en die alleen nog maar beter en voorspelbaarder worden? Geen onnodige kosten meer voor duur ijzer en specialistisch onderhoud. Geen zorgen meer over de toegankelijkheid uw bedrijfsdata van buitenaf voor uw zakelijke partners en de service naar de applicaties bij uw klanten als de stroomvoorziening het weer eens laat afweten. SQL- en applicatiekennis is maximaal te hergebruiken met de bestaande mensen binnen uw organisatie. Nieuwkomers op zoek naar een SQL-database kunnen eenvoudig en tegen lage kosten instappen. Wij wensen u veel cloud succes.
E-office Zij werken beiden bij e-office, gespecialiseerd in optimale digitale werkomgeving met IBM, Microsoft, Google en mobiele technologieën en het begeleiden van organisatie- en gedragsverandering die daarbij nodig zijn.
Joachim Farla werkt in de IT sinds het afronden van zijn studie Informatica in 2001. In juli 2008 en 2009 ontving Farla een MVP Award van Microsoft Nederland voor OCS. Joachim Farla is frequent spreker en traint in SharePoint en Office Communications Server. Michiel van Oudheusden houdt zich voornamelijk bezig met front-end webapplicaties, maar ook met Windows en service applicaties. OCS en cloud computing is momenteel zijn favoriet.
TechNet Magazine