Neno Loje eröffnet den dritten Tag der BASTA! Spring 2017

DevOps und Microsoft: es weht ein neuer Wind

von Mascha Schnellbacher

Vergleicht man das Microsoft von heute mit dem Microsoft von vor ein paar Jahren, mag man manchmal kaum glauben, dass es sich um die gleiche Firma handelt: eine ganz neue Offenheit im Hinblick auf Technologien und Prozesse. Ein ganz neues Selbstverständnis und Mitarbeiter, die das neue Mindset verkörpern – was in letzter Konsequenz auch zu Produkten führt, die die neue Vision widerspiegeln.

Neno Loje (freiberuflicher Berater) geht in seiner Keynote „DevOps und Microsoft: es weht ein neuer Wind“ auf Themen wie Agilität, Open Source, Git und DevOps ein. Besonderes Augenmerk liegt darauf, wie diese Themen Einzug in die Visual-Studio-Produktpalette und den Alltag von Entwicklern halten.

Gerade in den letzten zwei Jahren hat sich im Microsoft-Umfeld einiges getan: Mit Windows 10 hat sich die Auslieferungsgeschwindigkeit von Software geändert – wie auch das Konzept. Des Weiteren wird nun intern auf ein Versionsverwaltungssystem gesetzt: Git. Auch der Wandel in Richtung Open Source – Stichwort Microsoft <3 Linux – ist erstaunlich. Zudem wird ein immer größerer Schwerpunkt auf DevOps gelegt, denn

DevOps ist die nächste Stufe der Agilität.

Das alles fällt mit dem Amtsantritt von Satya Nadella als CEO zusammen, der die Unternehmenskultur quasi von Grund auf umgekrempelt hat. Früher sah es bei Microsoft eher folgendermaßen aus:

image2-1

Microsofts Teamstruktur früher (Mitte rechts)

Mittlerweile ist Zusammenarbeit das Wort der Stunde:

If you want to go fast, go alone. If you want to go far, go together.

Dieses Engagement spiegelt sich auch in der Nutzung von VSTS wider: In zwei Jahren stieg die Anzahl der aktiven Nutzer um das Vierfache an (von knapp 17.000 auf 62.000 User).

Mit dem agilen Arbeiten begann Microsoft schon vor mehr als zehn Jahren – doch so richtig agil war das alles noch nicht. Die Auslieferung von neuen Features bzw. Fehlerbehebungen konnte da schonmal zwei Jahre dauern – und die Bugraten blieben enorm hoch. Nicht besonders agil also. 2011 startete dann das Umdenken hin zur sog. Aligned Autonomy. Das brachte eine Änderung der Teamstruktur hin zu mehr autonomem Arbeiten.

Thorsten Kansy gibt einen Überblick

SQL Server 2016: Neuerungen für Entwickler

von Patricia Stübig

Seine Session auf der BASTA! Spring 2017 widmet Thorsten Kansy den neuen Funktionalitäten des Microsoft SQL Server 2016. Im Detail stellt er Neuerungen wie Row-Level Security, Dynamic Data Masking und JSON Support vor und demonstriert ihre praktische Anwendung.

Manfred Steyer über Performance-optimierung

Hochperformante Anwendungen mit Angular 2

von Patricia Stübig

In seiner Session ‚Durch die Schallmauer‘ spricht Manfred Steyer über hochperformante Anwendungen mit Angular 2 und fragt:

Wie können wir Angular dazu bringen, dass es sich immer nur den Part vornimmt, in dem ein Ereignis auftritt?

Anhand einer Demo stellt er verschiedene Ansätze der Performanceoptimierung wie beispielsweise Template-Compiler oder den Einsatz von Immutables vor.

Jeden Tag ein Tutorial gewinnen

entwickler.tutorials vorgestellt

von Mascha Schnellbacher

Sie haben es sicher schon gesehen: unseren entwickler.press-Stand mit spannenden Magazinen und Büchern – betreut von unseren charmanten Lektoratskollegen. Daneben befindet sich unser entwickler.jobs-Stand, an dem zahlreiche Jobmöglichkeiten – sowohl für Sie als Entwickler als auch für Sie als Unternehmen – auf Sie warten.

