Quantcast
Channel: DotNetGerman Bloggers
Viewing all 10003 articles
Browse latest View live

Azure News on Friday (KW18/15)

$
0
0

Auch diese Woche gab’s wieder viele Nachrichten zu HDInsight, Azure Machine Learning, DocumentDB, Service Fabric, Media Services und vieles weitere.

DatumNachricht
23.04.Azure Friday Video: Azure PowerShell 101
Guang Yang zeigt in diesem 13-minütigen Video die Grundlagen zu PowerShell und deren Möglichkeiten, Azure zu administrieren.
23.04.Azure Friday Video: Azure Resource Manager 101 mit PowerShell
In diesem 10-minütigen Video zeigt Guang Yang die Konzepte, die hinter Azure Resource Manager stecken, mit denen via PowerShell unter anderem automatisiert neue Umgebungen aufgesetzt werden können.
22.04.Auswertung von SharePoint Nutzungsdaten mit Application Insight
Dieser Azure Blog Artikel beschreibt, wie mit Hilfe von Application Insights das Nutzungs- und Performanzverhalten von SharePoint Sites ausgewertet werden kann.
22.04.Azure AD Application Proxy unterstützt jetzt eigene Domain-Namen
In diesem Active Directory Blog-Artikel werden diese Neuerungen genauer beschrieben.
21.04.Azure Architecture Guidance auf GitHub
Dieser Leitfaden der Patterns & Practices Group geht auf verschiedene Aspekte des Entwurfs Azure-basierter Anwendungssysteme ein. Der Leitfaden steht auf GitHub zum Download zur Verfügung
20.04.Administrations-Client für Azure Media Services
William Zhang stellt ein Werkzeug vor, mit dessen Hilfe Media Services administriert, und überwacht werden können. Es deckt Funktionalitäten wie Live- und On-demand-Streaming, Absicherung von Medieninhalten, Verschlüsselung etc. ab. Das Tool steht auf GitHub zum Download zur Verfügung.
20.04.Ankündigung: Azure Service Fabric – Verteilung und Management von Microservices auf einer bestehenden Cloud-Infrastruktur
Mark Russinovich stellt mit der Azure Service Fabric einen neuen Dienst vor, mit dessen Hilfe Microservices intelligent auf eine bestehende Infrastruktur verteilt, dort ausgeführt, skaliert und verwaltet werden können.
20.04.Ausführen von R-Skripten auf Azure Batch
Karan Batta, Program Manager Azure, zeigt in diesem Blogpost, wie sich R-Skripte skalierbar auf einer Azure-Batch-Clusterumgebung ausführen lassen.
17.04.Cloud Cover Show (174): Big Data with Lara Rubbelke and James Baker
In dieser Episode stellen Chris Risner, Haishi Bai, Lara Bubbelke und James Baker ein konkretes Azure-Projekt vor, bei dem Kafka, Storm, DocumentDB, HBase, Azure Machine Learning, Storage, HDInsight und Power BI zum Einsatz kamen.

Weitere Informationen


Das ewige Leid mit ausländischen Bestellungen und Rechnungen…

$
0
0

Es war mal wieder soweit und ich musste bei Adobe (eigentlich keine kleine Firma) ein Update bestellen.
Dank Firmenkreditkarte war das kein Problem. Und so fing das Leid an:

20.03.2015 –
Ich bestelle ein Update eines typischen Adobe-Tools. Ich gehe den Bestellvorgang durch und schwupps ist der Kauf getätigt.
Alles super. Aber ach… :( ein paar Stunden später kommt die Rechnung und die stimmt nicht. Ich denke ich kaufe bei Adobe-Deutschland, aber dem war nicht so. Ich bekomme das Produkt aus Irland und scheinbar war in meinem Adobe Konto keine Umsatzsteuer ID enthalten. 😳 Mea culpa, mea maxima culpa…
Ich geistere durch mein Konto bei Adobe, kann aber die verfluchte Stelle nicht finden wo die Umsatzsteuer ID einzutragen ist.
Ein Anruf bei der Hotline ergab, dass ich am Besten die Bestellung storniere. Bei der Gelegenheit hat der gute Mann an der Hotline auch die gültige Umsatzsteuer Id eingetragen.

23.03.2015-
Ich habe nun Aufgrund der Empfehlung der Hotline die Bestellung storniert. Natürlich ist die Kreditkarte schon belastet. Nochmal bei der Hotline angerufen und wirklich geklärt, dass eine Umsatzsteuer ID eingetragen ist.
Jetzt wurde eine neue Bestellung aufgegeben. Betrag stimmt schon mal in der Anzeige, aber das hatten wir schon.
Ein paar Stunden später die Überraschung. 😯 Die Rechnung weist die Mehrwertsteuer schon wieder aus, unsere Umsatzsteuer ID steht nicht auf der Rechnung. Wie kann das sein? Und noch besser: Eigentlich ist die Umsatzsteuer in Irland 21%. Die Rechnung zeigt aber 19% Mehrwertsteuer… jetzt ist es aber ganz wild.
Anruf bei der Hotline. Der kann sich das nicht erklären. Die Bestellung ist richtig. Die Umsatzsteuer ID ist eingetragen! Und noch besser: die Kreditkarte wurde nur mit dem Betrag ohne Mehrwertsteuer belastet. Gibt es so was?
Die Fakten in kürze: Rechnung falsch mit deutscher Mehrwertsteuer, Rechnung kommt aus Irland und trotz angegebener Umsatzsteuer ID steht da eine MwSt. Aber bezahlt habe ich die nicht… Ich werde vertröstet. Der Vorgang liegt nun bei der Fachabteilung.

27.03.2015 –
Die Stornierung der ersten Bestellung wurde akzeptiert. Wenigstens schon mal was 😉

29.03.2015 –
Wow. Nach 9 Tagen habe ich wenigstens das Geld für die erste Bestellung zurück.

05.04.2015 –
Meine Buchhaltung wird sauer und möchte eine Rechnung haben. Ich gebe den Vorgang soweit ich ihn habe inkl. falscher Rechnungen weiter.

18.04.2015 –
JAAAA! Eine Reaktion. Ich bekomme eine Email. Betreff meine Bestellung. Anhang: Eine PDF mit mir bereits bekannten FALSCHEN Rechnung. Auch hier 19% Steuer (statt irländischer 21%), die aber wegen Angabe der Umsatzsteuer ID nicht da stehen dürfte… 😡
Kein Text, keine Signatur nichts! Eigentlich eine Frechheit.
Kommt jetzt auch noch eine Kartennachberechnung… oder was? :(

23.04.2015 –
Die Buchhaltung setzt sich mit Adobe wieder in Verbindung. Der Man von der Hotline ist wieder nett und sieht den ganzen Vorgang. Er kann aber nichts machen.
Kurze Zeit später erhalte ich wieder eine Bestätigung, dass mein Vorgang an die entsprechende Fachabteilung weitergereicht wurde. Hatten wir das nicht schon vor 1 Monat.

Mittlerweile Frage ich mich, an wen man sich eigentlich wenden kann, wenn eine Firma eine definitiv falsche Rechnung ausstellt. Laut Auskunft meiner Buchhaltung müsste man ja diesen Betrag verbuchen, denn die Rechnung weißt diesen ja aus. Aber abgebucht wurde ein anderer Betrag. Also haben wir nun Schwarzgeld in der Kasse? :) OK ich bin kein Buchhalter und das ist gut so…

Mein Urteil über Adobe? Am Besten fragt mich keiner…

To be continued…


Copyright © 2010 Martin Richter
Dieser Feed ist nur für den persönlichen, nicht gewerblichen Gebrauch bestimmt. Eine Verwendung dieses Feeds bzw. der hier veröffentlichten Beiträge auf anderen Webseiten bedarf der ausdrücklichen Genehmigung des Autors.
(Digital Fingerprint: bdafe67664ea5aacaab71f8c0a581adf)

Working with Git – Part 3: Custom Merge Tool

$
0
0

Standardmäßig kommt Git ohne ein wirklich geeignetes Merge-Tool. Man könnte zusätzlich TortoiseGit installieren und erhält etwas mehr Unterstützung. Auch das Visual Studio bietet einen nutzbaren Editor um Merge-Konflikte zu beheben.

Da ich mich mit Git aber eher in der Konsole bewege, genauer im Cmder, benötige ich ein Merge-Tool das bequem über die Kommandozeile aufrufbar ist. Zusätzlich habe ich mich an die dreigeteilte Merge-Ansicht gewöhnt, das mir zusätzlich zu meinem und dem Stand des zu mergenden Codes auch noch den ursprünglichen Zustand anzeigt.

Hier hat sich KDiff3 als sehr gutes Werkzeug erwiesen.

Installation

Um KDiff nach der Installation mit Git nutzen können muss es in der globalen Git Konfig registriert werden. Das kann man direkt in der globalen Konfig-Datei machen oder über die Git Config API

Die globale Git Konfig-Datei befindet sich im aktuellen User-Verzeichnis und hat den Namen .gitconfig (mit dem führenden Punkt) Diese Datei ist nun um zwei Einträge zu ergänzen:

[merge]
    tool = kdiff3
   
[mergetool "kdiff3"]
    cmd = \"C:\\\\Program Files\\\\KDiff3\\\\kdiff3\" $BASE $LOCAL $REMOTE -o $MERGED

Der erste Eintrag legt das zu nutzende Tool fest und der zweite den Pfad zur kdiff3.exe, sowie die zu übergebenden Parameter.

Über die Kommandozeilen API ist das etwas einfacher zu machen.

> git config --global --add merge.tool kdiff3
> git config --global --add mergetool.kdiff3.cmd "C:\\Program Files\\KDiff3\\kdiff3" $BASE $LOCAL $REMOTE -o $MERGED

Zur Kontrolle sollte noch git config --global --list aufgerufen werden, um zu sehen ob alle Einträge korrekt gesetzt worden sind.

Ein letzter Test ist der Aufruf von git mergetool:

01_GitMergetool

Benutzung

Die Benutzung ist dann relativ einfach: Sollte es trotz Feature Branches doch mal zu einem Konflikt kommen wird das in der Konsole angezeigt.

01_GitMergeConflict

Der Merge wird nicht committet und die Dateien mit Konflikten werden aufgelistet. Nun muss nur der Befehl “git mergetool” eingegeben werden und die KDiff3 GUI öffnet sich nachdem man die zu mergende Datei in der Konsole ausgewählt hat:

02_GitMergetool

03_s_Mergetool

Für diejenigen die ausschließlich mit SVN oder TFS arbeiten, ist das dreigeteilte Merge-Fenster möglicherweise ungewohnt. Mir allerdings hilft das beim vergleichen der verschiedenen Stände enorm.

Nun kann hier der Konflikt gelöst werden. Nach dem Klick auf Speichern kann das Fenster geschlossen werden. Sollten noch weitere Konflikte aufgetreten sein, kann nun die nächste Konflikt gelöst werden. Sind alle Konflikte gelöst, müssen die Änderungen nun committet werden. In Git wird dieser Commit – auch wenn er manuell vorgenommen wurde – als Merge-Commit gelistet. Dadurch wird er z. B. auf BitBucket leicht ausgegraut dargestellt.

#fotomontag #17

$
0
0

Jeden Montag ein Foto. Der #fotomontag.

Mir gefallen Oldtimer und an diesem bin ich sicherlich schon 20 Mal vorbei gelaufen, hatte aber nie meine Kamera dabei. Vor einigen Tagen war es dann aber soweit und dieses Foto entstand dabei:

Oldtimer

Oldtimer

Bildinformationen:
35mm
ISO 100
f/2.5
1/60

Hast du eine Meinung zum Foto? Ja? Dann lass sie mich doch bitte wissen und bewerte es in den Kommentaren.

The post #fotomontag #17 appeared first on Norbert Eder.

Usefull NuGet Package: Units.Net

$
0
0

Neulich bin ich bei meinen Spielereien mit dem Raspberry PI auf ein nützliches kleines NuGet Package gestoßen, mit dem sich diverse Einheiten relativ einfach berechnen lassen.

Units.Net

https://github.com/InitialForce/UnitsNet
https://www.nuget.org/packages/UnitsNet/

Units.Net liefert weitere Typen für diverse Maßeinheiten und entsprechende Umrechnungen an. Zum Beispiel der Typ Length für Entfernungen aller Art:

var distance = Length.FromCentimeters(120);

Erzeugt mit Zentimetern, liefert das Objekt Eigenschaften um die Distanz in Inches, Feet, Miles, Kilometern und auch Micrometern zu erhalten.

Analog unter anderem der Typ Temperature, mit dem man die Temperatur unter anderem in Einheiten wie Fahrenheit oder Kelvin erhalten kann:

var temperature = Temperature.FromDegreesCelsius(45);

Oder die Geschwindigkeit:

var speed = Speed.FromKilometersPerHour(25);
var knots = speed.Knots;

Insgesamt sind es sicher über 20 Typen auch zu elektrischen Einheiten, Vektoren oder z. b. Kräften. Wer also hierfür spezialisierte Typen haben möchte ist mit dieser Library gut bedient.

Für mich speziell interessant um auf dem RaspberryPI Bewegungs- und Entfernungs-Sensoren auszulesen und deren Werte zu verarbeiten.

dpunkt.verlag übernimmt O'Reilly Deutschland

$
0
0

Die Konsolidierung in der IT-Verlagswelt geht weiter: Ab 1. Juli 2015 übernimmt der Heidelberger dpunkt.verlag die deutschen Titel von O'Reilly und Microsoft Press.

TF900548: An error occurred publishing the Visual Studio test results. Details: ‘Object reference not set to an instance of an object.’

$
0
0

Fehler TF900548

In meiner TFS Schulungsumgebung hatte ich schon paar Mal den Fehler das der Build Prozess anscheinend die Testresults nicht veröffentlichen konnte. Bisher war es an der Stelle ausreichend den Cache Folder auf dem Build Server zu löschen:

Beispiel:
C:\Users\TFSBuild\AppData\Local\Microsoft\Team Foundation\5.0

Wenn der Ordner noch im Zugriff ist kann man kurz den Build Service in der Administration Console stoppen und anschließend wieder starten. Ich gehe davon aus das die Ursache war das ich den TFS auf einen Snapshot zurück gesetzt habe, den Build Server jedoch nicht. Somit waren hier noch alte Daten im Cache.

Workspace Location per TFS API auslesen

$
0
0

In den TFS Schulungen kam häufiger die Frage wie man ermitteln kann welche User einen Local oder Server Workspace verwenden. Seit TFS 2012 kann man pro Team Project Collection bestimmen ob die Benutzer standardmäßig einen Server oder Local Workspace anlegen. (Siehe https://msdn.microsoft.com/en-us/library/bb892960.aspx) Dies hindert jedoch niemanden selbst zu entscheiden welchen Workspace Typ man nutzen will. Jeder kann per Option in Visual Studio über “Manage Workspaces”->”Edit”->”Advanced” selbst entscheiden welche Variante er bevorzugt.

Möchte man herausfinden welche Benutzer welchen Typ verwenden hilft ein wenig .NET Code:

  1. class Program
  2. {
  3.     static void Main(string[] args)
  4.     {
  5.         var teamProjectPicker = new TeamProjectPicker(TeamProjectPickerMode.NoProject, false);
  6.         teamProjectPicker.ShowDialog();
  7.         var teamProjectCollection = teamProjectPicker.SelectedTeamProjectCollection;
  8.         var versionControlService = teamProjectCollection.GetService<VersionControlServer>();
  9.         var workspaces = versionControlService.QueryWorkspaces(null, null, null);
  10.         foreach (var workspace in workspaces)
  11.             Console.WriteLine(“Workspace: {0}nComputer: {1}nOwner: {2}nLocation: {3}nn”,
  12.                 workspace.Name, workspace.Computer, workspace.OwnerDisplayName, workspace.Location);
  13.         Console.ReadKey();
  14.     }
  15. }

Nach der Verbindung zu einer Team Project Collection, werden von dieser alle Workspaces geholt. Danach erfolgt lediglich die Ausgabe von Workspace Name, Computer Name, Benutzer und eben der Location (Server / Local) auf der Console.

Das Beispiel gibt es auch hier zum Download.


BUILD-Konferenz startet heute um 17 Uhr

$
0
0

Auf der größten Microsoft-Veranstaltung des Jahres wird es Neuigkeiten zu Windows, Windows Phone, Hololens und den Entwicklerprodukten geben.

Ein Turbo für die Testausführung

$
0
0

Mit Hilfe von Unit-, Integrations- und Systemtests lässt sich die Funktionalität von einzelnen Methoden, Modulen oder der gesamten Anwendung automatisiert und kontinuierlich überprüfen. Mit zunehmender Komplexität einer Anwendung steigt die Anzahl der Tests sehr stark. Obwohl einzelne Tests zumeist sehr schnell ausgeführt werden, führt die schiere Masse häufig zu einer hohen Gesamtlaufzeit. In der Folge werden Tests lokal oft überhaupt nicht mehr und im Continuous Integration Build oft nur noch eine Teilmenge ausgeführt. Mögliche Fehler werden dann erst stark verzögert im Nightly-Build entdeckt. Gibt’s denn da keine Möglichkeit die Ausführung zu beschleunigen?

Das Visual Studio und der Team Foundation Server ermöglichen es die Ausführung von Tests an einen Test Controller zu delegieren. Dieser wiederum leitet die Anfragen an Test Agents weiter. Abhängig von deren Anzahl allerdings nur eine Teilmenge. Hierdurch kommt es zu einer Parallelisierung der Testausführung und damit zu einer stark verkürzten Gesamtlaufzeit.

Test Infrastruktur

Dabei gilt es zu berücksichtigen das die Test Assemblies sowie die zu testenden Bestandteile zunächst auf alle Agents verteilt und ggf. eingerichtet werden. Dies führt zu einem gewissen Overhead, so dass sich dieses Vorgehen erst ab einer gewissen Menge an Tests lohnt.

Die Umgebung in der die Tests ausgeführt werden wird über eine Test Settings Datei festgelegt. In dieser werden die Variante „Remote execution“ sowie der Test Controller ausgewählt.

Konfiguration der Test Settings

Welche Test Settings Datei wiederum zur Anwendung kommt wird bei einer Ausführung aus dem Visual Studio im Menü unter Test -> Test Settings konfiguriert. Achtung: Dies unterscheidet sich von der Auswahl der Test Settings für Lasttests. Diese werden über das Kontextmenü der Settings Datei ausgewählt.

Auswahl der Test Settings im Visual Studio

Für den Buildprozess wir die Einstellung in der Builddefinition konfiguriert.

Auswahl der Test Settings im Buildprozess

Durch eine Erhöhung der Test Agent Anzahl kann die Ausführungsgeschwindigkeit deutlich gesteigert werden. Dies setzt eine entsprechende Infrastruktur voraus. Wer diese in seiner lokalen Umgebung nicht zur Verfügung stellen möchte kann auf die Cloud ausweichen. Hier lässt sich sehr schnell eine große Anzahl an Test Agents einrichten. Wie eine solche Infrastruktur aufgebaut wird und was dabei zu beachten ist wird in einem der nachfolgenden Blogbeiträge näher beleuchtet.

Ein Turbo für die Testausführung is a post from: AIT Blog

Azure Service Fabric: PaaS auf Microservice-Basis

$
0
0

Azure Service Fabric (Preview)Nachdem Mark Russinovich bereits vor einigen Tagen die neuen Azure Service Fabric Preview angekündigt hatte, war es heute soweit. Im Rahmen der //build/ Konferenz wurde dieser Preview-Dienst für die Öffentlichkeit freigegeben. Diese neue PaaS soll Entwicklern dabei helfen, schneller und unkomplizierter Anwendungen für die Cloud zu konstruieren.

Ist Azure Service Fabric komplett neu?

Die Service Fabric-Plattform wird bereits seit über 5 Jahren bei Microsoft intern eingesetzt und stellt dabei die Basis für einige Microsoft Produkte, wie beispielsweise Azure SQL Database, Azure DocumentDB, Azure Networking, Event Hubs, Intune, Skype for Business (ehemals Lync) und Bing Cortana.

Ein Blick in die Vergangenheit

Bislang hatte man 3 Optionen, als Basis für Anwendungen in Microsoft Azure:

  • Azure App Services (Web Apps, Logic Apps, Mobile Apps und API Apps)
  • Cloud Services
  • Virtual Machines

Somit schwankte man in der Regel zwischen einem automatisierten Model zum Ausrollen und Betreiben von Applikationen, wie man es mit den Azure App Services hat, oder der vollen Kontrolle wie man es bei den Virtual Machines vorfindet.

Meiner Meinung nach, wird immer noch zu häufig zu den Virtual Machines (IaaS) gegriffen, da man es in der Vergangenheit so gewohnt war.
Für die eigenen Anwendungen, ist ein so hohes Maß an Kontrolle meist gar nicht nötig, und man macht sich mit dem dadurch entstehenden Manuellen Aufwand nur unnötig das Leben schwer.

Bei den Cloud Services, hatte man eine gute Kombination aus beiden Welten.
Man hatte ein einfaches Programmiermodell, und die Azure-Plattform nahm einem Vieles ab, und trotzdem konnte man durch ein hohes Maß an Kontrolle die VMs nach seinen Wünschen anpassen.

Das Ganze hatte natürlich auch einige Nachteile…

Cloud Service ArchitekturSchnell war man bei einem Cloud Services bei einer recht komplexen Architektur angelangt.
Diese bestand meist aus Web- und Worker Roles, Queues für die asynchrone Kommunikation zwischen den Rollen, sowie Speicherdiensten, wie  beispielsweise Azure SQL Database oder Azure Storage, da die erzeugten VMs keine eigenen dauerhaften Speichermöglichkeiten boten.
Schnell kam auch ein In-Memory-Cache für die Datenbanken hinzu.

Hinzu kam noch, dass das Ausrollen und Testen eines Cloud Services immer ein wenig Zeit in Anspruch nahm, da aus den Rollen auch erst mal VMs erzeugt werden mussten.

Applikationen auf Microservice-Basis

Bei der Azure Service Fabric muss eine komplexe Applikationen in kleine, eigenständige Module aufgeteilt werden, sogenannte Microservices.

Diese, sowie einige Konfigurationsinformationen, werden dann in einem Applikationspaket verpackt und in der Azure Service Fabric ausgerollt.
Dabei kann so ein Microservice verschiedene Technologieren verwenden, wie z.B. ASP.NET 5, Node.js, JVM oder auch eine einfache EXE-Datei.

Azure Service Fabric ClusterDie Azure Service Fabric nutzt dann ein oder mehrere vom Benutzer erstelle Cluster aus VMs, um diese Microservices zu betreiben.

Dabei können die Cluster sowohl in der Public Cloud oder auch im eigenen Rechenzentrum betreiben werden (Dieser Dienst soll auch Teil des nächsten Windows Server werden).

Auch beim Betriebssystem will Microsoft flexibel sein. Momentan wird zwar nur Windows angeboten. Zukünftig soll es aber auch möglich sein Linux-Cluster zu erstellen.

Die Service Fabric Container, bieten außerdem die Möglichkeit einen lokalen Speichermechanismus zu verwenden, um so die Daten nahe am Dienst und damit im schnellen Zugriff zu haben.
Somit lassen sich auch Stateful-Microservices erstellen.

Eine Architektur einer solchen Anwendung könnte dann wie folgt aussehen:

Azure Service Fabric - Anwendungsarchitektur

Azure Service Fabric - ReplikationssetZu Ausfallsicherheit können im Cluster mehrere Instanzen des Microservices gestartet werden, wobei immer nur eine aktiv ist (Primary).
Die Sekundärinstanzen sind dann Teil eines Replikationssets und erhalten alle Daten der Primärinstanz. Es wird dabei durch Transaktionen sichergestellt, dass mindestens eine Sekundärinstanz den aktuellen Stand der Daten enthält.
Wenn dann die Primärinstanz ausfallen sollte, wird umgehend eine Sekundärinstanz zum neuen Primary erhoben.

Entwicklungsumgebung für die Service Fabric

Wer mit der Azure Service Fabric Preview gleich loslegen möchte, benötigt dazu den Visual Studio 2015 RC, sowie das Service Fabric SDK, was über den Web Platform Installer installiert werden kann.

Da das Service Fabric SDK PowerShell-Skripte für das Testen der Anwendung im Lokalen Cluster ausführen will, muss vorher folgender PowerShell-Befehl im entsprechenden Benutzerkontext ausgeführt werden:

Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Force -Scope CurrentUser

Anschließend kann man sich ein lokales Cluster erstellen:

  1. Ein PowerShell Fenster mit Administrator-Rechten öffnen
  2. In das %programfiles%\Microsoft SDKs\Service Fabric\ClusterSetup Verzeichnis wechseln
  3. Das PowerShell-Skript ./DevClusterSetup.ps1 ausführen

 



Der Beitrag Azure Service Fabric: PaaS auf Microservice-Basis erschien zuerst auf Sascha Dittmann.

//build 2015 – Tag 1

$
0
0

BUILD 2015 KeynoteDie Microsoft //Build/ Konferenz ist gestartet und ich habe das Glück live vor Ort zu sein. In den kommenden Tage möchte ich Euch meine Eindrücke zu den jeweiligen Konferenztagen mitteilen und über einige der Neuigkeiten berichten. Die Konferenz wurde heute von Satya Nadella eröffnet und die Keynote war aus meiner Sicht ein absoluter Hammer und hat mich am Ende sogar sprachlos gemacht. Aber alles der Reihe nach…

Satya Nadella hat alle Teilnehmer herzlich begrüßt und mit Ihnen einen kurzen Rückblick auf die vergangenen 40 Jahre von Microsoft unternommen. Damals wie auch heute ist Microsofts Vision “Empower every person and every organization on the planet to achieve more”. Der grundlegendste Unterschied zu damals ist wohl, dass Microsoft offener geworden ist und sogar Brücken zu anderen Plattformen und Technologien baut. Laut Nadella bietet Microsoft die perfekte Umgebung, um diese Vision zu erreichen.

build15_platformOpportunity

Die Microsoft Cloud soll als Klebstoff zwischen den Welt agieren – “no matter what kind of developer you are” (S. Nadella), Office 365 soll neue Wege für Produktivität und Geschäftsprozesse ermöglichen und Windows 10 soll eine neue Ära für ganzheitliches Betriebssystem einläuten.

Mit Microsoft Azure bietet Microsoft eine Plattform, um moderne Applikationen zu erstellen wie es vom heutigen Markt erfordert wird. Die hauseigenen Technologien stehen dabei zwar immer noch an erster Stelle, aber “fremde” Plattformen wie Linux oder Mac werden nicht mehr länger ignoriert, sondern zunehmend eingebunden.

build15_azure

Visual Studio Code

Um diese neue Offenheit zu unterstreichen, hat Microsoft heute einen neuen Editor veröffentlicht. Visual Studio Code steht ab sofort zum Download bereit und bereichert die Visual Studio Familie.

build15_vscode

Visual Studio Code ist ein cross-platform Editor, der auf Windows, Linux und Mac läuft und zahlreiche Sprachen unterstützt. Scott Hanselmann hat live on stage eine .NET Applikation auf einem Ubuntu System in VS Code editiert und ge-debugged. Damit wird die Visual Studio Plattform zu einem Entwicklungswerkzeug für jeden Entwickler “Best-in-class tools for every developer”.

Universal Windows Platform Apps

Und als ob das noch nicht schon genug Offenheit wäre, hat Microsoft noch einen oben drauf gesetzt. Mit der Universal Windows Platform ist es möglich Android und iOS Apps in und für Windows zu entwickeln, in dem der geschriebene Java/C++ oder Objective C Code in Windows Universal Apps portiert und unter Windows 10 zur Ausführung gebracht werden kann. Ob das allerdings wirklich so einfach funktioniert, muss erst noch bewiesen werden.

build15_uwpa

Microsoft Holographic Platform

Ein weiteres Highlight der Keynote war definitiv die Ankündigung der Microsoft Holographic Platform und die anschließende Demonstration von Microsoft Hololens. Die Microsoft Hololens ist ein Gerät mit der Hologramme in den Alltag projiziert werden können und somit eine “mixed reality” erschaffen. Das Gerät soll dabei wie jedes andere Windows 10 Device Universal Windows Apps ausführen können. Ob das wirklich stimmt beschreibt mein MVP-Kollege Marco Richardson auf seinem Blog– er durfte das nämlich heute schon ausprobieren.

Was in der Keynote präsentiert wurde war auf jeden Fall atemberaubend. Anwendungen die frei im Raum zur Ausführung gebracht werden können, Roboter die holographisch erweitert und per Gesten- und Sprachsteuerung angepasst und gesteuert werden können, haben mich sprachlos gemacht. Anfangs hielt ich alles noch für einen Fake, aber ich wurde eines besseren belehrt.

build15_hololense

Als einer von wenigen Besuchern durfte ich an einer limitierten Hands-on Demonstration teilnehmen und die Hololens-Brille ausprobieren. In einem Hotelzimmer habe ich eine private Einweisung für Hololens bekommen und zusammen mit einem “Trainer” einige Szenarien durchführen können. Das ist echt der Hammer! Virtuelle Gegenstände irgendwo im Raum platzieren und einmal drum herum laufen und das Objekt in 3D vor sich sehen. Oder Gegenstände in einem größeren Szenario per Sprache und Geste verändern, klonen und verschieben. Man stelle sich vor, ein Architekt könnte so zukünftig ein Haus oder ein Ingenieur sich einen 3D-Bauplan einer Maschine erschaffen.

Weitere Announcements

Wie bereits gesagt kann ich nicht alle Announcements des Tages zusammenschreiben, es sind einfach zu viele. Allerdings möchte ich auf diese hier noch aufmerksam machen:

  • Visual Studio 2015 RC und Team Foundation Server 2015 RC sind verfügbar
  • Visual Studio & Team Foundation Server 2013 Update 5 RC
  • TFS Build v.Next
  • Release Management v.Next Features für TFS 2015 Update 1
  • Visual Studio Online Extensions Team Calendar

Fazit

Es war ein wirklich ereignisreicher Tag auf der //Build mit unglaublich vielen Eindrücken. Fühlt Euch frei mir einen Kommentar zu hinterlassen, wenn Ihr etwas genauere Infos haben wollt. Verfolgt Channel 9, dort werden alle Sessions aufgezeichnet. Meine Favorites für heute sind die Keynote und die Release Management Session von Donovan Brown.

[1] http://channel9.msdn.com/events/build/2015?Media=true&wt.mc_id=build_hp

[2] https://code.visualstudio.com/

[3] http://www.microsoft.com/microsoft-hololens/en-us

[4] http://blogs.msdn.com/b/bharry/archive/2015/04/29/visual-studio-and-team-foundation-server-at-build-2015.aspx

Azure-Neuigkeiten von der BUILD 2015

$
0
0

Gestern gab es auf der BUILD 2015 ein Feuerwerk an Announcements zu allen Bereichen der Microsoft Plattform. Satya Nadella gruppierte in seiner Keynote die Ankündigungen in drei Kategorien: Azure, Office und Windows. Die Nachrichten zu Azure möchte ich hier kurz zusammenfassen:

  • Neuerungen in Azure SQL Database (inkl. Elastic Pool)
  • Azure Data Lake
  • Azure SQL Data Warehouse
  • Azure Service Fabric
  • Azure Resource Manager
  • Neuerungen in Azure Storage
  • Azure SDK 2.6 verfügbar

Neuerungen in Azure SQL Database

SQL Database Elastic Pool

Elastic Pool richtet sich primär an SaaS-Anbieter, die eine größere Zahl an Datenbanken (z.B. eine DB pro Kunde) betreiben. Bislang muss für jede einzelne Datenbank individuell festgelegt werden, welche Speichergrößen- und Performanz-Ziele sie maximal benötigt. Daraus ergibt sich dann die Leistungsstufe (B, S0, S1, S2,…). Dies hat zur Folge, dass die einzelnen Datenbanken für „Peak-Szenarien“ ausgelegt und damit über einen längeren Zeitraum betrachtet tendenziell überprovisioniert werden, da diese Peaks ja nicht immer bestehen und die Datenbanken auslasten.

Mit Elastic Pools besteht nun die Möglichkeit, Datenbank-Pools zu definieren und für diese gemeinsame Speichergrößen- und Performanz-Ziele festzulegen. Diesen Pools können dann Datenbanken (auch während des laufenden Betriebs) hinzugefügt und auch wieder herausgelöst werden. Datenbanken eines Pools teilen sich dann die definierten Kapazitäten, wobei für einzelne Datenbanken auch maximale Kapazitätsnutzungen definiert werden können, womit vermieden wird, dass eine Datenbank wegen eines Peaks alle anderen Datenbanken des Pools komplett lahm legt.

Eine Beispielrechnung: Gegeben sei ein Pool, für den festgelegt wird, dass allen zugehörigen Datenbanken 200 Gigabyte Speicher und 200 eDTUs (elastic database throughput units = Performanzmetrik für SQL Datenbanken) zur Verfügung stehen. Diesem könnte man beispielsweise 10 Datenbanken zuweisen und festlegen, dass jede Datenbank maximal 50 eDTUs nutzt (was auf DTUs bezogen einer S2 Datenbank entspricht). Damit könnte jede Datenbank im Schnitt 20 Gigabyte Größe haben und 20 DTUs nutzen (entspricht auf DTU bezogen einer S1 Datenbank), bei Bedarf aber auch mehr bekommen. Preislich sähe dies wie folgt aus (Preise aus dem Pay-as-you-go-Modell!):

  • Kosten nach neuem Modell: 200 eDTU x 0,0023 €/eDTU/h + 10 Datenbanken x 0,0013 €/DB/h * 744h = 351,91 €
  • Kosten nach altem Modell: 5 Datenbanken (S1) + 5 Datenbanken (S2) = 391,34 €

Transparend Data Encryption

SQL Database erhält damit die Funktion des SQL Servers, mit dem Kundendaten in SQL Database bei der Speicherung verschlüsselt werden können.

Fulltext-Search verfügbar in SQL Database

Ab sofort ist (auch in bestehenden) Datenbanken die Volltext-Suche in text-basierten Datenfeldern möglich.

Weitere Informationen unter:

Azure Data Lake

Data Lake ist ein Repository in dem beliebige Arten von Daten zentral gespeichert, verwaltet und Analysewerkzeugen zur Verfügung gestellt werden können. Dabei können quasi beliebige Datenmengen verarbeitet werden. Data Lake hat folgende Eigenschaften:

  • Hadoop File System kompatibel zu HDFS, womit Data Lake als Datenquelle in HDInsight, Hadoop etc. genutzt werden kann.
  • Größte Datenvolumen (im Petabyte-Bereich) und hoher Durchsatz
  • Integrierbar mit bestehenden Daten-Lösungen im Unternehmen und weiteren Azure Services wie Active Directory, HDInsight, Data Factory etc.

Weitere Informationen unter:

Azure SQL Data Warehouse

Azure SQL Data Warehouse ist ein elastischer Data-Warehouse-as-a-Service Dienst, mit dessen Hilfe sehr schnell massiv parallele Data-Warehouse-Infrastrukturen aufgebaut und skaliert werden können. Die Daten können verschiedenen weitere Azure Services wie HDInsight, Azure Machine Learning, Azure Data Factory und PowerBI zur Verfügung gestellt werden.

Azure Service Fabric

Ab sofort steht eine Developer Preview der Azure Service Fabric zur Verfügung. Mit der Service Fabric lassen sich Microservice-basierte Anwendungen flexibel auf einen Pool von Compute-Ressourcen verteilen und automatisch managen. Die eingesetzten Ressourcen können zustandsbehaftet oder zustandslos sein. Service Fabric überwacht den Ressourcen Pool, übernimmt die Verteilung der Services-Instanzen auf die Ressourcen, verwaltet Failover-Szenarien (bei Ausfall einer Ressource werden die betroffenen Instanzen neu auf die verbleibenden Ressourcen verteilt und die ausgefallene Ressource ersetzt).

Weitere Informationen:

Azure Resource Manager

Ab sofort ist es im Rahmen einer Public Preview möglich, Azure Compute, Networking und Storage Ressourcen über den Azure Resource Manager bereitzustellen. Mit Hilfe des Ressource Managers können VMs, Virtual Networks, Storage Accounts, NICs, Loadbalanver und andere PaaS Services wie App Service (mit Web Apps, API Apps, Logic Apps, Mobile Apps) und SQL Databases über ein einheitliches Anwendungs- und Beschreibungsmodell provisioniert werden.

Der Resource Manager unterstützt darüber hinaus folgende Funktionen:

  • Tags zum Identifizieren von Ressourcen (um bspw. Kosten für Ressourcen eines Tags zu bestimmen)
  • Rollenbasierte Zugriffskontrolle auf Ressourcen
  • Eine JSON-basierte Beschreibungssyntax für Ressourcen
  • Parametrisierung von Ressourcen, so dass diese zum Deployment-Zeitpunkt konfiguriert werden können.

Weitere Informationen:

Neuerungen Azure Storage

Premium Storage allgemein verfügbar (GA)

Azure Premium Storage ist jetzt allgemein verfügbar. Damit steht ein hoch-performanter Storage (SSDs als Speichermedium, bis zu 32 TB, bis zu 64.000 IOPS pro VM) zur produktiven Nutzung bereit.

Storage Client Library für C++ (v1.0.0)

Auch für C++-Programmierer gibt es jetzt eine API, um mit Azure Storage zu arbeiten. Hierüber können alle wichtigen Funktionen (Anlegen, Lesen, Löschen etc.) in den relevanten Storage-Bereichen (Queues, Blobs, Tables etc.) genutzt werden.

Technischer Support für Azure Files

Für Kunden mit entsprechenden Support-Verträgen besteht jetzt die Möglichkeit, Support für Fragen rund um Azure Files in Anspruch zu nehmen.

Client-seitige Verschlüsselung (Preview)

Die Azure Storage Client Library für .NET unterstützt jetzt (endlich) auch client-seitige Verschlüsselung von Inhalten, die im Azure Storage abgelegt werden sollen. Dies geschieht mit nur wenigen Zeilen Code im Client.

Xamarin Client Library (Preview)

Für Xamarin gibt es nun auch eine Azure Storage Client Library. Damit wird es möglich, Azure Storage aus einer gemeinsamen C#-basierten Codebase für iOS-, Android- und Windows-Store-Apps heraus zu nutzen.

Informationen zur Roadmap

  • Append Blob wird in Zukunft Page- und Block-Blobs ergänzen. Dieser ist auf schnelle Append-Operationen hin optimiert.
  • Zeitnah wird eine iOS Client Library als Preview verfügbar sein.
  • Shared-Access-Signatures werden um die Funktionen “Storage Account SAS”, “Protocol SAS” und “IP Restricted SAS” erweitert.
  • Azure Import/Export wird ab Sommer 2015 auch in Japan und Australien verfügbar sein.

Weitere Informationen:

Azure SDK 2.6 verfügbar

Azure SDK 2.6 steht ab sofort zum Download bereit. Dieses enthält unter anderem folgende Funktionen/Erweiterungen:

  • Tools für Azure Resource Manager
  • Verbesserte Diagnosefunktionen für Cloud Services
  • Werkzeuge für App Service

Weitere Informationen

Rückblick auf Tag 1 der Build 2015

$
0
0

Am ersten Tag von MIcrosofts Konferenz gab es Neuigkeiten zu Apps, Windows, Visual Studio auf anderen Plattformen, Azure und Hololens. Eine Zusammenfassung der Highlights.

Die Keynote der //build 2015, und was nicht erzählt wurde

$
0
0

Mit Kino Events in Wien, Linz und Graz (Schnell und einfach zum Microsoft //build Keynote-Streaming!) haben wir gestern gemeinsam mit vielen von Euch einen super spannenden und auch für uns überraschenden Abend verbracht.

WP_20150429_17_10_44_Pro

Unser "The Future isn´t written yet" Roll-Up hat noch nie so gut zu einer Veranstaltung gepasst wie gestern:

  1. Web sites
  2. .NET and Win32
  3. Android Java/C++ (Universal Windows Platform Bridge for the Android Runtime)
  4. iOS Objective C (Universal Windows Platform Bridge for iOS)
  • Kostenlose Developer Tools wie Visual Studio Code" einem leistungsstarken, einfachen Code-Editor für Linux, Mac und Windows.
  • offizieller Name für Project Spartan (Microsfot Edge)
  • Neuerungen bei Hololens
  • … und, und, und, ...
  • Gestern wurde eine wahre Lawine an Neuerungen losgetreten die ich hier gar nicht alle aufzählen kann. in einem Wort zusammengefasst: Legendär!!

    Wer nicht dabei war, sollte sich unbedingt eine der folgenden Ressourcen ansehen:

    Wir hatten in der Pause nach der Keynote noch einige angeregte Gespräche mit begeisterten Teilnehmern, und auch unser Surface 3 Stand war stets umlagert und wurde regelrecht gestürmt.

    WP_20150429_20_39_01_Pro

    Alles in allen ein Super Cooler Event, und vielen Dank an alle Beteiligten!!

    Ah, ja. Da war doch noch was. Was auf der Keynote nicht erzählt wurde und dennoch super spannend ist: Gestern wurde auch die “Windows 10 IoT Core Insider Preview” zum Download freigegeben. Alle die im Besitz eines Raspberry Pi 2 sind können diesen jetzt auch mit Windows 10 betreiben. mehr zu diesem Thema dann noch später. Nur eines noch. Ihr könnt noch immer einen Raspberry Pi 2 Model B geschenkt bekommen!!

    PS: Auch bei der Ignite Keynote am Montag könnte noch einiges kommen. Wer also am Montag noch dabei sein möchte: Microsoft Ignite Live-Streaming: Zeit Feuer zu fangen!


    Neue Preview-Version für Windows PowerShell 5.0

    $
    0
    0

    In dem aktuellen Windows-10-Preview (Build-Nummer 10074) ist auch eine neue Vorabversion der PowerShell 5.0 enthalten.

    //build 2015 – Tag 2

    $
    0
    0

    build15_logoDer zweite Tag der //build/ Konferenz war spannend, aber weit weniger aufregend. Durch die Keynote des Tages habe Steve Guggenheimer und John Shewchuk geführt und haben den Entwicklern das enorme Potential Ihres heutigen Eco-Systems aufgezeigt. David Treadwell hat die Universal Windows Platform detailliert vorgestellt und Joseph Shirosh hat über die Macht von Informationen philosophiert.

    Die heutige Keynote bestand aus sehr vielen Code Beispielen zur Universal Windows Platform und sollte verdeutlichen wie einfach es ist, mit einer einzigen Code-Basis verschiedene Device Größen anzuprogrammieren. Microsoft hat laut Steve “Guggs” Guggenheimer inzwischen verstanden, dass es wichtig ist, die Entwicklungsplattform über Szenarien zu erklären.

    Developer Ecosystem

    Er sagt, es gäbe unendlich viele Möglichkeiten für jeden Einzelnen, es gehe nur noch darum die Möglichkeiten der Plattform zu nutzen.

    build15_devConv

    Als Beispiel möchte ich ein Projekt aus der “Media and entertainment” conversation erwähnen, weil ich das ziemlich cool finde. Das Projekt Propellerhead ist ein Kollaborationsportal für Künstler weltweit, um miteinander Musik zu machen. Die App nutzt die neuen APIs der Plattform und die Power der Microsoft Cloud, um die einzelnen Artefakte der Künstler zu verbinden und zusammenzufügen.

    David Treadwell, Cooperate Vice President bei Microsoft, demonstrierte außerdem die Möglichkeiten der Universal Windows Plattform. Eine Universal Windows App soll mit einer Code-Basis auf allen erdenklichen Geräte-Klassen (IoT-Devices, Desktop, Mobile, XBox, etc.) ausführbar sein.

    build15_UWP

    Angefangen bei kleinen Displays von Smartphones bis hin zu großen Displaytypen wie beim Surface Hub, es soll immer eine einheitliche User Experience ermöglicht werden. Und um das alles möglichst einfach für die Entwickler zu halten, verspricht Microsoft folgendes:

    • eine einheitliche Design-Sprache und ein einheitliches Control-Set
    • eine API und ein App-Package
    • einfaches Entwickeln und Debuggen in Visual Studio
    • einen Distributionspfad für alle Geräteklassen

    Microsoft hat ein ehrgeiziges Ziel: in weniger als zwei Jahren eine Milliarde Windows 10 Devices auf dem Markt zu haben. Und das wird nur gelingen, wenn Entwickler hochwertige und innovative Anwendungen schreiben, die dem Benutzer zum Umstieg auf das neue Windows 10 Eco-System bewegen. Ich finde die Idee genial, auf allen meinen Windows Geräten die gleiche App bedienen und mich überall gleich gut zurechtfinden zu können. Hoffentlich klappt es auch – wir werden sehen.

    [1] http://channel9.msdn.com/events/build/2015?Media=true&wt.mc_id=build_hp

    Azure News on Friday (KW19/15)

    $
    0
    0

    Auch diese Woche gab’s wieder viele Nachrichten zur Data Factory, SQL Database, Azure Storage, Service Fabric, Application Insights, Blob Storage, DocumentDB und viele weitere Azure Services. Hier sind nähere Infos dazu…

    DatumNachricht
    30.04.Azure Friday: Azure Blob Storage 101
    In dieser neuen Folge von Azure Friday dreht sich alles um Azure Blob Storage. Gezeigt wird eine einfache App, die auf Blob Storage zugreift, und mit Fiddler werden die REST-Aufrufe dahinter gezeigt.
    30.04.Application Insights unterstützt jetzt auch ASP.NET v5 Anwendungen
    Dieser Blogpost beschreibt, wie’s geht.
    30.04.Unterstützung von Partitionierungen in DocumentDB
    Dieser Artikel zeigt, wie mit dem .NET SDK Partitionen bei der Nutzung von DocumentDB eingesetzt werden können.
    29.04.BUILD2015-Konferenz mit zahlreichen Ankündigungen zu Azure
    29.04.Azure SDK 2.6 verfügbar
    Downloads für VS2012, VS2013, VS2015 RC
    28.04.Verbesserungen im Azure Preview Portal (April 2015)
    Dieser Artikel beschreibt, welche Verbesserungen es im neuen Azure Portal im letzten Monat gegeben hat.
    28.04.MVA-Kurs: Exploring Microservice Architecture
    Am 5. Mai gibt es einen kostenlosen Online-MVA-Kurs zum Thema “Exploring Microservices in Docker and Microsoft Azure”.
    27.04.Policy Expressions in Azure API Management
    Via API Management lassen sich bestehende APIs vermarkten, betreiben, Aufrufe überwachen, steuern, abrechnen etc. Bevor API Management Aufrufe an die API bzw Rückgaben an den Aufrufer weiterreicht, können diese über Policys gesteuert (gefiltert, konvertiert, etc) werden. Dieser Blog-Artikel geht speziell auf diesen Aspekt von API Management ein.
    24.04.Beispielszenarien für Data Factory Deployments
    In der Data Factory können neuen Konfigurationen jetzt auf Basis bestehender Beispiel-Deployments erstellt werden.

    Rückblick auf Tag 2 der Build 2015

    $
    0
    0

    Am zweiten Tag von Microsofts Konferenz gab es keine großen Neuigkeiten mehr, sondern im Wesentlichen noch Details zu den Ankündigungen den ersten Tages.

    Links for 2015-05-02 [del.icio.us]

    $
    0
    0
    Viewing all 10003 articles
    Browse latest View live