Het Nancy webframework hosten op Heroku dankzij Owin

Eerder berichte ik al over Heroku’s PaaS dienst en vertelde ik ook al wat over Owin en Katana. Onlangs kwam ik erachter dat Heroku het Mono project ondersteunde. Mono is een opensource implementatie van Microsoft’s .NET en zorgt er onder andere voor dat je .NET applicaties onder Linux kan draaien. Doormiddel een speciaal buildpack kan Heroku voor jou je .NET applicatie rechtstreeks vanuit een Git repository compilen

Dankzij Owin is het nu mogelijk om self hosted applicaties te draaien die niet meer onder IIS moeten draaien en hierdoor volledig in Mono kunnen draaien zonder IIS. Microsoft heeft met haar eigen Owin implementatie genaamd Katana support voor WebApi en SignalR geleverd en deze kunnen dus zonder problemen binnen Owin draaien. Beide frameworks hebben zo snel van IIS/ASP.NET af kunnen stappen omdat hier vanaf het begin rekening mee is gehouden. Dat geldt helaas niet voor ASP.NET MVC, deze is te diep verbonden met ASP.NET welke weer zwaar op IIS ondersteuning leunt dat het maar de vraag is of ASP.NET MVC ooit in Owin zal draaien.

Gelukkig is er een ander web framework voor .NET genaamd Nancy. Nancy is vergelijkbaar met het Ruby framework Sinatra en is gemaakt voor websites en webservices zonder dat het in de weg zit met zogenaamde “plumbing“. Ondersteund Nancy ook MVC vraag je jezelf dan af? Jazeker maar het is niet verplicht om het MVC pattern te gebruiken. Uiteindelijk is Nancy maar een simpel endpoint dat naar Http Requests luistert. Gelukkig kan je ook gewoon MVC gebruiken zoals je dat wilt. Je kan Views laten serveren vanuit een Views map, Models aanmaken en je requests er naar toe mappen net zoals bij de reguliere ASP.NET MVC

Ik heb zelf een klein voorbeeld gemaakt welke een simpele Nancy applicatie door middel van Owin op Heroku gehost is. De source is hier op Github te vinden.

Hoe moet je het draaien?

1
2
3
4
5
git clone https://github.com/matthijsbreemans/nancy-owin-heroku.git
cd nancy-owin-heroku
heroku create
heroku config:add BUILDPACK_URL=https://github.com/friism/heroku-buildpack-mono/
git push heroku master

Niet vergeten een worker aan je Heroku app te koppelen en als het goed is kan je nu naar de app navigeren met je browser.

Self-hosted SignalR met Owin

Onlangs ben ik bezig geweest met het uitwerken van een nuttige toepassing van de C# Api voor WhatsApp (GitHub fork hier). Iedereen weet ondertussen dat de openheid en compatibiliteit het grote gemis is bij WhatsApp dus het leek me leuk om wat te gaan spelen met een zelf geschreven crossplatform client. Mijn keuze is uiteindelijk op een implementatie van WhatsApi geworden. Ook zocht ik al een tijdje naar een nuttige toepassing om SignalR te gaan gebruiken (op een simpele oldschool Ilse chat room na) en is mijn keuze uiteindelijk gevallen op een self hosted implementatie van Owin in combinatie met SignalR.

Nieuwsgierig wat SignalR en/of Owin nou precies inhoud?

Lees verder

Wat is de OpenSSL Heartbleed bug?

De OpenSSL Heartbleed bug, het gehele internet is er sinds maandag al in rep en roer over. OpenSSL wordt door meer dan de helft van alle servers gebruikt en een bug hierin kan serieuze gevolgen hebben. Het blijkt nu dus dat deze bug al 2 jaar in de broncode van OpenSSLzat! Grote sites die OpenSSL gebruiken waren hierdoor al 2 jaar onveilig ,onder andere Yahoo was vatbaar voor misbruik van deze bug.

Nieuwsgierig of je eigen site vatbaar is? Bekijk het hier

Lees verder

CloudFlare vs Incapsula: Site optimalisatie

