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
Related
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
We are a small company and are still unsure how to start all this azure stuff.
Ok, we are clear on the technicalities like table storage and queues and all the that stuff, what we don't know about at all is how to set up the organization around developing for our developers. Which/how many azure accounts, shared or individual ones.
So far we've done classic windows development, so everyone has his environment, unit tests run either locally or on the build server (after pushing to mercurial or git), deployment from the build server.
The thing is that we want to use Azure not just as a hoster, but the full set, like blob/document/table storage, event hubs, storage queues, ReliableActors and everything. Things we can't do locally.
What's the appropriate way for azure then? There are about 20 to 30 developers and most have the enterprise msdn subscription.
What is a "company or organisation" account for? Should developers have their own accounts? Does DevOps need their passwords for all the bamboo or jenkins build stuff?
I went through this recently and I can share a few tips here since I'm also not aware of a DevOps specific platform to share this on StackExhange.
As far as organizing your subscriptions go look at Azure Pay-As-You-Go Dev/Test Subscriptions link
or Enterprise Dev/Test link if you are an Enterprise Agreement customer. These are aimed at development teams, you get discounted rates since you don't pay for software licenses that are already included in your MSDN subscription.
It is best to use individual developer subscriptions for exploration, POC etc while running your main dev workload in the Dev-Test subscription. It looks tempting to try and save a buck by spreading the work across multiple MSDN subscriptions to use the credits but I wouldn't recommend it. It becomes a pain to manage 20~30 subscriptions and they can run out of credits and things stop working. If you remove the spending limit on all the subscriptions you run the risk of racking up a huge bill accidently if multiple devs leave VMs on or add premium storage to VMs etc.
As far as DevOps go, use RBAC and Azure Active Directory to manage access and certificates for your DevOps tooling, build servers, release management etc don't use individual developer credentials for this.
And I agree with the other comments, get in touch with MS as well, this is just the tip of the iceberg but it will get you started.
I'm an MSDN subscriber beginning a personal project that will involve WPF, Web Services, and SQL Server. I'm planning on using my MSDN benefits to host the Web Services on Azure and the database on SQL Azure.
I was going to run TFS on my own dev machine, but then heard about Microsoft's Team Foundation Service cloud offering. Also, it appears that I could run my own instance of TFS on Azure. At this point I'm thinking that Team Foundation Service is the best option because:
I'd prefer to have TFS in the cloud over my main dev machine so that I can access it anywhere and not have to worry about having to back it up.
I'd rather not have to worry about setting up and administrating TFS on Azure if I'm not getting anything extra out of it.
I'm not exactly sure if setting up and using TFS on Azure will be free (or continue to be free) with my MSDN Subscription.
Has anyone experienced any major drawbacks to using Team Foundation Service, like a major loss of flexibility or functionality?
I've been using TFS Services since it has been in preview for my personal work - and I haven't had any limitations in terms of source control/build services. The service is fairly comparable to the full TFS server; but doesn't include the more advanced features such as test automation.
The pricing page also states that service will continue to remain free for MSDN subscribers: https://tfs.visualstudio.com/en-us/pricing/information/
Before TFSPreview existed, I asked some people in the know at MS about running TFS in Azure and I was told that there are some non-trivial problems with running TFS on a virtual machine on Azure. I believe this is why MS are offering TFS as a service rather than as a template for a virtual machine. As such, if you want to use TFS and you want it to be in the cloud, I'd definitely use the TFS Preview.
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.
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.