Category Archives: Windows Azure & Web Development

Just a few days ago the team in Redmond has announced the general availability for Azure Search and other new announcements along with it.

For the past few months I had the opportunity to talk, blog and answer questions about Azure Search while it was still under public preview. Today however, the service is no longer in preview and this means that the search-as-a-service solution managed by Microsoft is now fully baked with SLA, stable and less-changing REST API schema and models which can be concluded as: full-text search in a box.

The purpose of Azure Search is to help software developers implement a search system within their applications (whether web, mobile or desktop) without the friction and complexity of writing SQL, JavaScript (or anything else) queries and with all the benefits of an administration-less system.

Not only did the team make the service generally available, but they also added some more flavor to this release since it comes out with great new features such as an indexer mechanism which allows Azure Search to literally crawl for data in any modern data repository such as Azure DocumentDB, Azure SQL Database or SQL Server running on Azure VMs and also the concept of suggesters (previously under preview in the 2014-10-20-Preview API version – I wrote about suggesters in the Azure Search Client Library update announcement here) which allows users to specify a suggest algorithm upon running the suggest operation available in Azure Search.

I’ve received earlier this morning a very nice e-mail from the DevSum 2015 committee stating that I’ve been accepted as a speaker for this year’s conference. Therefore, if you happen to be in Stockholm between May 25th and 27th, I’d love to see you at the Clarion Hotel Sign at DevSum 2015.

DevSum is a yearly conference, already at the 10th edition, taking place at the end of May in Stockholm, which also happens to be (according to www.devsum.se) ‘the largest and most enjoyable .NET conference’ in Sweden :-). During the two-day conference, attendees get a chance to learn about .NET, Azure, Architecture, XAML, Puppet, JavaScript and more from a panel of 40 Swedish and international speakers (actually, Scott Hanselman himself happened to be one of the speakers of the previous editions). My presentation is going to be about ‘Patterns For Scalability In Microsoft Azure Applications’; even though I went through this subject a dozen times already during the previous 12 months, I’ll put together a revamped presentation with some extra ‘knowledge’ I learned from my experience with cloud computing.

Along with fellow community leaders and speakers and with the support of Microsoft Romania, I’m putting together the first community organized Azure-centric event in Oradea for 2015!

Come and join us at Azure DevCamp Oradea

Part of a series of seven events taking part across the entire country (Bucharest, Oradea, Timisoara, Targu-Mures, Cluj-Napoca, Sibiu, Brasov), Azure DevCamp Oradea is your chance to learn more about the freshly announced services in Azure:

Azure DevCamp Oradea will take place on the 20th of February, at Hotel Continental Forum (1 Aleea Standului), will start at exactly 16:00 and is completely FREE of charge. However, registration is required prior to the event and can only be done at http://aka.ms/oradea-20-februarie.

Here’s your chance to learn more about Web Development with Microsoft Azure, during an intensive 2-day course held in Cluj-Napoca. The course is organized by Avaelgo and is currently set to take place at the end of March. Even though still in a draft form, the agenda is vast and covers most IaaS, PaaS and SaaS services available in Azure and hence I totally recomment it.

Learn more about the Avaelgo and the Web Development with Microsoft Azure course here.

Have you ever used a public WiFi in a coffee shop? Or did you use one in an airport, hotel, restaurant or a museum? I bet you were wondering how safe these networks are and whether your HTTP traffic can be sniffed by anyone nearby! Well, to keep the answer short, public WiFi network at anything but safe and the traffic can be sniffed with ease in almost any available public WiFi.

On the other hand, did you ever try to watch movies on Netflix, listen to some good music on Spotify or Internet radio on Pandora from an Eastern-European country (e.g. Romania), just to find out that these services don’t work in Romania (yet)?

Well, Azure is here to the rescue! During this article you’ll go through all the steps necessary to create a VM hosted in one of Azure’s data centers so that all your Internet traffic goes through a secure VPN tunnel to the data center. In the end, this basically means that your traffic will look as if originates from within Azure and thus you’ll be able to use the kind of services mentioned earlier.

The infrastructure schema of what we’re trying to achieve looks something like this (please try to bear with me here – I’m totally aware my drawing skills are close to nonexistent):

Prerequisites

There are a few requirements in order to successfully complete this step-by-step guide:

you will most certainly need an Azure subscription. You can either use a 30-days free trial account or a Pay-As-You-Go account. Additionally, if you have an MSDN subscription, you can also use your Azure credits, which are part of your benefits as an MSDN subscriber. Here’s a link on how to sign-up for a 30-day trial account today using your Microsoft Account

