What should I learn in cloud computing as a .net developer - azure

I have query related to learn the Cloud computing and Microsoft Azure. I am a .net programmer working on asp.net, C#, Sql server, WCF. If I learn the cloud computing then how it can help me in future as professional growth and How would it benefit me as a developer?
What should I learn specifically in cloud computing and Azure which would help me in future as professional growth.

To answer your first question, becoming familiar with cloud computing (even just Microsoft's platform) will help you to understand what is involved with deploying to the cloud, how cloud billing works, and understanding how elastic the environment is.
Specifically what to learn about Azure, I'd do the following:
Sign up for a 30-day azure pass.
Download the Azure Training
Kit.
Download the latest Azure SDK (1.4)
Work through some of the Training Kit examples in coordination with your 30-day free pass to Azure.

In addition to David's answer, I recommend Azure Fundamentals on the free portal Microsoft Learn. On Microsoft Learn there are many courses organized by role. You can just study or take also one or more certifications.
Other than that, notice that as a .NET developer you are not bound to the Microsoft Cloud solution, but you can learn and use any Cloud provider.

Related

Best practices when deploying Dynamics CRM to Azure virtual machines

Are there any recent best practices / guidance for deploying Dynamics CRM (eg 2016) to Azure virtual machine IaaS (eg Windows Server 2016)?
In case you ask, we are pursuing this to control licensing costs.
I'm familiar with the Microsoft whitepaper from 2015, Deploying Microsoft Dynamics CRM in Microsoft Azure Virtual Machines, but it is somewhat dated and Azure / cloud service providers have evolved tremendously in the past 4 years.
Are there any newer best practices / guidance? Are there any gottchas?
I've looked in some depth at SQL Server 2016 on Azure virtual machines, some examples of the Azure-specific guidance there would be:
tempdb on D: ephemeral disk (credit Brent Ozar)
backups on storage blogs mapped by URI (credit Microsoft in DBA Stack Exchange)
storage spaces (pools) for enhanced performance of Azure data disks
several Azure Quickstart Templates for SQL Server
etc
There is no mention of Dynamics (CRM or otherwise on-server) in the Azure Quickstart Templates.
I'm looking for equivalent guidance for Dynamics CRM on Azure VMs.
You are probably not going to find any Azure Templates for CRM because Microsoft is generally trying to push everyone to use Dynamics 365 Online. Without knowing your situation, that would always be my recommendation since you're essentially trying to create a cloud hosting solution for a product with a cloud hosting solution.
However, I understand that there are circumstances that would prevent this.
With that said, the guide seems relevant even if it's outdated. You can still set up the VMs using the plan recommended in the guide even if the steps may change.
Also, whenever I set up on-prem hosting, I would need to set up an ADFS server. This was always a separate VM that only ran ADFS and nothing else. Fortunately, Microsoft Docs have a pretty reference for creating ADFS in Azure.
https://learn.microsoft.com/en-us/windows-server/identity/ad-fs/deployment/how-to-connect-fed-azure-adfs

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.

Hosting TFS on Azure or AWS

We will be hosting TFS in a private cloud on VM(s). Are there technical differences to hosting TFS on Azure or AWS, or is it only a matter of pricing and which cloud a team prefers and has past knowledge of? I also think we won't go the Visual Studio Online route.
At InCycle, we have a full TFS 2015 installation hosted in Azure spread across something like 6-8 VMs. You'll need to take into account the standard considerations (virtual machine sizing and performance), especially on the data tier, which should have plenty of fast disks and lots of CPU and RAM.
You'll also need to consider Active Directory sync and how you'll get access to things like build drops on-premise from Azure.
Honestly, VSO will almost certainly be a lot cheaper for you, and you won't have to worry about the infrastructure requirements or upgrading TFS on a regular basis.
The ALM rangers have excellent guidance on this, as well: http://blogs.msdn.com/b/bharry/archive/2014/06/06/team-foundation-server-on-azure-iaas-guidance.aspx

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.

Azure platform install

Can we install a version of azure locally? In other words, can we manage an independent azure cloud? I am using the emulator. But I want a real azure system. This question seems meaningless but my professor asked it unfortunately.
If you're big enough, then there's the Azure Appliance - http://www.microsoft.com/windowsazure/appliance/
On a smaller scale, many of the Azure facilities are available through "Server 2008 AppFabric" products and Microsoft's management platforms are striving to make private datacenters and public Azure clouds interchangeable.
Your question isn't meaningless, as it's important to understand what's offered via Windows Azure. Currently, Windows Azure offers a public cloud. There are a "very" limited number of Windows Azure Appliances that have been built for use by enterprises such as eBay (see the link Stuart provided). However, these are not for general sale, and these are extremely expensive.

Resources