Eerder schreef ik al over de verschillen tussen CloudFlare en Incapsula.Beide diensten bieden onder andere aan om je website te versnellen, onder nadere door middel van goede bereikbaarheid, minification en gzip. Een goede manier om dit te meten is Yahoo’s YSlow en Google’s Page Speed. Deze berekenen een score en adviseren hoe je pagina geoptimaliseerd kan worden.

Om dit eenvoudig te testen heb ik gebruik gemaakt van GTMetrix, deze combineert beide technieken om de snelheid van de pagina te meten. Totaal zijn er 3 verschillende testen uitgevoerd, een met CloudFlare, een met Incapsula en een zonder beide. Alle drie de testen werden uitgevoerd op de zelfde Wordpress site op de zelfde host

Lees verder

Gratis Content Delivery Networks: Welk CDN is de beste?

Een gratis CDN voor je site, wie wil dat nou niet? Een CDN of Content Delivery Network zorgt er voor dat je site vanuit iedere plek in de wereld goed en snel bereikbaar is. Zolang je zorgt dat je site door het CDN goed benaderbaar is zorgt deze er voor dat het over de wereld verspreid wordt.

Daarnaast bieden CDN’s tegenwoordig extra features zoals extra beveiliging, DDoS protectie, CSS en JavaScript minification), SSL, IPV6 en meer. Veel van deze features zijn betaald maar de meeste basic features zijn gratis.

Twee grote namen op het gebied van CDN’s zijn CloudFlare en Incapsula. Uiteraard zijn er grotere namen zoals Akamai en Limelight maar de eerder genoemde zijn de enigen die naast hun betaalde producten ook een gratis dienst aanbieden. Deze CDN’s zijn uitstekend te combineren met de gratis PaaS cloud diensten die ik eerder besprak.

Lees verder

AWS Summit 2014 komt er aan!

Aanstaande woensdag op 26 maart 2014 is het zover Amazon gaat van start met hun Amazon Webservices Summit 2014! AWS Summit staat in het teken van de laatste ontwikkelingen op het gebied van AWS diensten. Met name de keynote speech laat zien wat we dit jaar allemaal kunnen gaan verwachten van AWS.

Helaas is de eerste Summit in San Fransisco maar gelukkig heeft Amazon een live stream ter beschikking gesteld waar je alvast een plek kan reserveren.

Voor de mensen die er graag bij willen zijn maar geen zin hebben in een verre reis. Op 10 juni 2014 houdt Amazon een AWS Summit in Amsterdam.

Als je niet kan wachten, hier is een video van Andy Jassy’s keynote van vorig jaar en een samenvatting is hier in het te vinden

Gratis PaaS diensten

Gratis PaaS? Ja gratis PaaS! Als je nog niet weet wat PaaS betekent is deze blog misschien niet voor je bedoeld. Als je toch graag iets met Platform-As-A-Service wilt gaan doen kan ik je adviseren om dit even te lezen.

In de wereld van de Cloud zijn eigenlijk maar drie grote spelers, namelijk Amazon, Microsoft en Google. Amazon is er in gerold met hun Amazon Web Services (AWS) om overtollige servers te gaan verhuren. Dit bleek een ongekend succes te zijn, mede dankzij hun goede prijsmodel, en Amazon heeft hier nu groot op ingezet. Microsoft daarentegen is met hun Azure cloud meteen groots begonnen, waar het bij Amazon nog als een redelijk klein project begon hebben ze bij Microsoft hier gelijk groot op ingezet. Microsoft probeert met name de infrastructuur van grote bedrijven in de Azure cloud te krijgen en combineert dit met uitstekende integratie in het .NET framework en Windows. Google is daarentegen een andere weg bewandeld, ze zijn al erg lang bezig met de Google App Engine (GAE) en die was ook al vanaf het begin gratis maar de Google Compute Engine (GCE) is pas later beschikbaar gekomen.

Lees verder

Korting op elektronische Microsoft boeken!

Microsoft gaat weg bij de ebook store van O’Reilly. Daarom biedt de online store van O’Reilly nu alle Microsoft ebooks met 60% korting aan!

Hierdoor je kan je nu bijvoorbeeld de drie exam reference boeken voor MCSD voor 3x $12,80 kopen.

Bekijk de deals in de O’reilly store hier en gebruik de code WKFAREW. De actie loopt tot en met 26 maart 2014!