Creating a Basic Template in Visual Studio – Part 1


This post is part of a series.

Part 1 : Azure Basics

Part 2: New Portal & Azure RM Basics

Part 3:Creating a Basic Template in Visual Studio  – Part 1

Part 4:Preparing Template for SharePoint Farm Deployment with DSC

Advertisements

Building a SharePoint Farm in Azure


This post is part of a series.

Part 1 : Azure Basics

Part 2: New Portal & Azure RM Basics

Part 3:Creating a Basic Template in Visual Studio

Part 4:Preparing Template for SharePoint Farm Deployment with DSC

Introduction

I started my SharePoint career from SharePoint 2001, although I never installed it myself, maybe I was too young or may be not good enough (Coming out of University) to do that J but I do remember installing SharePoint on a Desktop computer which was sitting under by Cabin next to my Desktop computer. Those days you only get such computers in software development companies. I still remember my first experience while sitting with a colleague while we opened the famous set of CHM files that had the step by step installation of SharePoint. First time we read the steps like 3 times. Then started with step 1 installing IIS and “.Net Framework”. Internet was not that fast those days and we used to download all software’s in advanced. Once we install .Net Framework 1.1 we used to restart and then try to see if ASP.NET is visible in ISAPI filters windows in IIS. The troubleshooting step at that time was to try and re-install .NET framework 1.1 and see if showed up but eventually we learned that we need to run ASPNET_REGIIS utility do register it J. I do not think that was all there are 3 other CHM files that we need to read and follow the step by step guides on installing Windows SharePoint Services then configuring them and moving over to SharePoint Portal server 2003. If you are not that old you must understand the both WSS and SPS had different administration screensJ. You might consider me crazy to tell you that there was almost no command line utility available other than stsadm.exe. As I was a developer writing different web parts on SharePoint I used to run stsadm.exe -o addwppack like hundreds of times per day based on our configuration management rules built on top of Visual Source Safe. But things have changed, Now we have Visual Studio Templates and Visual Web Part with F5 support.

SharePoint installation has changed since SharePoint 2007 when we did not have to install lot of software before going to SharePoint setup. If you are not sure what I meant simple sneak peek the following link.

https://www.microsoft.com/en-us/download/details.aspx?id=19082

We saw the massive improvements in SharePoint administration, Shared Services Provider was introduced and feature framework J came to our world. But then 3 years later SharePoint Prerequisite installer was introduce that does most of heavy stuff for you from download, install and reboots. I must admit that I did not used PSConfig when working with SharePoint 2007 a lot and I do not remember why, SharePoint 2010 stsadm was way more powerful and first class administration tool for SharePoint. Just before SharePoint 2013 showed up in the news PowerShell was already famous enough to become integral part of SharePoint administration. This is where things changed seriously.

I know I was far away from my actual topic but I was just trying to make this boring topic a little bit interesting for you. PowerShell changed the overall idea of SharePoint Administration and became the very first thing to know when working with SharePoint. There were number of configurations in SharePoint 2013 which you cannot perform from User interface. Some of the examples are configuring security Token service (STS) and creating search topology. There is almost no feature for a SharePoint person without the knowledge of PowerShell. But do not take it negative as it is not that difficult to learn PowerShell. Microsoft Virtual Academy has some great resources which you can use to get started. PowerShell getting started is I think the 2nd best reviewed course on MVA. It is fun to watch.

clip_image002[1]

Click on the Image to attend the course now. I have personally finished all PowerShell courses on MVA. I have also written a small book on getting starting with PowerShell which you can download from below.

http://a.netcominfo.com/webinars/slides/PowerShell_SharePoint_Better_Together_NetComLearning.pdf

Next step would be to get a subscription for Pluralsight or may be signup for a free one month trial to find out if you like it. Pluralsight have tons of courses on PowerShell.

clip_image004[1]

Go to http://www.pluralsight.com/ to sign up and start studying. There are other resources like PowerShell help and Microsoft TechNet to help you grow up in advanced learning.

Once you are I hope “Good” with PowerShell there are now two different things you can do. One you can start learning about Azure or you can carry on to Azure DSC (Desired State Configuration). The decision is yours. I personally went to Azure because I wanted a change in the topic but in reality PowerShell never left me. So where to learn Azure, again MVA and Pluralsight. These two images below will give you enough to get started

clip_image006[1]clip_image008[1]

If for some very odd reason you never heard about Microsoft Azure, this is what Wikipedia says about it.

“Microsoft Azure /ˈæʒər/ is a cloud computing platform and infrastructure, created by Microsoft, for building, deploying and managing applications and services through a global network of Microsoft-managed and Microsoft partner hosted datacenters.”

According to Microsoft

Microsoft Azure is a growing collection of integrated cloud services—analytics, computing, database, mobile, networking, storage, and web—for moving faster, achieving more, and saving money.

Microsoft Azure provide many different services. To be more generic we call them IAAS, PAAS etc. Read more about Cloud to find

IAAS is Infrastructure as a service which is like having your servers running somewhere in a data center somewhere on the planet. Especially not like the ones we used to have under my deskJ. Azure provides us many different kind and sizes of virtual machines that we can use to deploy and host our application instead of running them on-premises in IT managed infrastructure.

PAAS is Platform as a service where Microsoft will host a platform for you on the cloud. It will be like SQL Server, Mobile services, Web Sites etc. In just few clicks you will have SQL server database provisioned for you to use in any application.

There are many other services available in Azure but I just do not want to go over them here. You can get all the information and document from

