Windows Azure – CDN Caching

Since we’ve already covered the use of Service Bus and Caching, it’s time to take in another type of caching known as “CDN”. For example, say you’ve got an application that needs blob data that’s stored to be able to be accessed by people internationally. It could be the latest video related to the Super Bowl that just passed, or even a popular e-book you’ve put out (or drive updates, I’m sure you get it by now!). Even if you’re the type of person to keep your data stored on multiple data centers, it may not be enough if you’ve got a lot of users to account for. If you want the best performance possible, than Windows Azure CDN is what you should be looking into.

The Windows Azure CDN has tons of sites located all across the globe, every single one is capable of storing and managing copies of Windows Azure blob data. The very first time a user accesses the blob data it copies the information it withholds is then copies from the data center itself into the most local CDN storage “facility”. After this process is finished, anybody who attempts to access the blob data that is located in the same geological vicinity will be transferred to the cached copy that was taken from the original users action. This means that they won’t have to make their way all the way to the nearest Windows Azure data center, which means faster accessing for your users on a consistent basis (that is, if the data is consistently requested).

Seeing as we’re done with caching for the most part, there’s still one more thing to talk about, which is “Identity”. The process of everything can’t go smooth as silk when the server doesn’t know who or what it’s sending information out to, so identity plays a key role in the process of running a server to it’s fullest potential. Windows Azure Active Directory takes information from every user that connects to its database, then they proceed to provide each user with a st of unique “tokens”. These tokens are assigned to each user and then will decide the amount of authorization they have over an application or a server.

You should also look into Windows Azure Active Directory Access Control, which makes it much easier for an application to identify users through social media outlets. This means that it will allow applications and servers will be able to accurately identify their users through outlets like Facebook, Twitter, MySpace and other social media sites like those. All of these sites provide information about their users within the workings on the actual web site, so these are great ways to figure out the level of authorization for a user.

Read more