Und damit nicht genug: Software & Support Media startet ab März mit entwickler.tutorials eine Videotutorial-Plattform für professionelle Softwareentwickler. Nutzer erhalten mit den Tutorials ein intensives Training, durchgeführt von unseren praxiserfahrenen Experten.

Bei uns am Stand können Sie an jedem Konferenztag ein Tutorial gewinnen – kommen Sie vorbei und schauen Sie sich um! Die Auslosung erfolgt jeweils während der zweiten Kaffeepause; die Gewinner werden auch per Mail benachrichtigt.

entwicklertutorials

Thomas Schissler über Kulturwandel und Agilität

„Das machen wir doch schon immer so“

von Patricia Stübig

Ein Teilnehmer des Labs ‚Kulturwandel für mehr Agilität“ während der Vorstellungsrunde:

Wir sind hier, um zu lernen, wie wir die Erwartungen, die an uns herangetragen werden, optimal erfüllen können.

Thomas Schissler definiert das Problem, das Teams oder Unternehmen bei der Umstellung auf agiles Arbeiten häufig haben: Die Beteiligten reden oft aneinander vorbei. In interaktiver Runde vermittelt er den Teilnehmern das Handwerkszeug, das sie brauchen, um die anfängliche Begeisterung zu erhalten und nachhaltige Agilität zu schaffen.

Pieter Buteneers auf der BASTA! Spring 2017 über ML & AI

Machine Learning – von Fehlschlägen und Erfolgen

von Mascha Schnellbacher

Den zweiten Konferenztag der BASTA! Spring 2017 eröffnete Pieter Buteneers mit der Keynote „Machine Learning: From Misery to Mastery“. Machine Learning ist eins der Buzzwords der Stunde – beinahe jeder spricht darüber, einige setzen es ein, wenige forschen in diesem Bereich und viele fürchten sich davor.

Aber warum eigentlich? Was hat es mit diesem Hype auf sich? Weshalb sollte man in seinem Projekt auf Machine Learning setzen?

Buteneers erklärte exemplarisch anhand seiner eigenen Erfahrungen bei der Entwicklung von Systemen zur Anomalieerkennung, wie er selbst ML einsetzt. Dabei ging er vor allem auch auf das ein, was nicht (auf Anhieb) funktionierte. Eines der größten Probleme war das Festlegen und Aufspüren von Anomalien, da die meisten klassischen Vorgehensweisen nicht funktionierten.

Was also tun? Buteneers setzte auf Machine Learning – aber auch das funktionierte nicht. Denn ML-Systeme lernen durch Nachahmen, und Anomalien sind so seltene Ausnahmen, dass ein System das nicht voraussehen kann. Also doch kein ML? Doch – man muss es nur möglichst einfach halten.

Keep it simple stupid!

Buteneers wies darauf hin, dass Zeit besonders wichtig ist. Man muss also anhand gegebener Daten für die Zukunft schätzen, wie diese sich weiterentwickeln. Daraus lassen sich dann normale Ereignisse und Anomalien ablesen.

Der Schlüssel zum Erfolg liegt im Verständnis der vorliegenden Daten sowie im Over-Fitting. Ein Rat zum Schluss: Menschen sind nicht perfekt, also kann es Machine Learning auch nicht sein:

Keep calm, cause perfection doesn’t exist.

Und was kann Machine Learning nun eigentlich leisten?

  • Predictable prediction (z. B. Wettervorhersage)
  • Modelling/Regression (z. B. Self-Driving Car mit Sensoren)
  • Classification (z. B. Gesichts-/Spracherkennung)

ML kann eigentlich alles, was Menschen auch können – solange genügend Daten vorliegen.

Constantin Klein über Datenspeicherung und -analyse

Big Data – mehr als nur ’ne Menge Daten

von Patricia Stübig

In der Session ‚Data Platform für die Cloud‘ spricht Constantin Klein über Datenplattformen und Big Data. Er moniert: Bei Big Data gilt die größte Aufmerksamkeit immernoch dem Volumen.

Big Data heißt für viele im Wesentlichen nur Big Data.

Stattdessen sollte der Fokus auf die Faktoren Variety und Velocity, also Vielfalt und Geschwindigkeit, erweitert werden.

Roman Schacherl über die Vorteile der Cognitive Services für Bots

Grüß‘ Bot!

von Patricia Stübig

Roman Schacherl resümiert seine Session zu Bots und Cognitive Services:

Software muss intelligent sein. Und Software kann intelligenter sein, als sie bisher ist.

Eindrücke vom Agile Day der BASTA! Spring 2017

Agil, was war das nochmal?

von Mascha Schnellbacher

Die Antwort auf die Frage nach „Agil, was war das nochmal?“ beantwortete Urs Enzler, bbv Software Services AG in der gleichnamigen Session. Die vier wichtigsten agilen Prinzipien sind für Enzler:

  1. Früh und kontinuierlich liefern
  2. kontinuierlich adaptieren, um Feedback zu bekommen
  3. Zusammenarbeit
  4. das Projekt kontinuierlich verbessern

Manuel Rauber über Cross-Plattform-Businessanwendungen

Angular 2: Komponentenbasierte HTML5-Anwendungen

von Patricia Stübig

Gestärkt geht es nach der Mittagspause weiter: Manuel Rauber spricht über Single-, Multi- und Cross-Plattformen. Aber nicht nur auf verschiedenen Plattformen soll eine Anwendung sofort funktionieren. Auch auf unterschiedlichen Devices wie Smartphone, Tablet und HoloLens soll sie auf Anhieb laufen.

Was wir eigentlich erreichen wollen: Das Web als Plattform nutzen.

Christian Wenz über die Vorteile von TypeScript

TypeScript für .NET-Entwickler

von Patricia Stübig

Im Rahmen des Modern Business Applications Day auf der BASTA! Spring 2017 definiert Christian Wenz zwei essenzielle Vorteile von TypeScript. Zum einen bietet die Typisierung der Programmiersprache schon während der Entwicklung Vorteile. Und zum anderen können durch TypeScript für bestimmte Konstrukte die JavaScript-Verrenkungen vermieden werden.

TypeScript erhält mittlerweile auch außerhalb der der Microsoft-Welt Beachtung. Sogar Angular 2 setzt auf TypeScript und Christian Wenz stellt fest:

Wer Angular 2 machen möchte, der muss eigentlich auch TypeScript machen.

Oliver Sturm gibt den Überblick

C# 2017 – der aktuelle Stand

von Patricia Stübig

Nachdem die Neuerungen, die C# 6 gebracht hat, verdaut sind, kann man sich fragen: Wo stehen die Sprache und der C#-Programmierer in 2017? Oliver Sturm gibt die Antwort: Die Welt wird sowohl in Visual Stuido als auch auf anderen Plattformen immer offener für C#.

Frank Düsterbeck über Agilität in Unternehmen

Hurra, wir werden agil

von Mascha Schnellbacher

Der wichtigste Rat von Frank Düsterbeck zur Umsetzung von Agilität in Unternehmen lautet wie folgt:

Keep it simple and small!

Zum Start: Keynote über Veränderung in der IT

Willkommen auf der Basta! Spring 2017

von Patricia Stübig

Die BASTA! Spring 2017 ist eröffnet! In der Keynote sprach Mirko Schrempp mit Rainer Stropek (software architects), Roman Schacherl (softaware gmbh) und Manfred Steyer (www.SOFTWAREarchitekt.at) über Veränderung in der IT.

Keynote Panel

Mirko Schrempp (re.) mit (von links) Roman Schacherl, Rainer Stropek und Manfred Steyer

Dabei stellten sie fest: Die Industrie entwickelt sich weiter, bringt neue Produkte und Software hervor und ermöglicht dadurch wiederum anderen Unternehmen, sich weiterzuentwickeln. Später mehr dazu im ausführlichen Bericht zur Keynote.

Session mit Erfahrungsberichten und lustige Anekdoten aus „Konzerneinsätzen“

Agil und Konzern – Das kannste schon so machen, aber …?

von Christoph Ebert

Einen Rant, aber auch Tipps, wie man mit dem Thema Agile in Konzernen umgehen kann, lieferten Dominik Ehrenberg (Infineon Technologies AG) und Sebastian Bauer (inovex GmbH) in ihrer Session „Agil und Konzern – Das kannste schon so machen, aber …?„.

Denn wenn man ehrlich ist, vertragen sich Agilität und Konzern nicht immer so ganz: feste Strukturen, Prozesse, Verantwortlichkeiten, Wasserfälle, Betriebsräte – Hürden gibt es zur Genüge. Wie also kann man seiner Agilität freien Lauf lassen?

Drei Szenarien bzw. Anti-Pattern von Agile in Konzernen haben Sebastian und Dominik bessprochen, die wir hier in Kurzfassung wiedergeben:

1. Scrum im Wasserfall
– egal ob Meilensteine oder Scopes: mit den Leuten reden ist ganz wichtig!
– was wenn Kunde mit dem Konzept der Agilität nicht vertraut ist: für die ist das Sehen, dass es möglich ist, in kurzer Zeit lauffähige Inkremente zu bauen, eine nahezu erleuchtende Erfahrung.

2. Das Scrum-Diktat
– Manager hat am Wochenende das Manager Magazin gelesen und will jetzt Scrum einführen
– kann funktionieren, ist aber nicht die beste Ausgangslage
– was kann man machen: proaktiv mit einsteigen! Aber Fortbildung fordern, um wirklich das Beste daraus machen zu können

3. Wir sind Scrum, ABER…
– die Einschränkung „wegen unserer besonderen Unternehmenscharakteristika müssen wir das anders machen“ ist oft zu hören; so aber wird der Begriff in einem Unternehmen verbrannt
– bevor man ein SAFe-Training macht, sollte man sich erstmal mit den Grundprinzipien von Agile an sich vertraut machen

„Wir haben da aber noch ein paar Brasilianer…“
– Scrum-Master ist gefragt, wenn dem Team von außen/oben Mitarbeiter (womöglich noch nicht mal Mitarbeiter, die on-site sind) „zugeteilt“ werden; sollte um jeden Preis vermieden werden!
dominik-ehrenberg-sebastian-bauer-ipc16

Keynote von Philippe Souidi auf der IPC 2016

Microservices – Die Building-Blocks für eine digitale Zukunft

von Stefanie Schäfers

Microservices ist momentan eines der Buzzwords in der IT-Branche überhaupt. Tatsächlich steckt hinter Microservices mehr als nur agil arbeitende Innovatoren, die ihr Wachstum mithilfe von Microservices beschleunigen wollen – das sagt zumindest Philippe Souidi in seiner Keynote Microservices – The Building Blocks für a Digital Future auf der International PHP Conference 2016 in München.

Gerade erleben wir einen deutlichen Wandel in der Wirtschaft – und Software spielt dabei eine entscheidende Rolle. So ging es in der „alten“ Wirtschaft vor allem um Effizienz in der Produktion und die Frage: Wie können die Produktionsprozesse effizienter gestalten. Bei der „neuen“ Wirtschaft stand dagegen die Effizienz der Business-Modelle und -Prozesse im Vordergrund.

Nun, im Zeitalter der digitalen Wirtschaft geht es um die Effizienz von Software-Architektur – insbesondere dem Entwickeln von Software. Auch die sogenannte API-Wirtschaft wird, so Souidi, immer wichtiger. So lassen sich mithilfe von APIs Services und Produkte miteinander verbinden und treiben so die digitale Transformation weiter voran.

Aufgabe von Microservices

Ebenfalls zur Sprache kam die Aufgabe von Microservices. Sie sollen bestehende Lösungen erweitern, gleichzeitig aber auch Raum für das Erstellen eigener Lösungen mithilfe von Microservies bieten. Große Unternehmen wie Netflix, Amazon und Twitter haben es dabei bereits vorgemacht: Mithilfe von Microservices konnten sie ihre Development-Lead-Time um bis zu 75 Prozent reduzieren.

Dass Microservices in der digitalen Zukunft einen maßgeblichen Raum einnehmen werden, dürfte da kaum noch in Zweifel gezogen werden.

Session

Always On … oder nicht?

von Stefanie Schäfers

Wer mit der Bahn durch Deutschland fährt, dürfte das folgende Szenario kennen: Man surft gemütlich durchs Netz, um sich ein wenig die Zeit zu vertreiben und plötzlich ist man offline. Funklöcher, langsame Netzwerkverbindungen oder gar Netzwerkausfälle machen dem Surfvergnügen unterwegs ganz schnell einen Strich durch die Rechnung. Dabei heißt es doch immer: Always On!

Tatsächlich können Websites beziehungsweise Web-Apps dem User nützlichen Mehrwert liefern, selbst wenn er offline ist – zumindest, wenn man moderne Technologien einsetzt, um Websites und Web-Apps offline-fähig zu machen. In seiner Session Always On, oder? nahm uns Carsten Sandtner auf der International PHP Conference und WebTech Conference 2016 in München mit auf eine Reise zu den Anfängen offline-fähiger Web-Apps und zeigte auch, auf welchem Stand sie sich heutzutage befinden.

Offline-fähige Web-Apps: Damals und heute

So gab es zu Anfang quasi keine Möglichkeit, Web-Apps und Websites für die Offline-Nutzung vorzubereiten. Alles, was Entwicklern zur Verfügung stand, waren der Browser-Cache und einige nicht empfehlenswerte Techniken, um nicht mit dem Netzwerk interagieren zu müssen. Zwar bot der AppCache bereits eine deutliche Verbesserung, was die Offline-Fähigkeit angeht, allerdings kamen hier die Daten auch aus dem Cache, wenn man online war. Zudem wurden viele Callbacks benötigt – ein Konzept, auf das man lieber verzichtet.

Andere Möglichkeiten, die Sandtner in seiner Session vorstellte, um Web-Apps und Websites offline nutzbar zu machen, sind zum Beispiel

  • Web Storage
  • IndexedDB
  • Service Workers

Vor allem Service Workers sind für das Erreichen der Offline-Fähigkeit überaus nützlich, da nicht mehr direkt mit dem Netzwerk kommuniziert werden muss, sondern der Service Worker die Anfrage des Users entgegennimmt. Außerdem gibt es Scriptable Caches, in die alle von der Seite benötigten Daten hineingeschrieben werden können, sodass die Seite selbst dann funktioniert, wenn man offline ist.

Natürlich gibt es auch bei der Nutzung von Service Workers einiges zu beachten, allerdings sind sie die Zukunft – selbst wenn jetzt noch gilt:

Always on is a lie!

Wie Kubernetes Container-Chaos verhindern kann

Containing Chaos with Kubernetes

von Christoph Ebert

Hat man sich für die Nutzung von Containern entschieden und schreibt jetzt Dockerfiles für alles mögliche, stellt sich schnell die Frage: Wie managt man all diese Container? Hat man am Ende eine Problematik (das Management individueller VMs) gegen eine andere (das Management von indivisuellen Containern) ausgetauscht. Als Open Source Container-Orchestration-Engine ist Kubernetes eine mögliche Lösung.

Auf einer Kubernetes-Box eine Drupal 7 Box, eine WordPess-Box, eine Node-Box und eine Zend-Box „fahren“? Terrence Ryan, Developer Advocate beim Google Cloud Platform Team, zeigte in seiner IPC-Session „Containing Chaos with Kubernetes“, wie man mit Kubernetes eine Vielzahl von Instanzen managt.
Um beispielsweise ein einfaches Web-Frontend per Kubernetes zu bespielen, würde man:

  • ein Docker-Image konfigurieren
  • ein Deployment konfigurieren, das dieses Image referenziert
  • das Deployment ausführen, um ein Replica-Set von Pods (die kleinsten Einheiten in Kubernetes) anzuwerfen, die auf diesem Image basieren
  • den Service mit einem Public Load Balancer ausführen

Natürlich ist Kubernetes nicht die einzige Lösung für solche Situationen, Alternativen sind Docker Swarm, Amazon Container Service (AWS) und Mesosphere.

Und nicht zuletzt rät Terrence Ryan nicht uneingeschränkt zum Einsatz von Containern. Man sollte immer sehr genau überlegen, ob man Container überhaupt einsetzt oder nicht!

terrence-ryan-ipc2016

Aufbau von Angular-2-Anwendungen

Angular 2 – Getting Started

von Christoph Ebert

Angular ist eines der derzeit am meisten verwendeten Frameworks für Single-Page-Applications. Zurecht, vereint es doch viele bereits seit Jahren in der Native-Richt-Client Entwicklung etablierte Techniken wie Dependency Injection und Data-Binding. Doch auch Angular hat seine Schwächen und eine steile Lernkurve wie Philipp Burgmer (w11k GmbH) in seiner Session „Angular 2: Getting Started“ erläuterte.

Neben Neuerungen von dynamischem Nachladen von Code, dem Server-Side-Rendering ist in Version 2 auch der Einsatz von alternativem Rendering möglich, bspw. NativeScript.

Voraussetzungen für den Einsatz von Angular 2:
– ES6 Modul System
– Reactive Programming
– Verwendung von TypeScript
– Build-System

Die Hürden sind also nicht so hoch, denn vieles davon kennt man schon, wenn man Angular 1 genutzt hat.

philipp-burgmer-wtc16

© S&S Media

Build-System:
– mit Angular CLI wird ein vorgefertigtes Build-System zur Verfügung gestellt, speziell auf Angular 2 ausgelegt

TypeScript:
– ermöglicht die Nutzung neuerer, moderner ES 6/7 per Transpiler (Klassen, Module, Decorator),  Typen (besseres Tooling, weniger Fehler erst zur Laufzeit, Typisierung von Backend API möglich); TypeScript ist kein Muss, aber sehr sinnvoll!

Asynchrone und reaktive Programmierung:
– Welche Eigenschaften hat x?
– sofort/später verfügbar (synchro/asynchron)
– mehrere Werte (verzögert verfügbar) / ein Wert (einmaliges Ergebnis)
– Das Problem mit Promises: eine Promise kann genau 1x aufgelöst werden. Die Lösung in Angular 2: Observable

Konzepte von Angular 2 im Fokus

Komponenten:
– grundlegendes Architekturkonzept von Angular 2
– gesamtes UI ist als Baum von Komponenten aufgebaut
– Komponenten werden im TypeScript-Code definiert
– Komponenten werden im HTML verwendet (Verwendung muss genau Selektor entsprechen)
– Template nicht statisch, sondern dynamisch
– Instanz von Klasse stellt Daten bereit
– dumme Komponenten
– smarte Komponenten (kennen ihre Umgebung, für Datenbeschaffung und -verarbeitung zuständig, geben Daten an dumme Komponenten weiter)

Module:
– Angular-spezifischer Code muss organisiert werden
– Kapselung & Wiederverwendbarkeit
– leichtes Einbinden von Bibliotheken
– genaue Steuerung was wo verwendet wird
==> Kompromiss!

Darüber hinaus ging Philipp Burmer natürlich auch noch aus Aspekte wie Data Bindings, Property Bindings, Event Bindings, Komponenten Outputs, Class- und Style-Bindings, Services, Dependency Injection und vieles mehr ein. Ebenso auf die Konfiguration einer Angular-2-Anwendung (mit Shortcuts, Provider-Objekten, etc.), auf hierarchische Injektoren, Formulare und Validierung, Model-Driven im Controller, Fehlermeldungen und natürlich Routing/Navigation!

Keynote-Panel als Bestandsaufnahme

PHP 7 – One Year after

von Christoph Ebert

Sebastian Bergmann (thePHP.cc), Robert Lemke (Flownative GmbH), Stefan Priebsch (thePHP.cc) und PHP Magazin Redakteur Tom Wießeckel blicken im Rahmen der Mittags-Keynote auf die letzten zwölf Monate mit PHP 7 zurück.



Und kurz vor Ende hält Robert Lemke seinen #Docker-Streak am Leben…

X
- Gib Deinen Standort ein -
- or -