Enterprise LIbrary and MS Azure Articles? - azure

Just wondering if anyone has had any experience using MS Azure and the Enterprise Library? I can't seem to find any articles on this and hoping (really hoping) someone has some?

Enterprise Library is big... which part were you particularly interested in?
In general, you won't have any problems, since Azure now supports full trust. However, some parts won't really make sense... for example, you can't use Enterprise Logging to log to a "C:\MyLog.txt", since you won't be able to log anything to a "local drive" in the cloud. Perhaps you could write a logging provider to Azure table storage however, for example.

See this whitepaper "Using classic Enterprise Library 5.0 in Windows Azure".
Also, check out the specially designed Enterprise Library Integration Pack for Windows Azure which introduced 2 new application blocks - the Autoscaling Application Block ("Wasabi") and the Transient Fault Handling Application Block ("Topaz".

Related

Why is fluent-plugin-application-insights set to [UNSUPPORTED]?

We are considering transferring and managing logs output by applications running on Microsoft azure VMs to Microsoft azure application insights using fluent.
However, the public fluent application-insights plug-in is "unsupported".
https://github.com/microsoft/fluent-plugin-application-insights
What is the reason for this?
Isn't the method of transferring application insights using fluent recommended?
Here is some info after contacted with the author Yanming Tang:
Because we are not actively supporting that. App Insights team is
recently having a cleaning up process to mark inactive projects as
unsupported.
And he also suggests that: you can still use it as a starting point,
and can make whatever change you like, but they won't work on feature
requests.

What is the most covered way of scripting Azure resources?

I know of ARM, the REST SDK and the CLI Powershell cmdlets.
What I want to know is; which of these has the most extensive support for scripting resources without having to touch the (indeed very slow) Azure Portal?
And I would also really like to know which one of these Microsoft usually ship first with regards to preview features?
Each service in Azure is exposed using a REST API. Most of those APIs are publically supported. Some aren't.
It depends on the team that builds the elements that make up Azure and often their primary customer base. The Windows IaaS and AAD teams have been mostly PowerShell first. Machine learning and AI seem to favor azure-cli, which is built in Python, a very commonly used language in big data scenarios. The Azure Devops team has recently moved from the Visual Studio to the Azure brand (formerly Visual Studio Team Services, Visual Studio Online, Team Foundation Service preview). Their tools are mostly Node and Powershell based. Not everything in Azure is a "Resource", per se. So not all things are created or updated using Azure Resource Manager Templates (ARM).
So, unfortunately, there is no golden hammer when it comes to automating Azure.
Azure REST Api is, obviously, the best way to go, but its the least convenient (there probably is a better word for this). I really like arm templates, they (basically) allow you to define REST api calls you want to do and allow to do some looping\parametrizing\etc. As arm templates are just a proxy for the rest api, they usually work really well.

Windows Azure website security level

I wonder what is the security level for azure hosted websites. Is it Medium/High or Full?
They run in Full Trust (source).
However, they use a Sandbox mechanism, and as a result some APIs are not available (e.g. Sockets using IPv6), or do not work as expected (for example, the Socket.Available property is unavailable, which restricts the use of some libraries such as NetFTP).
If you are considering using WA Websites for scenarios in which .NET Security might be a problem, I suggest you to get in touch with Microsoft support to ensure that the specific features you may need are supported on this environment.

What other GUI ways to manage Azure cloud services except Management Portal are there?

Microsoft promises to discontinue the old (Silverlight) Management Portal "this summer" so we now have to use the new (HTML 5) portal.
I personally and several people I've talked to find the new portal awful because it doesn't provide as fine control as the old one did. We find it so bad that maybe even consider writing our own tools.
Yes, I'm well aware about cmdlets, Management API, but I'd prefer something with GUI more or less like the old portal.
What other ways are there to manage Azure cloud services that provide GUI and fine control?
Do take a look at Cerebrata tools especially Azure Management Studio: http://www.cerebrata.com.
If you aren't ready for all the features of Azure Management Studio then try the free Blob manipulation tool, Azure Explorer, which is robust and very easy to use:
http://www.cerebrata.com/labs/azure-explorer
(Short video review here: http://www.youtube.com/watch?v=NO7g7XCDEIg)
For what it's worth, I think the Azure team have done a really excellent job with the Portal, including just the right amount of functionality for the majority of users.

Is azure for big applications only?

I've recently been asked to redevelop an .Net 2.0 WinForms application with a back end SQL Server Express DB.
One of the requirements is to allow remote users access to the application, so I've been considering hosted options to avoid VPN setup. The data is not sensitive and does not fall under data protection act, so a basic security approach for the web will cover me.
I like the idea of using Azure for a few reasons, but I'm not sure if a good fit for a users base of 5 or 6 with no real scope to grow. I've never used Azure and I plan to develop using MVC and a SQL backend as this is my main skillset.
A few points in favour of Azure in my mind are:
Tight integration with the TFS preview that I'm using for this project
Easy to setup a sandpit and a live version
Easy maintenance as I expect other hosted options will require more knowledge of underlying OS
Sticking to a full Microsoft stack should hopefully make things simpler
From what I find on the Azure site the message is all about scalability, which is great if you need it.
My question is simply, do you need a large user base, or plans to grow quickly, to use azure or is it how we should be hosting apps now?
What you're asking here is the perfect case for Windows Azure Web Sites:
You get 10 web sites for free (no custom DNS, but this is perfect for your 'sandpit'/test version). The shared mode supports custom DNS and is very cheap.
Tight integration with TFS preview and GitHub
You don't need to worry about the underlying OS, you simply publish from Visual Studio or with TFS Preview.
Sticking to the Microsoft stack is the easiest solution, but other technologies work great aswell. Since you're talking about MVC I'm assuming you are considering ASP.NET MVC, which is a perfect match with Windows Azure. Take a look at the training kit for some good examples.
The day you'll need a solution which more scalable (meaning you'll have more users and more income) you can easily upgrade to a reserved instance or to a Cloud Service (Web/Worker Role).
About your question: "My question is simply, do you need a large user base, or plans to grow quickly, to use azure or is it how we should be hosting apps now?"
Windows Azure is a cloud service platform (includes PaaS as Cloud Services, IaaS as Windows Azure Virtual Machines and also Websites suggest by Sandrino above), and with cloud services you have ability to start very small and grow as much and as quickly as your user requirement is, so you can use Azure with both cases. On the other hand there are some advantages using certain offering depend on your which service you are going to use to run your application.
I think article (Section: "What Should I Use? Making a Choice") will explain the strategy about how you make a selection among various services.
This SO discussion does talks about the difference between cloud Services and Azure WebSites as well.

Resources