Die Präsentation stellt eine Anleitung dar um eine SharePoint 2013 Entwicklungsumgebung innerhalb von Windows Azure automatisch via PowerShell zu erstellen. Hierbei wird nicht nur der praktische Weg erläutert, sondern zunächst auch auf die Vor- und Nachteile, sowie den Kosten und das Einsparungspotenzial eingegangen.
3. • Foundation year: 2001
• 225 employees (DACH region)
• 8 locations
• One of the biggest Microsoft-
and Unite- (SAP & Microsoft)
partners in Germany
• 60+ of DAX 100 companies
are our costumers
• Consulting Excellence in Microsoft
Enterprise Solutions
• Alegri.eu
4. Wer von euch schleppt noch ein kiloschweres
Notebook mit sich herum?
Richard diZerega: „You‘re doing something wrong!“
5. Vorteile der Entwicklungsumgebung in Azure
• Kosten für einzelne Projekte kalkulieren und prognostizieren
• Azure Pricing Calculator
http://azure.microsoft.com/de-de/pricing/calculator/
• Ermittlung der Kosten im Vorfeld
• Laufzeit der VMs
• Physischer Speicher
• Bandbreite (Ausgang)
• Bessere Zuordnung und Verrechnung
• Kostenstellen
• Projektangebote
6. Vorteile der Entwicklungsumgebung in Azure
Art Stück Preis Kosten
Active Directory
Medium VM (2 x 1.6GHz CPU, 3.5GB RAM)
160 hr 0.135 € / hr 21.6 €
SP 2013
Extra Large VM (8 x 1.6GHz CPU, 14GB RAM)
160 hr 0.269 € / hr 43.04 €
Storage
(25 GB + 150 GB)
Geo Redundant
175 GB 12.39 € / mo 12.39 €
Gesamt 77,03 €
• Kalkulation einer SharePoint 2013 Entwicklungsumgebung in Microsoft Azure, die an
20 Tagen im Monat zu je acht Stunden läuft
7.
8. Vorteile der Entwicklungsumgebung in Azure
• Bessere Kollaboration innerhalb des Teams
• Lokale Entwicklungsumgebungen auf Notebooks sind schwer erreichbar und
können schlecht geteilt werden
• Remote-Desktop-Verbindung schlägt Brücken
• Bessere Ausfallsicherheit
• Lokaler und georedundanter Storage
• Daten können parallel auf anderem Kontinent gespeichert werden
9. Vorteile der Entwicklungsumgebung in Azure
• Flexible Skalierbarkeit von Microsoft Azure
• Anpassung an die momentane Projektsituation besser möglich
• Leichte Erweiterung der Farm
• OWA
• Search Indexserver, Crawlserver, …
• Zusätzliche Rechenleistung und Arbeitsspeicher lassen sich einer VM einfach
hinzufügen
• Virtuelle Festplatten sind schnell erstellt und einem Server zugewiesen
10. Vorteile der Entwicklungsumgebung in Azure
• Bessere Bereitstellung von ShowCase- und Testsystemen
• Temporäre Systeme zur Evaluation von Drittherstellern wie K2, Nintex, …
• Bereitstellung von Q- und Stagingsystem beispielsweise zur finalen Abnahme von
Changes durch den Kunden
12. Einrichtung der Entwicklungsumgebung
Virtual Net
• Active Directory (AD)
Medium VM
Windows Server 2012 R2
(2 x 1.6 GHz CPU, 3.5 GB RAM)
• SP 2013 Farm inkl. Visual Studio
und SQL Server 2012 R2
Extra Large VM
Windows Server 2012 R2
(8 x 1.6 GHz CPU, 14 GB RAM)
• Storage Geo Rendundant
(25 GB + 150 GB)
13. Schritt 1 – Microsoft Azure PowerShell
• Die spätere Installation der VMs in
Microsoft Azure findet ausschließlich
mit PowerShell statt. Dazu ist es
notwendig die cmdlets für Windows
Azure zu „downloaden“.
Microsoft Web Platform Installer
• Eine ausführliche Anleitung findet sich hier:
http://www.windowsazure.com/en-
us/documentation/articles/install-configure-
PowerShell/#Install
14. Schritt 2 – Management-Zertifikat uploaden
• Um alle cmdlets ausführen zu dürfen bzw. sich zu authentifizieren muss
man von seiner aktuellen Maschine aus ein Zertifikat erstellen und es in
Microsoft Azure hochladen.
makecert -sky exchange -r -n "CN=<CertificateName>" -pe -a sha1 -
len 2048 -ss My "<CertificateName>.cer“
• Eine ausführliche Anleitung findet sich hier:
http://msdn.microsoft.com/en-us/library/windowsazure/gg551722.aspx
15.
16. Schritt 3 – Powershell ISE einrichten
• Für ein angenehmeres Arbeiten empfehlt es sich die PowerShell ISE
einzurichten.
• Um die cmdlets für Azure zu verwendet muss das entsprechende Modul
importiert werden bevor man mit einem Script darauf zugreift:
Import-Module "C:Program Files (x86)
Microsoft SDKsWindows
AzurePowerShellAzureAzure.psd1"
17. Schritt 4 – Download der Installationsskripte
• Die Installation-Skripte werden von Microsoft bereitgestellt und müssen
nur noch angepasst werden:
http://gallery.technet.microsoft.com/scriptcenter/Visual-Studio-2013-
Gallery-60724f8b
• Die Installationsprozedur besteht im Wesentlichen aus drei Teilen, die
separat nacheinander gestartet werden müssen.
• CreateVNet.ps1
• CreateNewADDSForest.ps1
• CreateSharePointDeveloperMachineInDomain.ps1
18. Schritt 5 – Anlegen des virtuellen Netzwerks
• CreateVNet.ps1
• Virtuelles Netzwerk für beiden VMs
• Wichtige Parameter:
• vnetConfigurationPath
Name des gewünschten Netzwerks und die IP-Adressen Konfiguration angepasst werden.
• azurePublishSettingsFile
Die publishsettings-Datei bekommt man auf einem der folgenden Wege. Entweder man ruft
diesen Link auf:
https://windows.azure.com/download/publishprofile.aspx oder man gibt folgendes cmdlet ein
„Get-AzurePublishSettingsFile“.
19. Schritt 6 – Anlegen des AD-Servers
• CreateNewADDSForest.ps1
• AD für User- und Service-Accounts von SharePoint
• Wichtige Parameter:
• storageAccountName
• vmName
• vmSize
• adminUserName
• adminUserPassword
• domainName
• domainSPFarmAccountName
• domainSPFarmAccountPassword
• vnetName
• subnetName
22. Thank you...
... see you next time! ;)
E-Mail sebastian.huppmann@alegri.eu
Twitter @hupseb
Mobil +4915153811171
23. Troubleshoot
• Change the PowerShell MachinePolicy Execution Policy in Windows Server
2012 (R2)
http://absolute-sharepoint.com/2014/03/change-powershell-machinepolicy-
execution-policy-windows-server-2012r2.html
• Enable PowerShell Remoting on new Azure VM
http://stackoverflow.com/questions/21561992/enable-powershell-remoting-on-
new-azure-vm
Stamme aus der Nähe von Nürnberg
Entwickle SharePoint Lösungen, in letzter Zeit überwiegend in real-time mit Signal-R, knockoutjs…
Alegri -> Stand mit Redbull hinweisen
Die Dosen in den Goodie bags sind von uns ;)
Ich habe einen Blog, aber da ist im Moment relativ wenig lost
Die entstehenden Kosten können somit direkt im Projekt verrechnet und dem Kunden in Rechnung gestellt werden. Dies macht vor allem Sinn, wenn man an größere Farm-Topologien denkt. Nicht immer kann ein Projekt ausschließlich auf dem Notebook eines IT-Consultants bzw. eines Entwicklers konzipiert und programmiert werden.
Genau diese Erstellen wir später mit PowerShell
Geo Redundanter Storage ist etwas teurer als lokal redundanter Storage
Ich weiß nicht wie es euch geht, aber wenn ich Team mit ein paar anderen Kollegen entwickle, dann höre ich oft den Satz: „Also bei mir funktionierts nicht“.
„Und ich hab wirklich alles richtig deployed.“
Das liegt oft daran das manche Entwicklungsumgebungen verseucht sind von älteren Projekten von Kunden A, B, C. Hier ist mal n bischen mal in der GAC deployed. Hier sind 10 Farm Features vom letzten Projekt noch aktiv, die das Verhalten der aktuellen Arbeit beeinflussen.
Dann muss natürlich erstmal nachgesehen werden an was es liegt. Entweder man steht schnell auf und läuft zum Kollegen rüber oder man macht ne Lync Session. Aber was ist wenn ich gerade keine Zeit habe mir das WehWechen anzusehen. Es wäre doch viel schöner, wenn ich mich via remote desktop verbindung einfach auf seine Entwicklungsumgebung einlogge und mir den Fehler anschaue, wann ich es möchte.
Bei einem unserer Projekte musste wir einen Office Web Apps Server, also einen OWA Server, zusätzlich installieren. Dieser muss auf einer weiteren Server installiert sein. Oder gerade im Bereich Search, kann es passieren, dass man die Topologie erweitern muss zum Beispiel um einen Indexserver oder einem Crawlserver
Prerequirements: Eigener Windows Azure Premium Account oder Co-Administrator Zugriff darauf.
Um zu erfahren wie man einen Co-Administrator einrichtet bitte ich diesen Link zu folgen:http://msdn.microsoft.com/en-us/library/windowsazure/gg456328.aspx
Sicherheitshinweis
Die publishsettings-Datei enthält die Anmeldedaten (unverschlüsselt), die verwendet werden, um Ihre Microsoft Azure-Abonnements und Dienstleistungen zu verwalten. Die bewährte Sicherheitsmethode für diese Datei ist es, sie vorübergehend zu speichern und außerhalb Ihrer Quellverzeichnisse (zum Beispiel im Ordner LibrariesDocuments). Löschen Sie sie, nachdem die Einstellungen importiert wurden. Ein böswilliger Benutzer könnte mit dem Zugang zur publishsettings-Datei Ihre Microsoft Azure-Dienste bearbeiten oder sie gar löschen.
Vorher Status zeigen
Nachher Status zeigen
Verbinden