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

Más contenido relacionado

Último

What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 

Último (20)

What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 

Destacado

AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 

Destacado (20)

AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 

GopherMap Azure

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

Notas del editor

  1. 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.
  2. tidlig ute når jeg så jeg var nummer 250 som hadde lastet ned migreringspakka.
  3. Brukte Cerebrata gratis online database editor verktøy som proxy
  4. 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.
  5. 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.
  6. brukte cerebrata.com/SQLAzureClienttil å kopiere inn create script for hver enkelt tabell. http://sqlazuremw.codeplex.com/
  7. Velocity: inmemory distribuert applikasjons cache
  8. Setter opp firewall settingsDomenenavnet gophermap.com er koblet til siten via C-name oppføring hos dns hosting provideren jeg bruker domeneshop.no.
  9. gophermap mål: hva om du kunne mingle med de som er mest relevant for deg,Kjører nå fra servere i USA