If you have found yourself thinking… “We want the cloud to be a seamless extension of our data center, not a walled garden. We want to use our existing IT setup and tools (AD, SCOM etc.) to manage the on-premises and cloud-based applications.” “We want seamlessly move virtual machines from on-premises to the cloud and back.” “We want to start out by moving existing applications to the cloud without the need to change the applications in any way.” …then our […]

Another Friday, another great round of links and blogs from the AIS team: The Case of the Case-Sensitive CustomFilter Refiner: If you’re setting up FAST Search Server 2010 for SharePoint and need a custom date refiner, you’ll want to read about Tim Larson’s experience before you run into trouble. (Code Thug) My Favorite Visual Studio 2012 Extensions: In honor of the recent launch of Visual Studio 2012, Ryan Cromwell shares six of his can’t-live-without extensions. (cromwellhaus) Protecting Your API Keys: How to hide your […]

Most cloud services require you to create a CNAME record for your custom domain in order to direct traffic to the cloud-hosted site. Your example.com site may actually be hosted at example.cloudapp.net. For on-premises hosting you would know the IP address of your server (or the load balancer) and can use an A record, but that is not the case on Azure or AWS: these require that pesky CNAME. CNAME records don’t support naked domains. Your site has to be […]

One day, not so very long ago, Kevin and Tom stopped by for a visit and asked me, “Can we build a low-cost Content Management System (CMS) on .NET that serves up audio and video content? The site also needs to sell access to the A/V content, and oh…the CMS users will be non-technical and it has to work on the iPad too.” I replied that of course we could build such a system and would get back to them […]

If you have found yourself thinking… “Changing our existing apps to run on PaaS is going to require a lot of refactoring. We want to run our applications in the Cloud as-is.” “We cannot migrate to Azure SQL Database because our database relies on SQL CLR-based stored procedures. We want to use a full version of SQL Server.” “We want the Cloud to be a seamless extension of our data center, not a walled garden. We want to use our […]

Just like on-premises applications, the availability for cloud applications needs to be carefully planned. In this blog post I’ll discuss different levels of availability for Windows Azure-hosted applications. Ultimately the level of availability you choose needs to be a business decision that balances cost with your personal tolerance for the nines. To guide us though this discussion, I’ll use a typical Windows Azure application as an example. The architecture of our sample application consists of three primary components: Windows Azure […]

As a Microsoft partner with several gold competencies and cloud memberships, we are entitled to an extensive suite of internal use licenses for many of Microsoft’s on-premise and cloud products.  During our recent rollout of Office 365, the elegance of Microsoft’s long-term vision of federating authentication (which has been evolving since the release of Active Directory Federation Services (ADFS) 1.0 in 2005) really stood out. Once an ADFS 2.0 infrastructure is in place, federating authentication with our hosted Office 365 […]

In the past, I have written about the benefits of Platform as a Service (PaaS) style of applications. While I continue to believe that PaaS offers the best ROI for hosting custom applications in the cloud, there are a number of scenarios where inserting elements of Infrastructure as a Service (IaaS) to a PaaS solution can help alleviate some of the limitations that have prevented the adoption of PaaS. In this blog post we will look at a few compelling […]

When it comes to building distributed systems, one of the most important patterns is the message broker. But what’s a message broker? A message broker is an architectural pattern for message validation, message transformation and message routing. It mediates communication amongst applications, minimizing the mutual awareness that applications should have of each other in order to be able to exchange messages, effectively implementing decoupling. The practical utility of this construct has been proven in many distributed systems over the years.  Within the […]