Skip to content
This repository was archived by the owner on Nov 16, 2023. It is now read-only.
19 changes: 10 additions & 9 deletions Walkthrough Guide/01 Setup/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ Creating a Microsoft Azure Account is easy! Just head over to the [Microsoft Azu

![Free Azure Account](Assets/FreeAzureAccount.png)

Although the free Account includes a bunch of services that you can use, in this workshop we will work with advanced resources, which we need an Azure Subscription for. An Azure Subscriptuon is basically the way to pay for charged services and can be backed by a Credit Card or a company agreement.
Although the free Account includes a bunch of services that you can use, in this workshop we will work with advanced resources, which we need an Azure Subscription for. An Azure Subscription is basically the way to pay for charged services and can be backed by a Credit Card or a company agreement.

You can check the Subscriptions for you account when visiting the [Azure Portal](https://portal.azure.com) and selecting ***Subscriptions*** from the side menu.

Expand All @@ -56,13 +56,13 @@ If no Subscriptions appear, visit the [Azure Subscription Portal](https://accoun

### .NET Core

Most parts of this workshop are written in .NET Core 2.1 and we need to compile a few things from time to time. For this, we need to the [.NET Core SDK](https://www.microsoft.com/net/download/windows/build) installed. To check if the installation has been successful, open the *Terminal* or *Command Prompt* on your machine and type in
Most parts of this workshop are written in .NET Core 2.1 and we need to compile a few things from time to time. For this, we need the [.NET Core SDK](https://www.microsoft.com/net/download/windows/build) installed. To check if the installation has been successful, open the *Terminal* or *Command Prompt* on your machine and type in

```bash
dotnet --info
```

If the command line answers you similar like shown in the screenshot below, your machine can now run and compile .NET code.
If the command line responds in a similar way to what is shown in the screenshot below, your machine can now run and compile .NET code:

![Visual Studio Running Xamarin iOS and Android App](Assets/DotnetInfoBash.png)

Expand All @@ -74,7 +74,8 @@ Note, that you need to ***Reload*** Visual Stuido Code after installing extensio

![Screenshot of Visual Studio Code for Reloading Extensions](Assets/VSCodeReloadExtensions.png)

Once the extensions has been installed successful and Visual Stuido Code has been reloaded, you should see a new ***Azure*** tab on the side. Select it and make sure that you are logged in with you Azure account. Please verify, that you see at least one of your subscriptions here.

Once the extensions have been installed successfully and Visual Stuido Code has been reloaded, you should see a new ***Azure*** tab on the side. Select it and make sure that you are logged in with your Azure account. Please verify that you see at least one of your subscriptions here:

![Screenshot of Visual Studio Code showing Subscriptions in the Azure Tab](Assets/VSCodeAzureSubs.png)

Expand All @@ -88,20 +89,20 @@ If you want to compile the Xamarin Application on you own, you will need to inst

#### Windows

When working in Windows, Visual Studio will be the best IDE for you! You can check internally if you have a license for the paid versions or even go with the free Community Edition. Both will work for you.
When working in Windows, Visual Studio will be the best IDE for you! You can check internally to see if your company has a licence for the paid versions or even go with the free Community Edition. Both will work for you.

Please [follow this guide](https://developer.xamarin.com/guides/cross-platform/getting_started/installation/windows/) to install the Xamarin Tooling for Visual Studio on Windows and make sure, you have at least Android API Level 16 and an Android Emulator installed.
Please [follow this guide](https://developer.xamarin.com/guides/cross-platform/getting_started/installation/windows/) to install the Xamarin Tooling for Visual Studio on Windows and make sure you have at least Android API Level 16 and an Android Emulator installed.

When working on Windows, you won't be able to build iOS solutions unless you connect your machine with a Mac in your network. To follow this workshop, an iOS configuration is not mandatory! [Follow this guide](https://developer.xamarin.com/guides/ios/getting_started/installation/windows/) if you want to connect to a Mac Build Host anyway.

#### Mac

When using a Mac, the best Xamarin Tooling provides Visual Studio for Mac. Xamarin should be installed during the installation of Visual Studio. Please [follow this guide](https://docs.microsoft.com/en-us/visualstudio/mac/installation) to make sure you don't miss anything.
When using a Mac, the best Xamarin Tooling is available in Visual Studio for Mac. Xamarin should be installed during the installation of Visual Studio. Please [follow this guide](https://docs.microsoft.com/en-us/visualstudio/mac/installation) to make sure you don't miss anything.

If you want to build iOS solutions, make sure that XCode is also installed on the same device!
If you want to build iOS solutions, make sure that Xcode is also installed on the same device!

#### Test your installation

To make sure your environment works as expected and is able to compile and execute Xamarin apps, your can simply open the [`ContosoMaintenance.sln`](/ContosoMaintenance.sln) solution with Visual Studio and select the `ContosoFieldService.iOS` or `ContosoFieldService.Droid` project as your Startup project. If the application gets compiled and the app can be started, you are good to go.
To make sure your environment works as expected and is able to compile and execute Xamarin apps, you can simply open the [`ContosoMaintenance.sln`](/ContosoMaintenance.sln) solution with Visual Studio and select the `ContosoFieldService.iOS` or `ContosoFieldService.Droid` project as your Startup project. If the application gets compiled and the app can be started, you are good to go.

![Visual Studio Running Xamarin iOS and Android App](Assets/VSMacRunningiOSandAndroid.png)
14 changes: 7 additions & 7 deletions Walkthrough Guide/02 Architecture Options/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,16 @@ Deciding how to architect a solution isn't an easy task and depending on who you

We're looking for a solution that allows us lots of flexibility with minimal maintenance. We're interested in focusing on the business problem rather than deploying and maintaining a set of virtual machines.

It's for the reason that we'll opt to use Platform as a Service (PaaS) as much as possible within our design.

It's for this reason that we'll opt to use Platform as a Service (PaaS) as much as possible within our design.


## The real architecture
![Azure Functions Architecture](Assets/WebAPI.png)
Above you can see a high-level overview of our production architecture. Some key decisions:

### Orchestration
We were going to leverage our .NET skills and build a ASP.NET Web API targeting .NET Core; we've lots of flexibility on where and how to host the code.

We are going to leverage our .NET skills and build a ASP.NET Web API targeting .NET Core; we've lots of flexibility on where and how to host the code.

We picked Azure App Service as it supports great IDE integration for both Visual Studio PC and Visual Studio Mac, as well as offering all the PaaS goodness we need to focus on other parts of the solution.

Expand Down Expand Up @@ -48,9 +48,9 @@ If you're interested in helping, then please reach out to us!
Learn more about [Service Fabric](https://azure.microsoft.com/en-us/services/service-fabric/)

## Connecting to remote resources securely
ExpressRoute is an Azure service that lets you create private connections between Microsoft datacenters and infrastructure that’s on your premises or in a colocation facility. ExpressRoute connections do not go over the public Internet, instead ExpressRoute uses dedicated connectivity from your resources to Azure. This provides reliability and speeds guarantees with lower latencies than typical connections over the Internet. Microsoft Azure ExpressRoute lets you extend your on-premises networks into the Microsoft cloud over a private connection facilitated by a connectivity provider. Connectivity can be from an any-to-any (IP VPN) network, a point-to-point Ethernet network, or a virtual cross-connection through a connectivity provider at a co-location facility.
ExpressRoute is an Azure service that lets you create private connections between Microsoft datacenters and infrastructure that’s on your premises or in a co-location facility. ExpressRoute connections do not go over the public Internet, instead ExpressRoute uses dedicated connectivity from your resources to Azure. This provides reliability and speeds guaranteed with lower latencies better than typical connections over the Internet. Microsoft Azure ExpressRoute lets you extend your on-premises networks into the Microsoft Cloud over a private connection facilitated by a connectivity provider. Connectivity can be from an any-to-any (IP VPN) network, a point-to-point Ethernet network, or a virtual cross-connection through a connectivity provider at a co-location facility.

Microsoft uses industry standard dynamic routing protocol (BGP) to exchange routes between your on-premises network, your instances in Azure, and Microsoft public addresses. We establish multiple BGP sessions with your network for different traffic profiles. The advantage of ExpressRoute connections over S2S VPN or accessing Microsoft cloud services over internet are as follows;
Microsoft uses industry standard dynamic routing protocol (BGP) to exchange routes between your on-premises network, your instances in Azure, and Microsoft public addresses. We establish multiple BGP sessions with your network for different traffic profiles. The advantage of ExpressRoute connections over S2S VPN or accessing Microsoft cloud services over internet are as follows:

* more reliability
* faster speeds
Expand All @@ -62,9 +62,9 @@ Bandwidth options available in ExpressRoute are 50 Mbps, 100 Mbps, 200 Mbps, 500

![Express Route Connectivity Model](Assets/ERConnectivityModel.png)

There are three ways to connect customer’s on-premise infrastructure to Azure (or microsoft cloud services) using ExpressRoute, they are;
There are three ways to connect customer’s on-premise infrastructure to Azure (or microsoft cloud services) using ExpressRoute, they are:

1. WAN integration (or call IPVPN or MPLS or any-to-any connectivity)
1. WAN integration (or call IPVPN, MPLS or any-to-any connectivity)
2. Cloud Exchange through Co-Location Provider
3. Point-to-Point Ethernet Connection

Expand Down
Loading