a SSL certificate. Yes again, there are a few options here: the obvious one is to buy a SSL certificate from a publicly available Certificate Authority (CA), or to create a self-signed certificate which you’ll manually install in the Trusted Root Certificate Authority container. In order to create self signed certificates, you can either use makecert.exe, a utility which comes with any installation of Visual Studio 2013 (or 2012, for that matter) and/or Windows SDK, or selfssl.exe, part of the lightweight IIS6 Resource Kit.

The other day I came across a situation which concluded in the most peculiar exception to be thrown when using Service Bus, more specifically an UnauthorizedAccessException with the message of ‘Malformed Authorization Token’. Of course the first intent is to check whether the security credentials are indeed correct or not.

Since the credentials used to instantiate the MessagingFactory were correct, a possible option seemed to be to update the NuGet packages and thus hope that the newer version of the client library would have this issue sorted out. Moreover, because I was working on a restricted network, I also decided to explicitly specify that I want to use the AMQP protocol for ServiceBus rather than anything else and made sure that both 5671 and 5672 ports were open, but this didn’t help at all.

Looking over the English dictionary for the word ‘facet’, I came to realize that facet means way more things that I originally knew: (according to http://dictionary.reference.com/browse/facet)

one of the small, polished plane surfaces of a cut gem

a similar surface cut on a fragment of rock by the action of water, windblown sand etc.

aspect, phase, as in: ‘They carefully examined every facet of the argument’

in Architecture, any of the faces of a column cut in a polygonal form

in Zoology, one of the corneal lenses of a compound arthropod eye

in Dentistry, a small highly burnished area, usually on the enamel surface of a tooth, produced by abrasion between opposing teeth in chewing

However, during this post I’m not going to discuss the origin of the word, but rather what a ‘facet’ means in terms of Azure Search.

Have you ever wondered how popular on-line shopping stored are able to create those complex filtering scenarios, different for every category of products and different in functionality as well? More specifically, how come high-end products show pricing categories based on a quite a few high price ranges while the accessories category comes with less, lower price ranges? Here’s an example on Amazon.co.uk:

Wow! No, seriously! WOW! Had the conference not been a good one, this post would have been written either during the event or long after the event.

During these two days I had the opportunity of joining great session given by Microsoft professionals who work in both IT departments and R&D departments. Just to name a few, among the session I had the opportunity to attend are: SQL Server 2014 In-Memory OLTP Query Processing, NoSQL on Azure, Intelligent System Service – the bridge and heart of IoT, Managing Technical Debt, SQL Server for Developers, Using WinJS for web and cross-platform application, Build Your Custom Private Cloud Management Portal with Windows Azure Pack. Unfortunately though, I didn’t get a chance to attend the rest of super-cool sessions the rest of the speakers gave.

On the other hand, I also had the opportunity of offering an Elastic Scale session to a full room (people even decided to even stand just the get all the intel). Should you have missed Microsoft Summit or the session I gave, scrolling a bit down you’ll get a chance the go through the my slides. Also, I highly suggest to be patient and wait for the video recordings to be published on the conference’s website here: http://www.mssummit.ro/en/videos.

In just a few days (14, by the time of this writing), the second edition of Microsoft Summit will take place. For this year’s event, Microsoft put together an agenda for both IT specialists (network & infrastructure experts along with software developers) and business managers and the list of speakers is simply, well… staggering!

If you didn’t get a chance to register for the event yet, consider this your opportunity to win one of the two tickets I’m offering for free to you, my loyal followers and readers. The net worth of these two tickets is 1398 RON (little over $400,00) and it’s now your chance to get on the them completely free (meals included!).

Simply answer these three questions by either commenting to this post or by sending a private message via the Contact form:

What options does one have for scaling his/her SQL database?

What does database sharding mean?

What is my Microsoft Summit session’s title?

Good luck!

Alex

P.S.: If you don’t know the answers, it’s your chance to learn more about DB sharding techniques via elastic scaling out during my session at Microsoft Summit, ‘Patterns for SQL Database Elasticity’ 🙂

If you attended my session yesterday on ‘Patterns For Scalability In Microsoft Azure Application’ @ CodeCamp 2014 Iasi, thank you! Again, sorry for the extremely late start: like I mentioned yesterday, Java developers talking about concurrency and threading are obviously not aware what the current time is. But yet again, they’re so cute when they get excited talking about concurrency and asynchronous methods 🙂

However, if you didn’t make it to the session, here’s you chace to get a glance on the content I presented.

The CodeCamp organizers will also post all the presentations at some point and I suppose they will post the video recordings as well.