https://azure.microsoft.com/en-us/

Click on (3 lines button) and expand documentation. The ones which we are mostly interested with Compute, Data & Storage, Network, Identity and Access Management.

Getting Started with Azure

Is it really hard to get started with Azure? Absolutely not! All you have to do is go to azure.microsoft.com and click Try for Free and Try it now.

clip_image010[1]

Free Trial will give you 200 USD which is more than enough to run 3 VMs for around 18 to 20 days based on usage but only during work hours (9 to 6). You must have a credit card to sign up for Azure Subscription. Please note that Microsoft will need this only to confirm your identity and you will not be charged in case you went over 200. Your account will simply be locked out and a notification will be sent to you to ask if you want to remove the spending limit. This happens to us every month as my company provided MSDN Subscription provides 150 USD credits. Check with you IT if they provide MSDN Subscription to their employees. Once the signup is complete you need to login to Azure Portal.

There are two Azure Portals. Classic and New.

Classic Portal is an evolution of Azure Portal over the years. It provides you access to all the services provided by Azure. The access to all the services is singular in most cases. E.g. you can access All Cloud Services from Cloud Services Tab just like VMs can be accessed from Virtual Machines Tab. Each object shows what relations it has with our objects but there will be no way to properly link resources. Normally every first timer will access this portal first before going to the new portal. This portal can be accessed at https://manage.windowsazure.com/

clip_image012[1]

One thing you must understand that the Classic portal is not done yet. It is still being used in different cases as certain features are not yet available in new portal. E.g. Azure Active Directory features are only available in classic portal. Before going to new portal I suggest you play with different elements of the classic portal. The best way to start would be to create a new Virtual Machine. This will show you that how different services of Azure works together. Before we look at it let’s take a look at a concept that is very closely linked with classic portal.

Cloud Services: Cloud services in Azure allows you to deploy multi-tier applications to Azure, it contains different role was Web and worker roles. Web Role is like SharePoint Front End Server and Worker role is like an application server where you can execute long running tasks. You can increase the number of roles any time and then decrease if needed. Cloud services also allow external access to resources e.g. they have public IP and public DNS address which allow you to either browse the resource or Remote Desktop to it.

For more information: https://azure.microsoft.com/en-us/documentation/services/cloud-services/

Azure Virtual Network: Virtual Network provides ability to connect virtual machine and then connect to all core network infrastructure elements like “WAN Optimizers”, “Load Balancers” and “Firewalls”. The concept of virtual network are mostly same as running virtual network on-premises with differences off course.

For more information: https://azure.microsoft.com/en-us/services/virtual-network/

Storage: Storage is where you data is stored. It is the place where all components of azure save data. VHDs or diagnostic it goes to storage. There is different kind of storage available in Azure.

For more information: https://azure.microsoft.com/en-us/documentation/services/storage/

Affinity Group: Affinity Group allows you to group your resources near from each other based on data centers locations. You do not want your resources to go over the wire to find the other resources as it effect performance.

Availability Group: Availability group provide Fault tolerant and all time access to your VMs. A VM on Azure is replicated to different physical server racks so in case the primary server fails the secondary server takes over.

For more information on Virtual Network, Affinity Groups and Availability Group Click here

Let’s create our First VM on Azure.

1. Go to Azure Portal and Click on Virtual Machines

clip_image014[1]

2. Click + New Button from the Left Bottom area.

Click on Computer à Virtual Machines à From Gallery

clip_image016[1]

3. You can see there are many types VMs you can create. Let’s create Windows Server 2016 preview VM.

clip_image018[1]

4. Click Right Arrow

5. Enter a unique VM Name, choose Tier Standard and Size that you want.

clip_image020[1]

6. Enter a unique user name and password. Do not enter stand admin or administrator as it will not accept.

clip_image022[1]

7. Click right Arrow

8. Next screen is easy.

a. Select “Create a New Cloud Service”

b. Enter a unique cloud service name. It will be publically accessible.

c. Enter the type of logical grouping you want to choose, Region, Affinity Group or Virtual Network. I will choose Region as network is not important for now.

d. For Storage Account Choose Use an Automatically generated one.

e. For Availability Set choose Create New Availability Set and enter its name.

f. You can notice that PowerShell and Remote Desktop Endpoints will be added automatically so that you can either execute PowerShell using PS Remoting or Remote Desktop it from your computer.

9. Click Right Arrow

clip_image024[1]

10. Choose any existing Extension you want to add. The names of extensions does not required additional details J

clip_image026[1]

11. Click Confirm button.

12. Now you have to wait for VM to complete its provisioning.

clip_image028[1]

Within few minutes all components of VM will start to appear on the portal. Refresh your portal to find out why. In my experience Azure creates object in this order first Affinity Group then Virtual Network then Storage then availability groups then Cloud Service and then VM.

clip_image030[1]

Once the VM is ready simply click on Remote Desktop Icon to download the RDP File or click Open. Click connect enter user name and password.

clip_image032[1]clip_image034[1]

clip_image036[1]clip_image038[1]

In few moments you will be connected to the VM.

clip_image040[1]

To find more details about the VM. Click on the VM name.

clip_image042[1]

clip_image044[1]

The toolbar on the bottom allows you to Start and Shutdown the VM.

clip_image046[1]

To shut down the VM simple click Shutdown and click Yes. Shutting down the VM will remove the public IP assigned to the cloud service.

clip_image048[1]

so this is the end of Part 1.