I’m excited to announce that there will be another series of Windows 8 developer making their way through the US this summer! These are special two-day events, with a DevCamp on day one featuring a full day of sessions plus an InstallFest, followed on day two by a Hackathon with Lightning Talks where you can bring app ideas to life with Microsoft and community experts on hand to help.
The first of these series kicks off here THIS weekend in New York City on July 14th & July 15th (separate registration for both days). New York is the city so nice, they named it twice. And to help satisfy demand, we’re actually returning with a second stop of the same event content in Brooklyn the following week on July 19th & July 20th. The first stop is on the weekend for those who can’t skip work. The second stop in Brooklyn is on a Thursday & Friday.
If you can’t make either of those dates, Boston is later in August (17/18) and Philly (Malvern, Pa) is later in September (14/15). Read on for details below…
Windows 8 changes everything.
Combining the broad reach of Windows, best-in-class developer tools, a re‑imagined user experience, support for new chipsets, and a built-in store with industry-leading business terms, Windows 8 is the largest developer opportunity – ever.
Join us for free events with new sessions and hands-on opportunities designed to help you start building Metro-style applications for Windows 8 – today. We'll show you how to use Visual Studio to code fast, fluid, immersive, and beautiful Metro-style applications in HTML5/JavaScript, XAML/C# and C/C++. Your existing investments in these languages carry forward, making Windows a no-compromise platform for developers. Attend just one day or join us for two full days of learning. It's your choice.
DevCamp - Day 1
Events run from 9:00AM – 8:00PM
Our DevCamp covers Windows 8 Release Preview from top to bottom, featuring sessions that run from introductory to intermediate as the day unfolds. These sessions will be followed by an InstallFest to prepare your system for hands-on app development.
Hackathon - Day 2
Events run from 9:00AM – 9:00PM
Our Hackathon is an open Windows 8 code fest, where you'll put what you've learned into practice. Code to your heart's content, with Windows 8 experts available to guide you through every step of the process. It's the perfect opportunity to get your dream application underway, or to finish that app you've already started.
This full-day event will be filled with coding, sharing, plenty of food, and the occasional Lightning Talk on topics determined by your apps and questions. Bring your own laptop installed with Windows 8 Release Preview, your apps and your cool ideas and get ready to create!
Cities and Dates
Separate registration for DevCamps and Hackathons is required
The choice is yours to join us for either or both days, but please register for each separately.
Seating is limited, so click the date links below (or call 1-877-MSEVENT) to reserve your seat today!
Location DevCamp Hackathon Manhattan, NY 14-Jul 15-Jul St Louis, MO 16-Jul 17-Jul Brooklyn, NY 19-Jul 20-Jul Nashville, TN 19-Jul 20-Jul Los Angeles, CA 20-Jul 21-Jul Rochester, NY 27-Jul 28-Jul Mountain View, CA 27-Jul 28-Jul Atlanta, GA 3-Aug 4-Aug Ft. Lauderdale, FL 3-Aug 4-Aug Redmond, WA 3-Aug 4-Aug Dallas, TX 7-Aug 8-Aug Chevy Chase, MD 10-Aug 11-Aug Denver, CO 10-Aug 11-Aug Irvine, CA 17-Aug 18-Aug Boston, MA 17-Aug 18-Aug Raleigh, NC 17-Aug 18-Aug Reston, VA 17-Aug 18-Aug Orlando, FL 17-Aug 18-Aug Minneapolis, MN 23-Aug 24-Aug Houston, TX 24-Aug 25-Aug San Francisco, CA 24-Aug 25-Aug Downers Grove, IL 28-Aug 29-Aug Phoenix, AZ 7-Sep 8-Sep Malvern, PA 14-Sep 15-SepRegister today and join us for these fantastic (and free) developer opportunities.
It’s cloudy in Jersey this week. That can mean only one thing: There are THREE great opportunities to learn about Windows Azure this week! Two with me locally in NJ and CT. And one online from San Francisco from Scott “The Gu” Guthrie himself!
What’s all this buzz about Node.js? What about using Node.js with Windows Azure? Want to find out? I’ll be speaking about Azure & Node twice this week at local area user groups. Join me Wednesday June 6, 2012 at the NJ Windows Azure User Group in Iselin, NJ, or catch me up at the Fairfield/Westchester .NET user group in Stamford, CT on Thursday June 7, 2012. If you can’t join me, catch the “Meet Windows Azure” event live online Thursday afternoon at 4pm EDT!
AbstractWindows Azure is Microsoft’s cloud service, providing compute, storage, and other services to enable you to scale apps on demand. Azure is not just a .NET solution. It’s a Windows solution, supporting other languages, including Java, PHP, and most recently Node.js. Node.js?! What’s that? Why should I care? Join Peter for an overview of both Node.js and Windows Azure, as well as how you can run Node.js apps in Azure. We’ll look at the tools and deployment process and cover some of the details of how Node runs on Windows in general.
The “JrzyShr Dev Guy,” is a Developer Evangelist with Microsoft, based in New Jersey. One of his roles is supporting and educating developers working Microsoft technologies. Peter supports the developer community in the NY Metro area by speaking at user group events, Code Camps, and various tech conferences. Peter spends most of his time focused on the cloud and connecting Microsoft technology with non-Microsoft technology. His blog can be found at http://www.peterlaudati.com. You can also follow him on Twitter @Jrzyshr.
When:
Wednesday, June 6th, 2012 – 6:30pm – 8:30pm
Where:
Microsoft Iselin, NJ Offices
101 Wood Ave South, 9th Floor
Iselin, NJ 08830
When:
Thursday, June 7th, 2012 – 6:00pm – 8:00pm
Where:
University of Connecticut
One University Place
Stamford, CT 06901
Meet Windows Azure Event
Want to learn about Windows Azure in general and all of the latest services and features it offers? Watch the Meet Windows Azure event, streaming live online, Thursday June 7th, 2012 starting at 4pm EDT! Scott Guthrie and the Windows Azure team will be bringing you lots of excitement from San Francisco, Ca on Thursday afternoon. I highly recommend you block some time on your calendar to catch his keynote at a minimum! The event will be recorded and available for viewing on demand later.
WATCH Meet Windows AzureLooking forward to lots of Azure goodness on this cloud week!
Wanted to share another great event around the cloud going on in New York City this week! On Thursday at the Microsoft office in NYC, Gigaspaces, Aditi, C24, Cisco, and Microsoft will be hosting an event to explore the opportunities created by emerging cloud technologies. The event will feature coverage & demos of Gigaspace’s Cloudify solution and Cisco’s Unified Computing System in the context to how they relate to Windows Azure.
Gigaspace’s VP of Product Management, Uri Cohen, and Deputy CTO, Shay Hassidim, will be kicking the day off with a keynote covering Cloudify. One thing that Cloudify can do is make it easy to package and deploy Java solutions to Windows Azure. Shay will also be talking about this Wednesday 5/16/2012 at the NYC Windows Azure user group!
When:
Thursday, May 17, 2012
9:30am – 4:00pm
Where:
Microsoft NYC Offices
1290 Ave of the Americas
New York, NY 10104
Here are the details from the event’s registration page on Meetup.com:
Cloud computing may be the most disruptive, transformative technology shift since the Internet, and migrating business to the cloud isn’t just a trend anymore but rather a fundamental business requirement.
Leveraging the Cloudify open PaaS stack, public cloud platforms like Windows Azure or unified technology building blocks such as the Cisco Unified Computing System provides users strategic benefits such as reduced cost, flexibility, high-availability and easy automation.
We invite you to join us and our panel of CTOs and technical evangelists for a high-energy event where we will explore the opportunities created by emerging cloud technologies. You’ll hear real world use cases from Microsoft, Aditi, Cisco, GigaSpaces, C24, a Fortune 100 Financial Institution, and learn how cloud computing is opening a whole new world of possibilities for enterprises and ISVs.
We’ll delve into the players and the layers that make up the Cloud ecosystem, including IaaS, PaaS, security, and orchestration. Learn what works, what doesn’t, and what’s next. You’ll find out about the strengths and weaknesses of this promising but hard to define technology paradigm, and how it can allow you to focus on your core business competency.
Discover how Cloudify and Azure work together to:
• Easily deploy even the most complex Java apps onto Azure with zero code changes
• Provide an enterprise-grade production environment for your Java app on Azure through continuous availability, elastic scalability, production ready management and monitoring, and fully automated deployment
• Maximize the already powerful Azure platform capabilities with extremely tight integration
Agenda
09:30 am - 09:55 am: Registration
10:00 am – 10:50 am: Keynote ~ Uri Cohen, VP Product Management, Shay Hassidim, Deputy CTO GigaSpaces ~ Cloudify, the PaaS Jailbreaker - Theory and Practice
The promise of many current PaaS platforms is that they will make application deployment and management on the cloud simple. To achieve this, most PaaS platforms take the "my way or the highway" approach (a.k.a opinionated architecture), and force you to fit into their own stack, language of choice, cloud data center, security, high availability, and scalability models. The result is that they are irrelevant to most existing apps, and once you are in – you’re locked in forever. Cloudify aims to change all that by giving you the freedom to use any application stack, on any cloud, and handle your application without code changes. In this session we'll hear about Cloudify design principles and hear about real life use cases Cloudify implementation.
10:55 am - 11:20 am: Cloudify demonstration
11:25 am – 12:00 pm: Francesco Rietti, BDM - US Azure Partnerships Microsoft
12:00 pm – 01:25 pm: Networking lunch
01:30 pm – 02:00 pm: Siddhartha Bagga, Manager - BD Aditi
02:05 pm – 02:35 pm: Gary Berger, Architect, Office of the CTO Cisco Systems ~ Showcasing the Unified Multi-Service Data Center and service virtualization
02:40 pm – 03:10 pm: John Davies, CTO & Founder C24 ~ On banking and finance-related cloud solutions
03:15 pm – 04:00 pm: Speaker panel open discussion ~ Industry experts answer your questions and provide guidance on cloud computing adoption
About the Participating Companies:
GigaSpaces is an application virtualization platform provider serving 300+ renowned tier 1 companies around the globe. Working with Microsoft, they created an enterprise Java application platform called Cloudify for Azure, for onboarding JEE/Spring/big-data applications to Azure without any architectural or code changes.
Windows Azure is an open and flexible cloud platform that enables you to quickly build, deploy and manage applications across a global network of Microsoft-managed datacenters. You can build applications using any language, tool or framework. And you can integrate your public cloud applications with your existing IT environment.
Aditi helps product companies, web businesses and enterprises leverage the power of cloud, e-social and mobile, to drive competitive advantage. We are one of the top 3 Platform-as-a-Service solution providers globally and one of the top 5 Microsoft technology partners in the US.
The Cisco Unified Computing System represents radical simplification of traditional architecture, dramatically reducing the number of devices that must be purchased, cabled, configured, powered, cooled, secured, and managed. The solution delivers end-to-end optimization for virtualized environments while retaining the ability to support also creating new agility for traditional OS and application stacks in physical environments.
C24 is a software house specializing in standards-based messaging and integration solutions aimed at the wholesale financial services markets. The C24 Integration Objects Studio product and the financial services specific message Standards Libraries are used by many of the world’s largest firms in Europe and the Americas supporting business critical applications for asset management, clearing and settlement and payment processing.
This should be a great event. I’ll be there for the first part of the day before heading over to VS Live! in Brooklyn where I will be doing a talk on Windows Azure + Node.js.
I’m excited to announce the line up of this week’s NYC Windows Azure User Group for this month on Wednesday, May 16, 2012! The group has lined up not one, but TWO great speakers to keep you informed on interesting uses of Microsoft’s cloud platform: Windows Azure.
First off, Bill Zack from Slalom Consulting will kick off the meeting with a warm up talk featuring a quick overview of the Windows Azure Platform. Next up, our main speaker, Shay Hassidim from GigaSpaces, will talk about running Java on Windows Azure with his company’s Cloudify solution (aka: The PaaS Jailbreaker!).
Shay is visiting New York City from Israel. Shay is in town for another great event that GigaSpaces will be hosting at Microsoft the next day on Thursday, May 17, 2012. (more on that in my next post!)
Since the user group has kicked off last fall, we have mostly focused on .NET topics on Azure. But Windows Azure is so much beyond .NET! I’m excited to see the group cover some of these other topics. Future meetings will be focused on mobile apps and also other non-.NET solutions on Azure (Node.js, PHP, etc).
Here’s the scoop for Wednesday night:
NYC Windows Azure User Group – May 2012 Meeting
Microsoft NYC Offices - 1290 Ave of the Americas NY, NY 10104 Where:
Microsoft NYC Offices
1290 Ave of the Americas
New York, NY 10104
When:
Wednesday, May 16, 2012
6:00pm – 8:30pm
Session 1: Windows Azure Platform Overview
Presented by: Bill Zack
Perhaps you've heard of Azure but aren't sure how it differs from other clouds. You will leave with an understanding of the platform's features and use cases.
Bill will provide a quick introduction to the entire Windows Azure Platform and its key features such as Compute, Storage and Database plus assorted Windows Azure middleware features such as Service Bus, Access Control, Traffic Manager, Connect and Media Services.
Session 2: The PaaS Jailbreaker
Presented by: Shay Hassidim
The session will cover the following:
About Shay:
Shay has been with GigaSpaces since the inception of the company, charting the Technology Direction and Product Evolution from Caching, to Elastic Application Scaling to fully functional Hybrid Cloud Platform solution. Shay studied at Ben-Gurion University with a concentration in advanced computational science and programming. Shay leads GigaSpace’s developer community and shares the vision of Next Generation IT infrastructure platform in a consultative practice of innovation creation for fortune 100 level financial customers in the North East.
Hope to see a bunch of you on Wednesday night!!!!
Visual Studio Live! is going on this week on over in Brooklyn this week at the Brooklyn Marriott. I posted about the event back in March. It is a GREAT conference for .NET developers to keep up with the latest trends and technologies that make up the Microsoft developer platform. While the conference itself does have a registration cost, I wanted to share some information about a FREE event, open to all, that the conference organizers are putting on this Wednesday night, May 16th.
Every year at VS Live!, they host a free community night featuring a notable speaker. This year is no different. Make your way over to Brooklyn (it’s NOT that far all you spoiled Manhattanites!) on Wednesday evening for a great talk by Miguel de Icaza! It’s just one stop past Wall St. on most of the major subway lines that pass under the financial district (A/C/2/3/etc).
Visual Studio Live! NY Community NightWhen:
Wednesday, May 16 – 6:30 – 8:30 p.m.
Where:
New York Marriott @ the Brooklyn Bridge
333 Adams Street
Brooklyn, NY 11201
Join us, and the local developer community, for a bonus evening of content and community at Visual Studio Live! New York's Community Night (open to all Visual Studio Live! attendees).
Featured presentation: Greener Pastures for C# Developers
Come learn how Mono can help every one of your current projects: from our C# compiler as a service to running your .NET code on iPhone, Android and Mac. Demos will feature our amazing MonoDevelop cross platform IDE. Come to be energized and fall in love with .NET all over again. This is your second honeymoon. Do not miss it.
Our next round of Windows Azure developer events on the US east coast is happening later this month! Last fall, Brian, Jim, and I brought the Windows Azure Dev Camp series to 5 locations in the east. Now, we’re bringing the Azure Dev Camps to three more locations: Atlanta, New Jersey, and Northern Virginia!
Have you been putting off getting to know the cloud? Well, don't put it off any longer. Whether you're developing enterprise apps, or cooking up an idea for the next million-selling app for Windows 8, or somewhere in between, Windows Azure has plenty to offer you. These events will offer you the opportunity to get up to speed on Windows Azure quickly, including hands-on development time with experts on hand to answer your questions.
We’re going to include a hands-on portion of the event with the @home with Windows Azure project mixed in with plenty of information about the platform.
Here's the agenda for the events:
1. The Azure Platform – An Overview (60 minutes)
Let’s start off the day with a dive into Windows Azure. We’ll talk about what Windows Azure offers, from hosting applications to durable storage. We’ll look at Windows Azure roles types, hosting web applications and worker processes. We’ll also cover durable storage options, both traditional relational database that is offered as SQL Azure, or more cloud-centric offerings in Windows Azure Storage for files, semi-structured data, and queues.
2. Hands on @home with Azure (120 minutes)
For this hands-on portion of the day, we’ll work on the @home with Windows Azure project. The @home project will give you a solid understanding of using Windows Azure in a project that contributes back to Stanford’s Folding@home distributed computing project. We’ll walk through the code, provisioning an account, and getting the application deployed and running.
3. Caching – A Scalable Middle Tier (45 minutes)
Creating a stateless application is a difficult but fundamental aspect of building a scalable application in the cloud. In this session, we’ll talk about the Windows Azure Cache service and using it as a middle tier to maintain state and cache objects that can be shared by multiple instances.
4. SQL Azure, Data Sync, and Reporting (45 minutes)
SQL Azure offers a scalable database as a service without having to configure and maintain hardware. We’ll look at the subtle differences between on premises SQL Server databases and SQL Azure, and how Data Sync can be used to synchronize data between multiple databases both in the cloud and on premises. We’ll also look at SQL Azure Reporting.
5. Windows 8 and Azure – Better Together (60 minutes)
The consumer preview of Windows 8 is out, and it’s the perfect time to ramp up on developing native Metro-style applications. In this session, we’ll give an overview of Windows 8, and delivering a richer user experience by leveraging a cloud backend.
There are 3 Windows Azure Camps scheduled, and you can register for the one nearest you via the links below:
Date Location May 24th, 2012 Alpharetta, GADon't miss out on this great opportunity to learn about how Windows Azure can help make your apps shine, both in the cloud, and elsewhere!
The Northern NJ .NET User Group has long met at Set Focus in Parsippany, NJ. Unfortunately, due to policy changes at Set Focus’s facility, the group will no longer be able to meet at there. For the May 8th meeting, the group will meet at the Microsoft Office in Iselin, NJ.
Edwin, Scott, and Uday are actively searching for a new location to meet in the Parsippany area. If anyone who belongs to the group has an office they’d be able to offer up for hosting the monthly meetings, let me or the leaders know! If you don’t belong to the group, but know of a place in Northern NJ that would be suitable to host a monthly user group, let us know!
Date & Time:
Tuesday, May 8th, 2012
6:00pm – 8:30pm
Location:
Microsoft NJ Offices
101 Wood Ave South – 9th Floor
Iselin, NJ 08830 (a.k.a. Exit 131, NJ)
Terramark Iaas [Infrastructure as a Service]
Microsoft Azure is a system that is known as Platform as a Service (PaaS). There’s another type of cloud system that in many ways is closer to our existing data centers.
These systems are known as Infrastructure as a Service (IaaS). In this presentation, you will see a detailed introduction in using Terremark’s vCloud Express (IaaS) system. Terremark has an outstanding control console and a very robust IaaS architecture.
You will learn now to deploy your applications to vCloud Express. Details will include common needed to-do tasks as well as information on how to avoid common pitfalls and issues.
SPEAKER: Dave Peru
Dave Peru is currently working in a small startup developing a iPad based sales force automation application for big pharma companies. His role includes solutions architect and database designer for their ClearSky product. The site is www.pusuit-solutions.com and the company is located in Long Valley NJ. Dave has been with Pursuit since April 2011. Pad devices communicate to a central database using RESTful services. The central database is using SQL Server 2008 and the RESTful services are housed in IIS.
Prior to Pursuit, he served as a Senior Architect at Deutsche Bank for the development of their Infrastructure as a Service (IaaS), a cloud computing environment. As a part of this engagement he developed a state management service implementing a RESTful service API hosted in IIS using a SQL Server database. In addition, he led an offshore testing team that was responsible for all test plans and designs.
Prior to his role at Deutsche Bank, Dave served as President of BP Hobbies LLC. BPH is an E-commerce hobby supply website. At its peak, BPH was processing and shipping over 2200 orders per month and annual sales doubled every year for several years. As a Software Development Manager at Quoteship.com, later merged with Logistics.com, Dave was responsible for the development of a transportation management system. Dave managed a team of software developers while working with the business analysts and database designer. In addition, Dave served as a contractor for Merrill Lynch, and built the Company’s first public website, as well as an internal Learning Network website. He developed a custom and novel technology for updating website content through firewalls using IP tunneling.
Dave began his professional career at RCA Solid State Division, a maker of computer chips, where he developed custom device drivers used with automated IC test equipment. After leaving RCA, Dave went to work for Intel Corporation developing Windows device drivers for Intel’s DVI video technology products. After Intel, Dave worked for AT&T Microelectronics/Bell Labs developing test software for a video teleconferencing system that was under development. Dave graduated from Syracuse University with a B.S. in Computer Science. Dave wrote his first computer program in 1979 on a Commodore 4016. His personal website is www.dperu.com.
On April 23rd, 2012, I had the privilege of speaking at the first Node.Philly event in Philadelphia. It was a fantastic event and I enjoyed meeting lots of folks who are excited about Node and building solutions with it today! While this was a one time event, I got the feeling that evening that there is plenty of interest in the local community to establish a recurring type of Node.Philly meetup. Maybe we’ll hear of one soon?
I was asked by the event’s organizer, Tim Savery, to fill in for another speaker who couldn’t make it at the last minute. I gave a short talk & intro-level demo of running Node.js on Windows & then deploying it to Windows Azure. After the talk, I participated in a Q&A Panel discussion with Christian Sanz from Geekli.st. Christian also did an intro-level talk on Node.js.
There’s not much to them, but I posted my slides on SlideShare (most of the talk was demo):
Node.philly Intro to Node.js on Windows View more presentations from Peter Laudati.Thanks to the folks running the Node.Philly event for having all of the sessions professionally recorded and posted online for viewing by those who couldn’t make it. You can find all of the Node.Philly videos here on YouTube. Below are videos of my Node on Windows talk & demo and my participation on a Q&A panel with Christian Sanz.
Node.Philly 2012 :: Intro to Node w/Peter Laudati Node.Philly 2012 :: Intro to Node PanelIf you’re looking to get started with Node on Windows & Windows Azure, see my previous post:
Get Started with Node.js + Windows Azure: ResourcesIf you’re in NYC of Philly and have questions about running Node on Windows, hit me up!
In April, I announced the the Rock Paper Azure Challenge was back with a new Spring Fling round with winners every Friday through June 15, 2012. I’m a little late in getting this information posted, but wanted to share the winners for weeks 1 & 2. Congratulations to the top 3 bots from each week so far!
Week #1 Winners – 4/20/2012Note: The bot named “Toidi” finished in 2nd place on 4/27/2012, but is not from the US. The Spring Fling round is open to US residents only.
If you haven’t taken the Rock Paper Azure Challenge yet, it’s time to get in the game! There are 7 more weeks of weekly prizes left. Just a reminder, at the end of the round on June 15, 2012, there will be three sweepstakes prizes awarded at the end on June 15, 2012 to randomly drawn entries in the Spring Fling round. All you have to do is get in the game for a chance to win:
I first announced the Rock Paper Azure Challenge here back in April 2011. The RPA Challenge is a fun way for developers to learn about Windows Azure and possibly win a few prizes along the way. In short, you get to code a “bot” that will play the childhood game of “Rock, Paper, Scissors” against other contestants’ bots. The game allows you to flex your coding skills by rewarding developers for coming up with the best best “bot” algorithm.
Now is the time to get in the game and code your best bot!
Get started with the “Get Started” page on the Rock Paper Azure Challenge website. This page has links to the downloads and screencasts that step you through the Bot coding process:
Get Started with Rock Paper AzureGood luck this time around! And if you have any questions, post them here or e-mail us at rockpaperazure AT microsoft.com.
It’s that time of the year again: Imagine Cup People’s Choice Award!!! The People’s Choice award is part of the Imagine Cup.
What is the Imagine Cup?The Microsoft Imagine Cup is the world’s premier student technology competition. Microsoft invites all eligible students to use their imagination and passion to create a technology solution that addresses the Imagine Cup 2012 theme: Imagine a world where technology helps solve the toughest problems.
In ten years, the Imagine Cup has grown to be a truly global competition focused on finding solutions to real-world problems. Since 2003, over 1.4 million students have participated in the Imagine Cup with 358,000 students representing 183 countries and regions registering for the Imagine Cup 2011 competition.
Vote For the People’s ChoiceNow is the stage of the Imagine Cup where YOU get to vote on your favorite projects and games. Here’s how it works: go to the People’s Choice Facebook page, check out the team pages and vote for your favorite. You can vote everyday (until May 19th), so vote often! There are prizes for the teams and the voters!
The Imagine Cup team with the most votes will win a an all-expense paid trip to Sydney, Australia for the Imagine Cup Worldwide Finals this July. Additionally, anyone who vote will be entered for a chance to win weekly prizes including Acer ultrabooks, GAEMS Xbox bundles, Beats by Dr. Dre headphones and more!
There are three ways to vote
You can vote every day, on each platform, for each of the teams!
My colleagues on the Microsoft Startup Evangelism team are throwing a Windows Azure App Challenge in both NYC and Philly during the month of May. I’ll be doing the “NJ Turnpike shuffle” to help out in both cities. Join us over 3 weeks to build your Azure app!
If you are looking to start a cloud business, port your app to the cloud, or extend an existing app – 30 to Launch is for you. From technical and business consulting time to daily tips to keep you on track, your cloud business you can really kick start things with this program.
Why should I care?You could go home with an Xbox 360+Kinect Bundle*! And you’ll learn how to develop applications for Windows Azure.
What are the details?Location:
Microsoft NYC Offices
1290 Ave Of The Americas, 6th Floor
New York, NY 10104
Dates:
5/2/2012 – 12:00pm – 4:00pm
5/14/2012 – 1:00pm – 3:00pm
5/22/2012 – 1:00pm – 5:00pm
Location:
SeedPhilly
1650 Arch Street, Suite 1906
Philadelphia, PA 19103
Dates:
5/3/2012 – 6:00pm – 10:00pm
5/17/2012 – 6:00pm – 9:00pm
5/23/2012 – 6:00pm – 9:00pm
Session 1. Getting Started with Windows Azure (food and drinks provided)
Discussion
Session 2: Get Coding!
Set up your Azure account and get started.
Speakers: Peter Laudati, Brian Johnson
Week 3:Office Hours
Session 3: Come answer your questions on W8 (food and drinks provided)
Speaker: Brian Johnson, Peter Laudati, Dani Diaz
Week 4:Pitch Day!
Session 4: Pitch your App and hear feedback from others (food and drinks provided)
Speaker: Brian Johnson, Sumit Shukla
*No Purchase Necessary. Open only to hobbyists, professionals, or developers in the field of software tech who are legal residents of the 50 U.S. or D.C. 18+. Microsoft is committed to complying with government gift and ethics rules and therefore government employees are not eligible. Game ends 5/23/12. For more details, see the Official Rules.
Not in NYC or Philly?Not from this area? Can’t make it to The Big Apple or City of Brotherly Love? You can participate in the online version of this challenge. See the 30 to Launch website for more details.
Looking forward to see what folks will build!
Last month, the NJ Windows Azure User Group had a great presentation from Jim Priestley on migrating a real world e-commerce site to Azure. Jim shared his experiences and lessons learned migrating PLCCenter.com to the cloud. There was a lot of insight regarding performance of SQL Azure and running an ASP.NET MVC site in the Azure compute environment. This month, the group is keeping the momentum going with another great speaker!
Next Wednesday, on May 2nd, Wade Wegner will be in town. Wade was on the Windows Azure team at Microsoft in Redmond. He recently joined Aditi as their CTO. Wade will be on the east coast next week doing some work for his new company and agreed to make it to the user group on Wednesday night. You won’t want to miss this meeting as you’ll be speaking with a person who has plenty of inside knowledge on Windows Azure! Here’s Wade’s abstract from the NJ Windows Azure User Group website:
Managing Concurrency with Multiple Instances in Windows AzureOne of the basic challenges in dealing with multiple instances in Windows Azure is managing concurrency. For example, consider a scenario where you need to keep an accurate count at scale. With many simultaneous requests coming to many role instances all updating the same number, the difficulty arises in making sure that number is correct and that the writers don’t spend a lot of time retrying after concurrency failures.
Join Wade Wegner, CTO at Aditi Technologies and former Director of Windows Azure Technical Evangelism at Microsoft, as he talks through this problem and provides a solution for managing concurrency across multiple role instances in Windows Azure.
Wade Wegnerhttp://www.wadewegner.com/about/
Wade is currently the CTO at Aditi Technologies, where he is responsible for driving Aditi’s technical strategy and ensuring continuous innovation on behalf of its customers. Prior to joining Aditi, Wade held several roles in Microsoft, most recently leading Technical Evangelism for Windows Azure.
Date: Wednesday, April 4, 2012
Time: 6:30pm
Location:
Microsoft NJ Office
101 Wood Ave South, 9th Floor
Iselin, NJ 08830
This post is part of a series called “Windows Azure for the ASP.NET Developer” written by Rachel Appel, Adam Hoffman, and Peter Laudati. You can see the complete list of posts in the series at the US DPE Azure Connection site.
In the previous post of this series, I covered how to prepare your development environment for building Windows Azure applications. I left you with some references to walkthroughs to build your first “Hello World” ASP.NET application for Windows Azure. Those walkthroughs are great tutorials for getting familiar with the tools and cloud environment.
However, as developers, it is rare that we get the opportunity to do a “File –> New Project” in our day to day work. More often than not, the next step after learning “Hello World”, is usually, “Okay, let’s see if I can get my app running in Azure.” That’s where the real fun usually begins and where your “Hello World” experience might not match the experiences you have migrating an existing ASP.NET application to the cloud.
In this post, I’ll describe the typical concerns encountered when migrating an existing ASP.NET application to Windows Azure. My goal is not to cover the details of how to handle each of these, but rather to provide a guide with the proper pointers that will help you on your way as you plan a migration. I’ve organized these concerns into a “Top 8” list, however, they are in no particular order.
Understanding the Windows Azure Compute EnvironmentBefore you review the migration considerations, it is important to understand how the Windows Azure Compute environment works. In the second post of this series, Rachel Appel covered some of the differences between Windows Azure and Windows Server. I will expand upon those here, primarily with a focus on how deployment, recovery, and elasticity work. This will make the migration concerns more obvious and easier to understand.
Windows Azure Compute is a “Platform-as-a-Service” offering. This means that the operating system and application platform are provided for you. There is no need to create and manage the virtual machine(s) that your application will run in. The unit of deployment for your application is essentially your packaged application code and its associated configuration for how it should run in the cloud. This unit of deployment is referred to as a “Windows Azure service” or a “hosted service”.
Deployment in Windows Azure ComputeWhen you deploy your hosted service to Windows Azure, you upload the two files that make up your hosted service:
Windows Azure stores those files in a triple redundant storage location. These two files are considered the “base” or “snapshot” of your application’s deployment. Windows Azure then inspects the configuration file to determine how many roles (VM types) and instances of each will be needed for your application.
Windows Azure will then load as many ‘vanilla’ Windows Server virtual machine instances as required by the configuration. These ‘vanilla’ Windows Server VMs are “clean” machines with no software or data installed on them other than the necessary agents needed to communicate with the Windows Azure data center.
Once the Windows Server VMs are loaded, Windows Azure will perform any startup tasks specified in your application’s Service Configuration (.cscfg) file on each instance. This includes installing software dependencies, modifying registry settings, or modifying advanced configuration settings for IIS.
Finally, Windows Azure will unpack your application from the service deployment package (.cspkg file) and install it into each instance. Internet Information Server (IIS) will be started, where it will be connected to a load balancer handling traffic for the URL you configured for your service. Your service is then live.
Recovery in Windows Azure ComputeIf at any point in time, one of your deployed instances fail, whether due to hardware or software failure, Windows Azure will detect this and immediately deploy a new instance to replace it. It does this by retrieving the service deployment package (.cspkg) and Service Configuration (.cscfg) file from storage and repeating the exact same process as described above for the initial deployment.
The key thing to remember here, is that Windows Azure will always start from scratch with a ‘vanilla’ Windows Server VM, and then deploy your application into it based on the contents of your service deployment package and service configuration file. Any changes made to the application, or by the application, on a running VM instance after the initial deployment are not persisted or available in new instances that are brought online for recovery purposes.
Elasticity in Windows Azure ComputeElasticity is one of the key benefits of Windows Azure and cloud computing. If a deployed application requires more power to meet increased load, new instances can be added to an existing deployment to handle it. Upon receiving a command or configuration change to increase the instance count, Windows Azure will deploy extra instances following the same exact procedure as described earlier for the initial deployment.
Any changes made to the application, or by the application, on a running VM instance after the initial deployment will not be available in any new instances that are brought online to meet demand.
If the load on a deployed application with multiple instances decreases, instances can be taken offline to reduce resources and costs. When a request to reduce the instance count is received by Windows Azure, Windows Azure decides which instances to remove. This means, you have no way to control which instance(s) will be removed.
‘Stateless’ Virtual MachinesThe net of takeaway of understanding deployment, recovery, and elasticity in the Windows Azure Compute environment is that the VM instances your application runs in are stateless by design. This is what enables elasticity, quick recovery, and scalability in the cloud.
Now that you understand how the compute environment of Windows Azure is based upon stateless VMs, that will lead to the list of ASP.NET application migration concerns compiled here below.
Top 7 List of Migration Concerns 1. Handling StorageGiven that the VM instances that run your application are stateless, handling storage is one of the primary migration considerations you must account for. Data can be stored locally in your application’s VM or external to the VM in storage services available within Windows Azure. Windows Azure provides both relational and non-relational storage services.
Windows Azure provides non-relational storage in the form of blobs, tables, and queues. These three storage mechanisms are collectively known as “Windows Azure Storage”. Relational storage is available via SQL Azure, which is SQL Server technology delivered as a service.
The key difference with storage in the cloud is that it is provided “as a service”. That is, you will not need to set up, install, or maintain an actual database server. These things are managed for you and provisioned via the Windows Azure Management Portal where you can then access them within your ASP.NET application via traditional methods.
Using Local StorageIn a Windows Azure Web or Worker Role VM, your application has access to read and write to the local storage. However, given the stateless nature of VM instances in Windows Azure, local storage is transient by design. Therefore, data that needs to be durable must be stored externally from the VM instance.
Data stored on the local drive of a VM instance will survive OS re-boots, but not hardware failures. Data on the local drive is not synced with the drives of other VM instances of your application. Likewise, new instances (added for capacity or restoration of failed VMs) will not have access to data persisted to local storage. Data on the local drive does not survive if an application deployment is deleted from Azure, and then later re-deployed again.
If your application does depend on the local drive for durable storage, you will need to plan for moving that data to either Windows Azure Storage or SQL Azure. Some examples of where an existing ASP.NET application may use local storage include writing dynamic data to an XML configuration file or storing images and other media content that may be uploaded to the application, like in a CMS system. These examples would be candidates for moving to Windows Azure blob storage.
Local storage can be used for temporary data that your application would have no issue re-generating or working without on a re-start.
For more information about Local Storage in Windows Azure WebRoles and WorkerRoles, see: How to Configure Local Storage Resources
Using SQL AzureFor ASP.NET applications that have been designed to scale over multiple servers in a web farm, the transient nature of local storage shouldn’t present a major challenge. In these types of applications, the data is typically stored externally from the application in a relational database such as SQL Server. In a typical web farm deployment, you may have multiple web servers running your application all sharing a common database server. This model works well in Windows Azure as your relational data should be able to migrate from SQL Server into SQL Azure.
When migrating an ASP.NET application into Windows Azure, one of the steps you must take early on is to configure a SQL Azure server instance and migrate your existing databases to it. This typically includes any custom databases you have, as well as the standard ASP.NET database for Membership and Profile data. Once these databases have been set up in SQL Azure, it is only the connection string that needs to be changed in your application’s configuration.
While developing your application locally, you will continue to use SQL Server Express as per usual. In this case, you will often find it helpful to keep different versions of your web.config file handy in your project for local development and production cloud deployment.
SQL Azure offers a subset of SQL Server’s features and functionality. Some elements of your application’s custom database may not be compatible. Using tools such as the SQL Azure Migration Wizard will help you discover any such incompatibilities so you can plan around them.
For more information using SQL Azure with ASP.NET, see Rachel Appel’s forthcoming post. (Coming soon!)
Using Windows Azure StorageFor easy migrations with little or no code changes, migrating your ASP.NET application’s data to SQL Azure is usually a great fit. If you’re like most ASP.NET developers, you may be asking, “Why should I care about these new storage mechanisms in Windows Azure Storage like blobs & tables?”. If your ASP.NET application is a typical CRUD-like application with lots of data driven forms, you might not need to deal with Windows Azure Storage when first migrating your application to Windows Azure.
If your ASP.NET application does make use of the local file system for durable data (such as dynamically editing XML configuration files) as described in the previous section, you will need to relocate that data to Windows Azure Storage. Blob storage is a great alternative to local storage for reading and writing files to.
As you optimize your application, it is a good idea to store static content such as script files, CSS style sheets, and images in Blob storage. These static files can be served directly by the web server in your application’s VM. However, by moving them to Blob storage, they are served to your users directly by the Windows Azure Storage service. This has the benefit of reducing the load on your web server(s) and also enabling you to later take advantage of Windows Azure’s Content Delivery Network (CDN).
For more details on using Windows Azure Storage with ASP.NET, see the next post in this series by Adam Hoffman, “Blah Blah Blah”.
2. Mapping ASP.NET Applications to Windows Azure RolesIn my previous post in this series, I wrote that the Windows Azure Tools for Visual Studio include a Windows Azure Service project type to define a hosted service. This project is essentially a “meta” project that lets Visual Studio know how to package your application for deployment to the cloud and configure Windows Azure to run your application.
The tools also contain templates for WebRole and WorkerRole project types. The WebRole project type contains the actual ASP.NET application to be deployed as a hosted service in Windows Azure. The tools contain variants of the WebRole project type for each of the ASP.NET application types including WebForms, MVC 2, MVC 3, and MVC 4.
Creating a new WebRole project for any of the ASP.NET application types will essentially create a project with the structure as the existing ASP.NET project template types. When the WebRole project is created, the tools add the appropriate configuration settings to the Windows Azure Service project to link the two. You can add up to five WebRole projects to a single Windows Azure Service project.
In Visual Studio, you can also convert an existing ASP.NET Web Application project to a WebRole project by adding a “Windows Azure Deployment Package”. This will create a Windows Azure Service project, convert your ASP.NET application project to a WebRole project, and link the two. This is more likely the scenario most developers will use when migrating an existing application to Windows Azure.
For an example of how to converting an existing ASP.NET Web Application project to a WebRole project in Visual Studio, and how to create a new ASP.NET WebRole project see: Walkthrough: Hosting an ASP.NET MVC Application on Windows Azure.
Note: The Windows Azure Tools for Visual Studio do not support converting an ASP.NET Website to a WebRole project. It is possible to package an ASP.NET Website for deployment to Windows Azure, but the tooling experience is not great, essentially limited to command line calls and manual assembly of the required configuration files. For more information, see David Aiken’s post: How to Deploy an ASP.NET web site to Windows Azure! Or, see: Website Projects in Azure Web Role on Stackoverflow.com
Understanding WebRole ProjectsWhether you create a new WebRole project from scratch, or convert your existing ASP.NET Web Application project to a WebRole project, there are three sets of things that will be added to your project:
The Windows Azure Diagnostic assembly contains the classes for logging and diagnostics. The Windows Azure Service Runtime assembly contains classes for accessing configuration settings and managing the lifecycle of the role (VM) that your application runs in. The Windows Azure Storage Client assembly contains the classes for accessing Windows Azure Storage services (Blobs, Tables, and Queues).
WebRole.cs (or .vb) Bootstrapping CodeThe WebRole.cs (or .vb) file is a magical place where you can set up all sorts of advanced tasks and options. You will likely pay little attention to it when building your first “Hello World” ASP.NET application for Windows Azure, but over time, you may find yourself revisiting the classes in this file.
You can think of WebRole.cs as the “Global.asax” file for the cloud. Inside is a class called ‘WebRole’ which extends Windows Azure’s RoleEntryPoint class. This class contains methods that are called by Windows Azure to manage the lifecycle of your web role (starting, running, changing, stopping, etc). For details on the lifecycle events and their order with respect to the ASP.NET applications events handled in Global.asax, see Jim Nakashim’s post: Windows Azure RoleEntryPoint Method Call Order.
One of the most common tasks performed in the extended RoleEntryPoint class is to initialize Windows Azure diagnostics and logging at start up. Other things you can do include responding to configuration changes, such as the scaling up or scaling down of instances, and handle shut down tasks for the web role. We will have more coverage on those topics later in the series.
Troubleshooting Tip: If your role is recycling between the initializing, busy, and stopping states, this may be the result of something going wrong at startup time. A good place to poke around and troubleshoot is in the RoleEntryPoint class. If any of the methods in the RoleEntryPoint class raise an unhandled exception, the web role (VM) will be shut down. Windows Azure will then automatically attempt to re-start the role. For tips on how to break the cycle and troubleshoot, see: Troubleshooting Hosted Service Deployment States on MSDN.
For more information on WebRole.cs and the RoleEntryPoint class, see: Overview of Building an Application that Runs in a Hosted Service on MSDN.
For tips on how you can use the RoleEntryPoint, see Brent Stineman’s post: Leveraging the RoleEntryPoint.
3. Application DependenciesA common hiccup that can occur when you are first migrating your ASP.NET application to Windows Azure is not including dependent assemblies. The Windows Azure compute environment includes the .NET Framework (3.5 and 4) as well as the Windows Azure SDK assemblies. However, it does NOT include other 3rd party or Microsoft frameworks such as those obtained via NuGet. For example, the Microsoft Enterprise Library, or out-of-band releases for the .NET Framework such as the ASP.NET MVC framework are not included in the Windows Azure compute environment.
Luckily, the WebRole project templates in the Windows Azure Tools for Visual Studio automatically include the ASP.NET MVC (versions 2, 3, or 4) framework assemblies in your application’s deployment service package (.cspkg file). However, if your application depends on other frameworks or components, you must add those assemblies to your application’s deployment service package. You can do this by:
For more tips on verifying application dependencies in Windows Azure, see: Troubleshooting Hosted Deployment States on MSDN.
4. Session StateMany ASP.NET applications use ASP.NET’s Session State feature to track things such as the state of a user’s shopping cart or their profile information. Session state is a powerful feature of ASP.NET that brings the appearance of state to an environment that is stateless.
ASP.NET Session State ProvidersThe session state feature in ASP.NET uses a provider model that allows you to configure how session state is stored in your environment. There are three session state providers included with ASP.NET out of the box:
The most frequently used provider is the in-process memory provider, which stores the state in the memory of the web server it is running on. It relies on the load balancer configured for ‘sticky sessions’. Since the Windows Azure load-balancers are non-sticky, you can not use this provider.
The state server provider allows you to point your session state at a server that is dedicated to hosting state data in its own memory. In Windows Azure, this would require you to configure, run, manage, and pay for another WebRole specifically as a state server. That would not be economical as a state server would likely need a larger VM size to take advantage of extra memory.
The SQL Server provider does as you would expect, it stores state data in a SQL Server database. In this scenario, all the servers in web farm could point at the same database for session state, allowing user requests to be served across the farm. The SQL Server provider works just fine in Windows Azure if you point it to a SQL Azure database. However, storing session state in a database can add latency when retrieving state on each user request.
Windows Azure Session State ProvidersThere are two provider options available to store session state in Windows Azure. These are the Windows Azure Cache provider and the Windows Azure Table Storage provider.
The Windows Azure Cache provider is a great solution for managing ASP.NET Session state in Windows Azure. This provider was introduced recently in December 2011. It uses the Windows Azure Cache service to store session state. The Windows Azure Cache service is a distributed in-memory caching service. High performance is achieved by maintaining this cache in-memory across multiple cache servers.
The Windows Azure Cache provider requires ASP.NET 4, which means your projects must be compiled against the full version of the .NET 4 Framework. This may be a limitation for those who are on .NET 3.5 and earlier.
For more details on how to use the Windows Azure Cache provider, see: Using Windows Azure Caching for Session State
The Table Storage Session provider stores session state in Windows Azure Table storage. This provider is provided as sample code by the Windows Azure team. This provider appears to be more of a proof of concept vs. something you should use in production. The sample code does not clean up expired sessions, so the table size can continue to grow. However, it is a nice solution in concept as session state is stored in a high-scale storage service backed by triple redundancy.
5. Identity & Authentication In The CloudHandling identity and authentication is a common thing most ASP.NET applications do. One of ASP.NET’s best features is its provider-based Membership and Profile services. When combined with Forms Authentication, these two services make for a simple model to handle authentication and identity on your website. With the Membership and Profile services’ dynamic providers, user data can be stored in different locations. It is most common that this data be stored in SQL Server using the SQL Membership provider.
When migrating an ASP.NET application to Windows Azure, you can migrate the membership and profile data to SQL Azure. These standard ASP.NET databases should migrate just fine to the cloud. This means that Forms Authentication in Windows Azure “just works” using the existing SQL Membership provider. The exception to this would be if you created a custom membership and profile database that uses features not supported in SQL Azure.
For corporate and Intranet websites, it is common for ASP.NET applications to use Windows Integrated Authentication. In this scenario, if a user is logged into their desktop, their Windows identity is transferred to the web application. The user is essentially authenticated with the web application without knowing it.
Windows Authentication is not available “out of the box” in Windows Azure as it requires the web server to be part of the domain the users belong to. With your ASP.NET application running in a Windows Azure datacenter, the web server certainly won’t be part of your company’s corporate domain! Windows Azure provides a service called Access Control Service (ACS) which can help bridge the gap.
ACS is an authentication service in the cloud that enables you to set up a trust relationship between Windows Azure and a secure token server (STS) in your company. This concept is called Federated Identity. With ACS configured, users can log into your ASP.NET application seamlessly using their corporate domain credentials.
When migrating a corporate application that depends on Windows Authentication, you will need to configure Windows Azure’s Access Control Service with your company’s secure token server. Most companies use Windows Server Active Directory Federation Services V2 for their STS.
ACS also enables you to allow users to login with many popular identity providers such as Windows Live ID, Google, Yahoo, Facebook, and Open ID 2.0.
Sound confusing? If ACS, STS, and WSADFSV2 sound like crazy acronym soup to you, have no fear! We will be covering how to handle identity with Windows Azure’s Access Control Service in a forthcoming post in this series. (Which will eventually be linked from here.)
6. Handling ConfigurationMost ASP.NET applications use the web.config file to store all of their run time configuration settings. Administrators of ASP.NET applications are used to having the ability to make configuration changes to this file while an application is running. Changes to the web.config file will trigger a restart of the application within IIS.
In Windows Azure, the web.config file is deployed as part of your application’s service deployment package. It lives within the VM instance that your application runs in. Due to the stateless nature of these instances, changes to the web.config file on a running instance is not allowed. This is because if changes were made:
Changes to the web.config file require a new deployment service package to be created, and a new deployment to be pushed to Windows Azure. If this is not an acceptable limitation, you can migrate your configuration settings to the hosted service’s ServiceConfiguration.Cloud.cscfg file in your Windows Azure Deployment Project.
Like web.config in a regular Windows Server environment, settings in this file can be edited at runtime too. Changes to ServiceConfiguration.Cloud.cscfg will also trigger a restart of your application within IIS, causing the new settings to be applied. This also has the benefit of applying the changes across all of the role instances that are running your application. Your configuration is now located in a central location relative to all of your role instances.
To move configuration settings to the ServiceConfiguration.Cloud.cscfg file, you will need to add a small bit of code to the RoleEntryPoint class in the WebRole.cs (or .vb) file to handle both the loading of these settings, and changes when the ServiceConfiguration.Cloud.cscfg file is updated.
For more details on how to store and retrieve custom configuration settings in the ServiceConfiguration.Cloud.cscfg file, see the following resources:
There are trade offs if you take the approach of putting your application’s settings in ServiceConfiguration.Cloud.cscfg. In exchange for having the ability to easily apply configuration changes across all of your instances while running, your application code now takes a dependency on Windows Azure. You will also need to write the code to retrieve settings from ServiceConfiguration.Cloud.cscfg.
In general, it is probably best to move only settings that you expect the administrators of your application to change frequently while in production. For settings that don’t change frequently, keep them in web.config and manage the changes via upgrade deployments.
7. IIS Configuration DifferencesWhen your ASP.NET application runs in an Windows Azure WebRole, it is hosted using IIS 7.0. Being hosted in IIS 7.0 means your application has access to the full range of web server features available in an regular Windows Server installation. This includes useful things such as support for multiple sites or virtual applications and activation of WCF services over non-HTTP transports through Windows Activation Services. For more information on the IIS features available in Windows Azure, see: New Full IIS Capabilities: Differences from Hostable Web Core.
Advanced configuration of IIS components and features can be managed in the ServiceDefinition.csdef configuration file of your application’s Windows Azure Service project. Multiple websites can be configured directly in the ServiceDefinition configuration file. Other IIS settings can be configured by generating a CMD file script and running it as a startup task.
To learn how to generate a CMD file script to configure IIS, see: Using Configuration Editor: Generate Scripts.
To learn how to configure IIS components via start-up tasks, see: How to Configure IIS Components in Windows Azure.
Multiple ASP.NET Applications in a Single WebRoleThe default way the Visual Studio tools work is to configure one ASP.NET application per WebRole. That is, each ASP.NET application will be configured to run in its own dedicated virtual machine in the cloud. By taking advantage of the sites, applications, and virtual directories features in Internet Information Services (IIS) 7.0, it is possible to host more than one ASP.NET application in a single WebRole. This is a more complex configuration that involves trade offs.
While you gain the economic convenience of hosting two sites in a single WebRole, you give up the ability to independently manage some aspects of those applications, such as whether or when to scale up or down to more role instances. Also, Windows Azure does not impose a security boundary between the sites and applications that are running within the role. This can have implications when you are considering the security of the individual sites.
On a regular server, multiple sites are managed by configuring host headers in the web.config file. In Windows Azure, you will essentially set this up by doing the same in the ServiceDefinition.csdef file.
For more information, see: How to Configure a Web Role for Multiple Web Sites on MSDN or Brian Hitney’s post: One Azure Role, Multiple Websites.
SummaryThere you have it… a collection of top migration concerns when migrating an ASP.NET application to Windows Azure. This list is by no means comprehensive, but should provide you with enough information to move beyond “Hello World” and help you plan for getting your application deployed to the cloud.
Now that you understand the type of work needed to migrate an existing ASP.NET application to Windows Azure, it’s time to learn about the new storage mechanisms in Windows Azure (blobs, tables, and queues, oh my!). Read the next post in this series by Adam Hoffman: Windows Azure Storage for the ASP.NET Developer
For the rest of the posts in this series, see “Windows Azure for the ASP.NET Developer” on US DPE Azure Connection.
Are you a startup? Get BizSpark cloud access. Got MSDN? Get up to $3,700 of cloud benefits. Don’t have MSDN? Try the cloud free for 90 days!
I’m excited to announce that the Rock Paper Azure Challenge is back again for a spring fling! If you want to learn about Windows Azure and have some fun doing it, your opportunity is here. With a free 90-day trial, anyone who lives in the US (who is not a Microsoft employee) can take the challenge!
The Spring Fling round of the Rock Paper Azure Challenge is open starting this week and runs through June 15, 2012! Each week on Friday at 2pm, the top three “bots” will receive Best Buy Gift Cards ($50, $25, and $10). If you’re bot has staying power, you can win week after week!
To keep it interesting for all players, there will be three sweepstakes prizes awarded at the end on June 15, 2012 to randomly drawn entries in the Spring Fling round. All you have to do is get in the game for a chance to win:
I first announced the Rock Paper Azure Challenge here back in April 2011. The RPA Challenge is a fun way for developers to learn about Windows Azure and possibly win a few prizes along the way. In short, you get to code a “bot” that will play the childhood game of “Rock, Paper, Scissors” against other contestants’ bots. The game allows you to flex your coding skills by rewarding developers for coming up with the best best “bot” algorithm.
Now is the time to get in the game and code your best bot!
Get started with the “Get Started” page on the Rock Paper Azure Challenge website. This page has links to the downloads and screencasts that step you through the Bot coding process:
Get Started with Rock Paper AzureGood luck this time around! And if you have any questions, post them here or e-mail us at rockpaperazure AT microsoft.com.
Tomorrow is the April meeting of the NYC Windows Azure user group. The group has been picking up the steam throughout the winter with talks by myself on the Azure Platform and Jim Priestley on Real World Azure Solutions. Tomorrow night, we’re following it up with Ira Bell discussing Azure and mobility. Mobile is the hot topic these days whether it’s tablets, phones, or other devices on the go. Having the cloud tie these things together is enabling all sorts of new user experiences.
Join us Wednesday evening, April 18th, 2012, for Ira Bell’s talk:
"Azure, Mobility and the Enterprise"
Mobility is at the forefront of strategic initiatives in the enterprise. Connecting people and information across a growing number of devices and systems can be a complex undertaking. Ira Bell will explore how organizations can use Azure to accelerate mobile development.
REGISTER HERE!!!The NYC Windows Azure User Group meets at the Microsoft NYC Office in mid-town Manhattan at 6:30pm. The address is 1290 Ave of The Americas, NY, NY 10104.
If you have been thinking about writing a Windows Phone App but didn’t know where to start my fellow teammate, Dani Diaz, has got something for you! He’s been hosting a webcast series that started on April 3rd. There are still three left in the series that you can catch live. But via the links below from Dani, you should be able catch the recordings of the previous ones!
Join us for HackReady, the new online learning series designed for developers to bring you the vital bits you need, without the fluff you won’t miss. Full of key information and demonstrations, this series gives you a solid understanding of the tools, techniques, and resources you need to become HackReady.
The HackReady.Phone series brings you seven episodes, from start to marketplace. Whether you are a new Windows Phone developer thinking about your first app or well on your way to publishing, these sessions help you get there. Join us for one or the whole series—pick and choose as you like.
(Tue 4/3 10AM PST)
MSDN Webcast: HackReady.Phone, Episode 1: Introduction to the Windows Phone Platform (Level 100) -http://aka.ms/HackReadyPhone1
(Thur 4/5 10AM PST)
MSDN Webcast: HackReady.Phone, Episode 2: Working with Internal and External Data in Windows Phone (Level 200) -http://aka.ms/HackReadyPhone2
(Tue 4/10 10AM PST)
MSDN Webcast: HackReady.Phone, Episode 3: Understanding Windows Phone’s Application Lifecycle and State Management (Level 200) - http://aka.ms/HackReadyPhone3
(Thur 4/12 10AM PST)
MSDN Webcast: HackReady.Phone, Episode 4: Working with Windows Phone Sensors and Other APIs (Level 200) -http://aka.ms/HackReadyPhone4
(Tue 4/17 10AM PST)
MSDN Webcast: HackReady.Phone, Episode 5: Enhancing the User Experience and App Usability with Live Tiles, Push Notifications, and Background Agents (Level 200) - http://aka.ms/HackReadyPhone5
(Thur 4/19 10AM PST)
MSDN Webcast: HackReady.Phone, Episode 6: Enhancing Performance and Application Testing (Level 200) - http://aka.ms/HackReadyPhone6
(Tue 4/24 10AM PST)
MSDN Webcast: HackReady.Phone, Episode 7: Ready, Set, Publish: Everything You Need to Know About Releasing Your Apps (Level 200) -http://aka.ms/HackReadyPhone7
On March 15th, the Microsoft Store announced they are opening new stores in New Jersey! The two newest stores will be in Freehold, NJ at the Freehold Raceway Mall and in Bridgewater, NJ at the Bridgewater Commons Mall.
You can read the news in the Jersey Shore’s paper of record: The Asbury Park Press
I was at the Freehold Raceway Mall this past weekend, and the temporary store front looks great!
For anyone that uses Microsoft products (pretty much MOST folks!), it will be great to have these new stores in the area finally! If you haven’t heard about the Microsoft Store, learn more by visiting their website. The Microsoft Store makes it easy to buy software from Microsoft and Microsoft partners in an environment where the folks know what they’re talking about.
If Aunt Betty needs a new copy of Office for her PC, she can hop over to the mall and pick one up while shopping. Want to check out the XBox Kinect in action and get the latest video game accessories? Considering the hot new Nokia Lumia 900 Windows Phone that just came out this week? These will all be things you can do at the Microsoft Stores when they arrive here in Jersey!
The best thing about these stores, is that if you’re looking for a new PC (whether it’s a laptop, slate, or desktop), EVERY PC sold comes with “Microsoft Signature” on it! What is that?! Have you ever purchased a new computer that was loaded with trial-ware and sample software that just slows the machine down? Yeah… I think we all know that experience. With Microsoft Signature, you get a PC with no extra “junk” that is tuned to run with the best performance the moment you start it up for the first time!
If you ever have a problem with a PC purchased at the Microsoft Store, you’ll be able to take it to there and get someone to help you out.
That alone is one of the things I’m most looking forward to when these stores open! For now, we’ll have to wait. Until then, visit http://www.microsoftstore.com to keep up on the latest information, including opening dates when they are announced!
Tomorrow (Thursday, 4/12/2012) at noon ET (9am PT) we have our fifth screencast in the @home series: Async Patterns In The Cloud!
During the first week of March 2012, my teammates Brian Hitney, Jim O’Neil, and I announced the re-launch of the @home with Windows Azure project. On March 15, we hosted a kick-off webcast providing an overview of the project.
This is the fifth in a series of five where we are diving into various aspects of Windows Azure. In this fifth webcast, we’ll explore various patterns for how you can build a scalable application in Windows Azure. From the abstract page:
In our fourth webcast about Windows Azure, we look more deeply at scalability in Windows Azure and how to use queues to effectively scale applications both up and out. We also take a look at the Windows Azure Auto-Scaling Application Block (WASABi) to help with autoscaling and using performance counters to monitor applications.
WATCH THE WEBCAST at 12:00pm EDT 4/12/2012If you can’t make this one, be sure to check out the recordings of this one, and the rest of the series at the @home with Windows Azure website. The recordings should be available within a few days from the webcast.
What is @home with Windows Azure?Microsoft provides a 90-day free trial of Windows Azure where you can learn to kick the tires and run an application in the cloud 24x7 cost-free. The @home with Windows Azure project is an online activity where you use those 90-days of free compute time(or your MSDN Subscriber benefits) to contribute to Stanford University’s Folding@home distributed computing project.
The Folding@home project helps scientists provide insight into the causes of diseases such as Alzheimer’s, Mad Cow disease, ALS, and some cancer-related syndromes, by running protein folding simulations on thousands of machines world wide,
You deploy Stanford’s Folding@home application to Windows Azure, where it will execute protein folding simulations in the cloud, thus contributing to the research effort. In essence, your participation is a donation of your free compute time to the Folding@home project!
Additionally, from the start of March 2012, Microsoft is donating $10 (up to a maximum of $5000) to Stanford’s Pande Lab for everyone that participates!
You can learn more about the project and sign up to view a series of web-casts we will be delivering over the next month at the project’s website:
@home with Windows AzureHope you will join Brian, Jim, and I tomorrow!
Yesterday, I posted about Visual Studio Live! and the new discount offer available from Andrew Brust. Today, I wanted to let folks know about one of Andrew’s newest adventures. Many folks here in the New York metro area know Andrew Brust as the co-leader of the NYC .NET Developers Group. Andrew started that group a long long time ago with Stephen Forte and Bill Zack. Andrew is also the leader of the NYC MS Business Intelligence User Group. He’s known throughout the greater Microsoft community in the US via his participation in Microsoft’s Regional Director program.
For those of us into cloud computing (like myself), there’s been a lot of buzz and focus around the emerging technologies of “Big Data”. What is “Big Data”? Well, besides being the latest buzz word (like “Web 2.0” or “SOA”), it generally is a reference to managing and making sense of large quantities of non-relational data. If you follow technologies like NoSQL data stores (Azure Table storage, MongoDB, Cassandra, etc) and Hadoop, then you already know what “Big Data” is all about.
Andrew has always had a focus on data-related technologies, especially around data analysis and business intelligence. It seems only natural that “Big Data” would be a hot topic that gets his technology passion going. I’m happy to share that Andrew is now authoring the new “Big on Data” blog at ZD-Net! Andrew is now part of a team of well-known and respected technology bloggers including Mary Jo Foley, Larry Dignan, Jason Perlow, and Ed Bott amongst many others.
For keeping up with the latest trends around Big Data, I recommend Andrew’s new blog:
Big on Data @ ZDNETFormal bio for Andrew:
Andrew J. Brust has worked in the software industry for 25 years as a developer, consultant, entrepreneur and CTO, specializing in application development, databases and business intelligence technology. He has been a developer magazine columnist and conference speaker since the mid-90s, and a technology book writer and blogger since 2005. Andrew is also Founder and CEO of Blue Badge Insights, an analysis, strategy and advisory firm serving Microsoft customers and partners.
It’s finally here! Nokia has just launched it’s Lumia 900 Windows Phone in the US. The phone is available at AT&T for $100 with a new 2-year contract. There are other offers where you can get it for even less.
I’ve had a Nokia Lumia 800 (the smaller version sold in Europe) for about a month now as a test device at work. I’ve been ‘drooling’ to get my hands on the bigger Lumia 900. I’m hoping to do that sometime this week. It’s been getting some great reviews that you can check out here.
Check out the HUGE party Nokia threw in Times Square on Friday night April 7th: