GopherMap.com -Azure cloud computing social media mashup demo<br />Roy Lachica, Bouvet ASA<br />NNUG user group meeting, F...
Agenda<br />Background GopherMap<br />The process towards the sky<br />Azure <br />Challenges<br />Experiences<br />Tips a...
Included in the prototype<br />Windows Azure<br />AzureSQL<br />.Net 3.5 <br />Extensionmethods<br />Linq to SQL<br />Asp....
BackgroundGopherMap<br />Why GopherMap.com<br />Learn new stuff<br />Want to create<br />Experiences from previous private...
The process towards the sky<br />Project idea/vision (2 years ago)<br />Started with sample code (Not Azure related) (9 mo...
Challenges<br />Yammer open source code used system.diagnostics namespace which failed on Azure.<br />Forgot to use Copy l...
Negative exeriencs with Windows Azure<br />Lot of hassle with versions and service packs.<br />Had to reinstall: Windows A...
Positive experiences with Windows Azure<br />Stabile deployment<br />Fast end simple deployment <br />Easy to scaling <br ...
Tips and tricks<br />Programming for Azure without Dev fabric<br />Why would you do that:<br />Dev fabric takes time to bo...
How to checkwhatenvironmentyouareruning in<br />publicenumEnvironmentType<br />{<br />Azure = 1, DevFabric = 2, LocalNoDev...
AzureSQL<br />Pros<br />Do not have to deal with artificial data tables (such as Azure Table storage, Google Bigtable, Ama...
ExperienceswithusingsocialAPI’s<br />Twitter<br />Mye data caching for å slippe å gjøre kall mot server hele tiden for all...
GopherMap on Azure, pros and cons in comparison to traditional hosting<br />Pros:<br />Less can go wrong during operationa...
Oppsummering<br />Azuremakes lifeeasier for developers.<br />Deploymentfaster and more simple. No need for Terminal servic...
Hvordan komme i gang<br />En del eksempler tilgjengelig<br />Du kan kode i C#, VB.Net, PHP<br />Ta utgangspunkt i NerdDinn...
Azure demo<br />https://windows.azure.com<br />
GopherMap demo<br />http://www.gophermap.com<br />Lar deg finne relevante personer (relevant kompetanse)<br />Beregnet spe...
Lenker (howtos)<br />Deploying an app:<br />http://ecn.channel9.msdn.com/o9/ch9/4/4/6/6/8/4/DeployingOnWindowsAzure_2MB_ch...
Lenker (verktøy)<br />Getstarted:<br />http://www.microsoft.com/windowsazure/<br />My azure apps:<br />https://windows.azu...
Questions<br />Bouvet is hiring <br />Open positions: <br />.Net, Architects, SharePoint, Frontend.<br />Contact<br />Roy ...
Upcoming SlideShare
Loading in...5
×

GopherMap Azure

1,543

Published on

Experiences with using the early Microsoft Azure CTP on a private Asp.Net MVC project

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,543
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Det er så mye som skjer på ms stakken. Må ha et prosjekt for å bli motvert til å lære.Joel and jeff handler ike om verktøyene med hva man lager med deHosting via kompiser: billig men mye vedlikehold og administrering og driftsting.
  • tidlig ute når jeg så jeg var nummer 250 som hadde lastet ned migreringspakka.
  • Brukte Cerebrata gratis online database editor verktøy som proxy
  • så jeg må drive å kopiere kode fra arbdidsmaskina mi som er XP hjemme over til en annen maskin med Vista for så å generere deploymentpakken som lastes opp til den 17. deploymenten jeg gjorde fungerte ikke så jeg måtte slette tjenesten på Azure og opprette den på nytt. Tok ca 5 minutter å opprette tjenesten på nytt. mange som har hatt dette problemet. manuell deployment hvor man må klikke seg gjennom deployment stegene.
  • Devfabric er emuleringen av Azure lokalt på maskinenHvis bare css som enderes. Filer pakkes sammen og fyres opp emuleringen i azureMitt lille prosjekt tok ca 7 sek å fyre opp i devfabric på maskin som begynner å bli noen år gammel.
  • brukte cerebrata.com/SQLAzureClienttil å kopiere inn create script for hver enkelt tabell. http://sqlazuremw.codeplex.com/
  • Velocity: inmemory distribuert applikasjons cache
  • Setter opp firewall settingsDomenenavnet gophermap.com er koblet til siten via C-name oppføring hos dns hosting provideren jeg bruker domeneshop.no.
  • gophermap mål: hva om du kunne mingle med de som er mest relevant for deg,Kjører nå fra servere i USA
  • GopherMap Azure

    1. 1. GopherMap.com -Azure cloud computing social media mashup demo<br />Roy Lachica, Bouvet ASA<br />NNUG user group meeting, February 23. 2010<br />
    2. 2. Agenda<br />Background GopherMap<br />The process towards the sky<br />Azure <br />Challenges<br />Experiences<br />Tips and tricks<br />Azure SQL <br />Asp.Net MVC, Twitter, Yammer, oAuth<br />Demo Azure (14-16)<br />Demo GopherMap (16-20)<br />Feedback<br />Questions (20-25)<br />
    3. 3. Included in the prototype<br />Windows Azure<br />AzureSQL<br />.Net 3.5 <br />Extensionmethods<br />Linq to SQL<br />Asp.Net MVC<br />jQuery<br />oAuth<br />TwitterAPI<br />Yammer API<br />Googlemaps API<br />Considered:<br />TopicMaps/RDF/Microformats<br />Bing maps<br />Facebookconnect<br />FireEagleAPI<br />LinkedIn<br />SkyhookLoki<br />Yahoo Upcomming, EventAPI<br />
    4. 4. BackgroundGopherMap<br />Why GopherMap.com<br />Learn new stuff<br />Want to create<br />Experiences from previous private projects<br />Operational problems: DNS, firewalls, disc full, logins, service packs, db index needs tuning, file level permissions, loose access when my IP changes, down time.<br />Do not have time for operation and administration.<br />Do not want to spend a lot of money on a private project . <br />
    5. 5. The process towards the sky<br />Project idea/vision (2 years ago)<br />Started with sample code (Not Azure related) (9 months ago)<br />Signed up for Windows Azure account (6 months ago)<br />Started development and prepared for forthcoming Azure SQL (5 months ago)<br />GopherMap running in the cloud (3 months ago)<br />
    6. 6. Challenges<br />Yammer open source code used system.diagnostics namespace which failed on Azure.<br />Forgot to use Copy local on system.web.mvc DLL<br />Twitter oAuthcallback could not be set to localhost<br />Azure Sql Management studio port 1433 not open at home ISP. Had to use CerebrataBrowser based SQL Azure Database Explorer <br />Time<br />
    7. 7. Negative exeriencs with Windows Azure<br />Lot of hassle with versions and service packs.<br />Had to reinstall: Windows Azure Tools for Microsoft Visual Studio July 2009 CTP after installing a couple of windows updates.<br />Product names and namespaces changed.<br />New CTP’s, new paths and changes to the Windows Azure admin UI. <br />Had to run on Vista or newer OS. <br />VS run as administrator.<br />Hard to read logs.<br />Difficult to create table storage locally.<br />Deployment hangs.<br />Missing versioning/retract/restore in the cloud.<br />Missing monitoring/profiling (Now part of Azure diagnostics).<br />Azure costs even if app has not traffic (about 150$/month with minimal use?)<br />Missing possibility for automatic load balancing.<br />No SMTP support.<br />
    8. 8. Positive experiences with Windows Azure<br />Stabile deployment<br />Fast end simple deployment <br />Easy to scaling <br />Good administration UI<br />Do not have to administrate/manage/patch server (in contrary to for example Amazon and Vmwares cloud offerings)<br />Can choose between Azure SQL, blog/queue/table storage<br />Staging server with switch over to prodcution<br />Easy to log errors with <br />RoleManager.WriteToLog(string eventLogName, string message)<br />
    9. 9. Tips and tricks<br />Programming for Azure without Dev fabric<br />Why would you do that:<br />Dev fabric takes time to boot and you and change the files on the fly. Dev fabric will even sometimes hang. This makes markup and CSS development slow.<br />twitter oAuth and possibly other services is problematic because call-backs can’t be set to localhost. Dev fabric usually runs on localhost:81<br />Requires Vista OS<br />How to develop outside dev fabric<br />Use stand alone web app and 1) copy to dev fabric or have two VS solutions then 2) deploy to Azure staging server and then 3) switch over to production.<br />Write code that automatically detects environment and use the correct DB Connection String.<br />Read configuration settings from web.config when running outside dev fabric. When running in Dev fabric read settings from Azure ServiceConfiguration.cscfg<br />Write adapters that replace blobstorage when running outside dev fabric.<br />http://screencasts.ehuna.org/2010/01/how_to_speed_up_windows_azure.html<br />
    10. 10. How to checkwhatenvironmentyouareruning in<br />publicenumEnvironmentType<br />{<br />Azure = 1, DevFabric = 2, LocalNoDevFabric = 3<br />}<br />publicstaticEnvironmentTypeCurrentEnvironment<br />{<br />Get<br /> {<br />if(Microsoft.ServiceHosting.ServiceRuntime.RoleManager.IsRoleManagerRunning) <br />{<br />if(Microsoft.ServiceHosting.ServiceRuntime.RoleManager.GetConfigurationSetting(&quot;BlobStorageEndpoint&quot;).Contains(&quot;127.0.0.1&quot;))<br />returnEnvironmentType.DevFabric; <br />else<br />returnEnvironmentType.Azure; <br />}<br />else<br /> {<br />returnEnvironmentType.LocalNoDevFabric;<br /> }<br />}<br />}<br />………………………..<br />publicstaticstringImagesBlobStoragePath<br />{<br />get<br /> {<br />if (GopherMap.Helpers.GophyEnvironments.CurrentEnvironment == GophyEnvironments.EnvironmentType.LocalNoDevFabric)<br />return &quot;/blobstorage/”; <br />else<br />returnMicrosoft.ServiceHosting.ServiceRuntime.RoleManager.GetConfigurationSetting(&quot;BlobStorageEndpoint&quot;).Trim() + &quot;/imgs/&quot;; <br />}<br />}<br />
    11. 11. AzureSQL<br />Pros<br />Do not have to deal with artificial data tables (such as Azure Table storage, Google Bigtable, Amazon simpleDB)<br />Just as working with any other database through MSSMS<br />Cons<br />Restrictions on port 1433<br />Restrictins on Sql server statements that can be used. <br />Have to convert and strip before you migrate data. <br />
    12. 12. ExperienceswithusingsocialAPI’s<br />Twitter<br />Mye data caching for å slippe å gjøre kall mot server hele tiden for alle klienter<br />gratis autentisering og brukerprofil informasjon<br />ulemper: ved caching så får man problemer med at app blir declined på server men cookies henger igjen<br />oAuth<br />med oAuth så går jeg som bruker til oAuthprovideren for å fjerne tilgang.<br />
    13. 13. GopherMap on Azure, pros and cons in comparison to traditional hosting<br />Pros:<br />Less can go wrong during operational management<br />Better security<br />Staging environment<br />Don’t have to worry about server been taken down<br />Less downtime<br />Saves time<br />Simple scaling (Distributed caching with AppFabric former velocity)<br />Green<br />Cons:<br />Can not install things on server<br />Not free<br />
    14. 14. Oppsummering<br />Azuremakes lifeeasier for developers.<br />Deploymentfaster and more simple. No need for Terminal services RDP: trenger ikke remote inn med remotedesktop og styre med å laste opp riktige filer og legge de ut på riktige steder og oppdatere ulike konfig filer osv osv.<br />Somechildhooddiseases.<br />Less hassle for thosewho start now.<br />Works well for Social apps and usingAsp.Net MVC<br />Here to stay.<br />
    15. 15. Hvordan komme i gang<br />En del eksempler tilgjengelig<br />Du kan kode i C#, VB.Net, PHP<br />Ta utgangspunkt i NerdDinner eller myTODO<br />
    16. 16. Azure demo<br />https://windows.azure.com<br />
    17. 17. GopherMap demo<br />http://www.gophermap.com<br />Lar deg finne relevante personer (relevant kompetanse)<br />Beregnet spesielt for <br />Konferanser og seminar<br />Store organisasjoner<br />
    18. 18. Lenker (howtos)<br />Deploying an app:<br />http://ecn.channel9.msdn.com/o9/ch9/4/4/6/6/8/4/DeployingOnWindowsAzure_2MB_ch9.wmv<br />NerdDinnerAsp.Net MVC eksempel kode:<br />http://www.marcmywords.org/post/NerdDinner-hosted-on-Windows-Azure-and-SQL-Azure.aspx<br />Asp.Net MVC, jQuerypå Windows Azure med table storage eksempel:<br />http://code.msdn.microsoft.com/mytodo<br />
    19. 19. Lenker (verktøy)<br />Getstarted:<br />http://www.microsoft.com/windowsazure/<br />My azure apps:<br />https://windows.azure.com<br />Browse blob storage: <br />http://cloudberrylab.com/download.aspx?prod=cbazure<br />Migratingdatabase to Azure SQL:<br />http://sqlazuremw.codeplex.com/<br />FreeAzure SQL online clienttool:<br />https://onlinedemo.cerebrata.com/SQLAzureClient/default.aspx<br />Azure Log viewer:<br />http://blogs.itmentors.com/bill/2009/02/10/windows-azure-log-viewer/<br />
    20. 20. Questions<br />Bouvet is hiring <br />Open positions: <br />.Net, Architects, SharePoint, Frontend.<br />Contact<br />Roy Lachica<br />E-mail: roy.lachica@bouvet.noroy@hyposoft.no<br />Web: http://roy.lachica.no<br />LinkedIn: http://www.linkedin.com/in/roylachica<br />Twitter: http://twitter.com/roylac<br />Blog: http://fuzzzyblog.blogspot.com<br />Also check out fuzzzy.com<br />Web Science community<br />
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×