Windows Azure – Messaging (Part #2)

Messaging isn’t limited to one type or option, there’s another one known as a “ Service Bus”. Whether an application is running on the actual cloud or the datacenter, or even a mobile device (and anywhere else you could think of one being run) the application is going to need something to interact with. It can’t just have the data it needs on it’s local datacenter or storage, so there’s got to be another way to manage it, right? Service Bus is pretty much a way for your applications to obtain data wherever, as well as whenever they’d like.

This service is a Queueing one, but it’s not exactly the same as the service we just explained in part ten. Unlike the latter, Service Bus actually provides it’s users with one-to-one data interaction as well as publish-and-subscribe techniques. When you use the publish-and-subscribe feature you’ll be able to use the application and send messages to a specific topic, while in the meantime applications are creating new subscriptions to the topic at hand. This means that one-to-many communication can be achieved when you’re looking at multiple applications, which allows for every application to receive each message fluently. Queueing isn’t the only service you have at your disposal when you’re implementing Service Bus, as it allows for the direct communication with servers and applications using it’s relay service. This allows you to securely interact with your data through your servers firewalls.

Applications that find themselves communicating through the use of Service Bus may be Windows Azure applications or even software that happens to be running on somebody elses cloud server. They could also be an application that’s running itself outside of the cloud server if you find yourself in that kind of predicament. The perfect example of Service Bus communication would have to be a well-known airline. Not only do they need to have information available for the clients and check-in kiosks, but they need to be precise and specific with their information. Seeing as there’s numerous things to handle and they all have a different use, Service Bus would be the perfect thing to implement amongst the various interactions needed between datacenters.

The next option we’ve come to know as “Caching”, which can be pretty easy to implement if you do it properly. Many applications need to have access to the same data over and over, which means there isn’t as much dynamic information being shared as there usually is. In order to keep efficient, you want to keep a copy of the data needed for the application close (sometimes even stored on the application itself). It’s a pretty in-depth process, so we’re going to expand on it a bit more in the next part.

Read more

Windows Azure – Messaging (Part #1)

Messaging is an integral part of all servers, codes needs to communicate with the other codes in order to know what’s actually going on. Sometimes they can be put on a timer, other times the messaging process can be kept incredibly basic (like queued messaging). When it calls for it, more complex (as well as in-depth) processes can be achieved if it’s what you’re going for. Windows Azure has a few different ideas and ways to try out when it comes to finding the right “message”!

The term “Queue” is going to pop up a lot when you’re talking about messaging with cloud servers. It’s a very simple, yet intricate process. One of the applications puts a message in a “queue”, then that message is eventually sent over to the next application in order for it to process the new info. If this is all you’d need to be running, Windows Azure Queues would probably be your best bet seeing as it’s easy to use and rather straight-forward. Another common use we have found for the queue these days is to let a web role instance communicate and interact with another worker role instance (of course, withing the same Cloud Services application). Let’s say you’ve created your own little application on Azure that pertains to video sharing, the code of the application itself is made up of PHP that runs in a web role (in order to let users watch and upload their videos accordingly). This is paired with a worker role in C# that will translate and transfer the videos themselves in various formats on the server.

Whenever the web instance is gracd with a new video from a consumer, it can store the video in an abundance of data forms (usually a blob) and then sent to the worker role with a “Queue” in order to tell it where it can find this new video. After this has been accomplished a working role will take the video that’s required and “translate” the whole thing in the background of processes.

Whenever you take the opportunity to structure your application in this fashion it allows for a more immersive experience. You will be able to asynchronously process data, as well as scale your application as you’d please. This is all dependent on the web roles and worker roles, because they can be scaled to you liking as well. All in all, once again it doesn’t hurt to know more than you need to know in this case (applying to Messaging that is) because you never know what’s around the next corner!


Read more

Windows Azure – Business Analytics

Another important (in most cases, VERY important) thing to be aware of the Business Analytics aspect that is implemented in Windows Azure. When you analyze your data, it helps you realize what you need to fix or focus on from a business aspect. Cloud platforms record tons of data for you to use, althought it’s pay-per-use, the two options of analytics (which are “Reporting” and “Hadoop”) are still great for those who want to know what’s going on.

Reporting usually takes place within SQL databases, seeing as one of the most common ways of using the stored data on your cloud server is to create reports on that data it’s become known as one of the “easiest” ways. When you’re running a SQL Server Reporting Service (SSRS) on your Azure Virtual Machines, you’re allowed to build reporting processes that are actually easy to understand into your application itself. This gives you the ability to create data reports an abundance of different ways, including charts, gauges, files of different sorts (like HTML, XML, PDF or even Excel) as well as maps and tables. You can also perfom analytic duties through this platform, as you can use the SQL Database with any on-premises intelligence tools that would apply to business.

HDInsight (also known as Hadoop) is another thing to look at, for many years now data analysis was usually done on any data that was “related” and stored in data warehouses with DBMS. This is still somewhat important to some and is still going to be like that for the forseeable future, but what do you do if that data is just too large? What if it isn’t exactly relational? Examples of this data would have to be historical data from any events, or even logs of your server itself. When this is the case, you’re going to have to approach it differently.

Hadoop stores it’s data with the use of the Hadoop Distributed File System (known as HDFS). This ispaired with MapReduce by the administrator in order to analyze the data. HDFS has the ability to spread its data across multiple servers, then proceeds to execute portions of the MapReduce program on every single one. This allows for all of the “big data” to be processed parallel to the original process. HDInsight is the name of Window Azure’s well-known Apace Hadoop-based service, many people have become accustomed to the use of it and have actually become quite prominent with it in a sense. Like anything else it’s important to know exactly what you’re doing with each of these things, which is why these articles are here to explain them for you. If you aren’t aware then you aren’t going to be as efficient as you’d like to be, the cloud server itself could run at a lower capacity than you would expect as well!

Read more

Windows Azure – Networking

Networking is an important aspect to take into account when you’re considering cloud servers and things like that. Windows Azure has a vast amount of datacenters located all across the world, from the United States to Europe and Asia. This means that you can actually choose which location you would like your data to be stored at when it comes time to do so, you’re not even limited to using just one of the datacenters. The process of connecting to these datacenters can vary, because there are multiple ways of doing so, which are:

  1. Using Windows Azure Virtual Network to connect a personal (most likely on-premises) local network to your Azure Virtual Machines.
  1. If you’re using multiple datacenters, you’re going to want to keep it organized. You can use Windows Azure Traffic Manager to manage the requests that users are making in an orderly fashion (smoothly and efficiently).

The use of a cloud server can be optimized even more in order to treat it as another “wing” (so to speak) of your own datacenter.  You have the ability to add Virtual Machines to the Virtual Network whenever you please, as well as remove them at will. This means you don’t necessarily always need to have computing power available, as sometimes it won’t really be needed. Also, since Windows Azure Virtual Machines allow you to create your own personal VM’s while running the SharePoint program (including Active Directory and any other software you may use on-premises) the approach itself should work with any applications you’ve already gotten ready.

If you want to make this as useful as possible, you’re going to want to let your users treat this applications like they were running in your own personal datacenters. Windows Azure Virtual Network allows for easy implementation of this, all you’ve got to do is make use of VPN gateways and set-up a personal Virtual Network. Whenever you assign your own IP (v4) address to your cloud servers Virtual Machines, it appears as if they’re on your own network. After this users can access them and the VM’s contained within as if they were being ran locally.

Traffic Manager is an application that helps those with a massive user database sort everything out. When you’ve got a massive amount of people using your cloud server it’s a good idea to have multiple datacenters, but some people don’t. If you do however, it’s hard to keep a quality server up and running without a program to sort all of the traffic out. If somebody is from Europe and find themselves connecting to a US datacenter something is obviously off; Traffic Manager is a piece of software that finds the most suitable datacenter for a user and connects them to it. It goes through a process if one isn’t available and it connects them to the next best one they’ve got ready for the user.

Read more