entwickler.de https://entwickler.de PHP, JavaScript, Windows Development Thu, 21 Jan 2021 10:43:16 +0000 de-DE hourly 1 https://wordpress.org/?v=5.4.2 Ein Schritt in die Zukunft: .NET 5.0 ist erschienen https://kiosk.entwickler.de/windows-developer-magazin/windows-developer-magazin-2-2021/ein-schritt-in-die-zukunft/ https://kiosk.entwickler.de/windows-developer-magazin/windows-developer-magazin-2-2021/ein-schritt-in-die-zukunft/#respond Thu, 21 Jan 2021 11:00:03 +0000 https://entwickler.de/?p=579956438 Am 10. November 2020 wurde .NET 5.0 von Microsoft veröffentlicht. Es ist noch nicht die angekündigte Vereinigung aller .NET-Varianten, aber es bringt viele schöne Neuerungen. Daher lohnt es sich, das finale Release genauer unter die Lupe zu nehmen.

Der Beitrag Ein Schritt in die Zukunft: .NET 5.0 ist erschienen ist auf entwickler.de erschienen.

]]>
Am 10. November 2020 wurde .NET 5.0 von Microsoft veröffentlicht. Es ist noch nicht die angekündigte Vereinigung aller .NET-Varianten, aber es bringt viele schöne Neuerungen. Daher lohnt es sich, das finale Release genauer unter die Lupe zu nehmen.

Der Beitrag Ein Schritt in die Zukunft: .NET 5.0 ist erschienen ist auf entwickler.de erschienen.

]]>
https://kiosk.entwickler.de/windows-developer-magazin/windows-developer-magazin-2-2021/ein-schritt-in-die-zukunft/feed 0
Angular 11.1 veröffentlicht: Support für TypeScript 4.1 integriert https://entwickler.de/online/javascript/angular-11-1-release-579956676.html https://entwickler.de/online/javascript/angular-11-1-release-579956676.html#respond Thu, 21 Jan 2021 10:43:16 +0000 https://entwickler.de/?p=579956676 Mit Angular 11.1 steht das erste größere Update für die aktuelle Major-Version des Frameworks bereit. Enthalten sind natürlich zahlreiche Bugfixes. Vor allem für den Compiler und das Compiler-CLI sowie den Language-Service bringt die Minor-Version aber auch neue Features mit.

Der Beitrag Angular 11.1 veröffentlicht: Support für TypeScript 4.1 integriert ist auf entwickler.de erschienen.

]]>
Mit Angular 11.1 steht das erste größere Update für die aktuelle Major-Version des Frameworks bereit. Enthalten sind natürlich zahlreiche Bugfixes. Vor allem für den Compiler und das Compiler-CLI sowie den Language-Service bringt die Minor-Version aber auch neue Features mit.

Angular ist immer auf dem neusten Stand, wenn es um TypeScript geht. So bringt auch die nun veröffentlichte Minor-Version von Angular 11 direkt ein Upgrade für die Sprach-Integration mit und unterstützt TypeScript 4.1, die neuste Version der Sprache. Das ist aber natürlich nicht die einzige Neuerung an Angular 11.1, das nun final veröffentlicht wurde. Das Update umfasst auch viele Bugfixes in verschiedenen Bereichen des Frameworks, sowie einige Feature-Änderungen. Letztere sind vor allem im Compiler, Compiler-CLI und Language-Service zu finden.

Angular 11.1: Neuerungen fürs Compiling

Geändert hat sich beispielsweise, dass ɵɵngDeclareComponent nun auch mit dem JIT Compiler verwendet werden kann. Eigentlich sollten die Komponenten-Deklarationen vollständig in AOT-kompilierten Code übersetzt werden. Die JIT-Integration ist also nur ein Fallback für Fälle, in denen das nicht möglich ist. Gleiches gilt für ɵɵngDeclareDirective. Im Language-Service ist nun eine automatische Vervollständigung für Structural Directives und für globale Properties in Ivy verfügbar. Außerdem stehen für styleURLs und templateURLs jetzt Optionen zum schnellen Aufrufen von Definitionen mit Ivy zur Verfügung. Für die Performance des Frameworks wurde das Treeshaking ausgeweitet. In verschiedenen Bereichen von Angular wird nun ngDevMode genutzt, um Warnungen in den Optimierungsprozess einzubeziehen.

Weitere Informationen zu Angular 11.1 können wie immer den Release Notes entnommen werden. Derzeit sind ein bis zwei Minor Releases pro Major-Version von Angular vorgesehen. Die Arbeit an Angular 12 sollte also bald beginnen, da das finale Release der neuen Major-Version noch im Frühjahr stattfinden sollte. Karsten Sitterberg geht von einer Veröffentlichung von Angular 12 im Februar aus; anhand des Release-Datums von Angular 11 im November sowie des üblichen Abstands von sechs Monaten zwischen den Major-Versionen wäre ein Zeitraum bis April denkbar.

Der Beitrag Angular 11.1 veröffentlicht: Support für TypeScript 4.1 integriert ist auf entwickler.de erschienen.

]]>
https://entwickler.de/online/javascript/angular-11-1-release-579956676.html/feed 0
Visual Studio 2019 16.9 Preview 3: Benutzerdefinierte Sounds im Test Explorer https://entwickler.de/online/windowsdeveloper/visual-studio-2019-16-9-preview-3-579956677.html https://entwickler.de/online/windowsdeveloper/visual-studio-2019-16-9-preview-3-579956677.html#respond Thu, 21 Jan 2021 10:42:56 +0000 https://entwickler.de/?p=579956677 Microsoft hat Visual Studio 2019 16.9 Preview 3 veröffentlicht. Neben Neujahrswünschen fanden in der Ankündigung natürlich auch die neuen Features Erwähnung: Es gibt von IntelliSense bis .NET und C++ Einiges zu entdecken, und sogar benutzerdefinierte Sounds im Test Explorer sind nun möglich.

Der Beitrag Visual Studio 2019 16.9 Preview 3: Benutzerdefinierte Sounds im Test Explorer ist auf entwickler.de erschienen.

]]>
Microsoft hat Visual Studio 2019 16.9 Preview 3 veröffentlicht. Neben Neujahrswünschen fanden in der Ankündigung natürlich auch die neuen Features Erwähnung: Es gibt von IntelliSense bis .NET und C++ Einiges zu entdecken, und sogar benutzerdefinierte Sounds im Test Explorer sind nun möglich.

Die erste Visual Studio Preview des Jahres ist erschienen: Visual Studio 2019 16.9 Preview 3. Darin wurde unter anderem an der Stabilität und Verwendung von IntelliSense, weiteren Kommandozeilenwerkzeugen für C++ und der erleichterten Bedienung gearbeitet. Wie gewohnt stellte Jacqueline Widdis, Release Manager im Visual Studio Release Team, die neuen Features in einem Blogeintrag vor.

IntelliSense, .NET und C++

Die Autovervollständigung IntelliSense wurde in Preview 3 sowohl mit einer erhöhten Stabilität als auch mit neuen Funktionen ausgestattet: Zum Beispiel kann Go-to-definition in Modulimporten nun mit Highlighting versehen werden und die Vervollständigung für make_unique, make_shared, emplace und emplace_back ist mit an Bord:

Visual Studio 2019

IntelliSense in Visual Studio 2019 16.9 Preview 3; Quelle: Microsoft

Auch für .NET gibt es Neues in IntelliSense, denn die Vervollständigung für Preprocessor-Symbole unterstützt nun ebenfalls Highlighting. Um das auszuprobieren, wird mit der Eingabe des #if Directives begonnen:

Visual Studio 2019

IntelliSense für .NET in Visual Studio 2019 16.9 Preview 3; Quelle: Microsoft

C++ erhält in der dritten Preview für Version 16.3 neue Kommandozeilenwerkzeuge, z. B. kann mittels des neuen Kommandozeilen-Switches /openmp:llvm die LLVM-Version auf der OpenMP Runtime als Ziel angesteuert werden. Der Switch gilt allerdings noch als experimentell und kann derzeit nur auf AMD64-Ziele angewendet werden.

Test Explorer und erleichterte Bedienung

Der Test Explorer unterstützt nun benutzerdefinierte Sounds. Diese werden abgespielt, wenn ein Test beendet wurde. Dabei können zwei verschiedene Sounds vergeben werden: Der erste spielt ab, wenn der Test erfolgreich durchgeführt wurde und Ergebnisse geliefert hat, während der zweite Sound beim Auftreten mindestens eines Fehlers abgespielt wird. Das Hinzufügen von Sounds trägt, wie Jaqueline Widdis hervorhebt, auch zur erleichterten Bedienung des Test Explorers für Nutzer mit eingeschränktem Sehvermögen bei.

Was die erleichterte Bedienung betrifft, wurde auch eine weitere Neuerung eingeführt: Die IDE kann erkennen, ob in den Windows-Einstellungen hoher Kontrast festgelegt wurde. Diese Einstellung wird dann für Visual Studio 2019 übernommen. Um die Funktion zu aktivieren, muss das Kästchen unter Use Windows High Contrast Settings angeklickt werden, das unter Tools > Options zu finden ist.

Weitere Neuerungen

Zu den weiteren neuen Features in Visual Studio 2019 16.9 Preview 3 zählt, dass das MVVM Tooling für XAML weiter ausgebaut wurde und dass die IDE-Integration von Address-Sanitizer-berichteten Ausnahmen (vcasan.lib) mit der kompletten Bandbreite an berichtbaren Adress Sanitizer Exceptions umgehen kann.

Alle weiteren Infos zur dritten Preview für Visual Studio 2019 Version 16.9 bietet der Visual-Studio-Blogeintrag.

Der Beitrag Visual Studio 2019 16.9 Preview 3: Benutzerdefinierte Sounds im Test Explorer ist auf entwickler.de erschienen.

]]>
https://entwickler.de/online/windowsdeveloper/visual-studio-2019-16-9-preview-3-579956677.html/feed 0
BASTA! Spring 2021: Frühbucherrabatte nutzen und von überall aus teilnehmen https://entwickler.de/online/windowsdeveloper/basta-spring-2021-fruehbucherrabatte-21-januar-579956291.html https://entwickler.de/online/windowsdeveloper/basta-spring-2021-fruehbucherrabatte-21-januar-579956291.html#respond Thu, 21 Jan 2021 09:00:22 +0000 https://entwickler.de/?p=579956291 Die BASTA! Spring 2021 steht vor der Tür: Die Konferenz findet vom 15. bis 19. Februar 2021 statt - ganz gleich, wie die aktuelle Corona-Situation dann aussehen wird. Mit den Online-Tickets können Sie alle Sessions bequem von zu Hause aus besuchen. Frühbucher profitieren bis Donnerstag, 21. Januar, von Sonderrabatten.

Der Beitrag BASTA! Spring 2021: Frühbucherrabatte nutzen und von überall aus teilnehmen ist auf entwickler.de erschienen.

]]>
Die BASTA! Spring 2021 steht vor der Tür: Die Konferenz findet vom 15. bis 19. Februar 2021 statt - ganz gleich, wie die aktuelle Corona-Situation dann aussehen wird. Mit den Online-Tickets können Sie alle Sessions bequem von zu Hause aus besuchen. Frühbucher profitieren bis Donnerstag, 21. Januar, von Sonderrabatten.

Die BASTA! zählt seit mehr als 20 Jahren zu den führenden Konferenzen für Microsoft-Technologien, Web und mehr und findet auch in der aktuellen, unsicheren Zeit statt – denn einer Teilnahme vom heimischen PC aus steht nichts im Wege. Mittels professioneller Videotechnik werden sämtliche Vorträge und Workshops live übertragen, und auch der Kontakt zu Speakern und Expo-Partnern kann remote hergestellt werden, um online ein vollumfängliches Konferenzerlebnis zu bieten.

Vom 15. bis zum 19. Februar 2021 zeigen über 50 renommierte Speaker und Industrie-Experten in ihren Sessions Einblicke in zukünftige Herausforderungen aus einem breiten Themenspektrum – vom Umstieg auf .NET 5.0 bis hin zur Micfrofrontend-Revolution mit Angular oder dem Einstieg in Machine Learning für .NET-Entwickler.

Sie haben zudem die Wahl, an über 10 Power Workshops inkl. Live-Coding teilzunehmen. Hier geht es zum Konferenzprogramm mit Sessions aus neun verschiedenen Tracks – darunter .NET Framework & C#, Agile & DevOps, JavaScript & HTML5 und Web Development.

Anmelden und sparen

Bis zum 21. Januar 2021 stehen Ihnen exklusive Specials zur Verfügung: Sparen Sie bei der Anmeldung bis zu 510 Euro, erhalten Sie beim Buchen eines 5-Tages-Passes einen 12-monatigen Zugang zum entwickler.kiosk  oder sparen Sie bei der Anmeldung mit 3+ Kollegen 10 Prozent. Weitere Specials werden für Freelancer und Mitarbeiter von wissenschaftlichen Einrichtungen angeboten – schreiben Sie dazu einfach eine E-Mail an contact@basta.net. Alle weiteren Infos finden Sie unter https://basta.net/.

Wir freuen uns auf Sie!

Der Beitrag BASTA! Spring 2021: Frühbucherrabatte nutzen und von überall aus teilnehmen ist auf entwickler.de erschienen.

]]>
https://entwickler.de/online/windowsdeveloper/basta-spring-2021-fruehbucherrabatte-21-januar-579956291.html/feed 0
GraalVM 21: Espresso pusht Java auf Truffle https://entwickler.de/online/java/graalvm-21-espresso-truffle-579956582.html https://entwickler.de/online/java/graalvm-21-espresso-truffle-579956582.html#respond Wed, 20 Jan 2021 12:57:56 +0000 https://entwickler.de/?p=579956582 Oracles GraalVM ist aktuell eines der spannendsten Projekte im Java-Universum, wenn man von der Sprache und den Projekten wie Amber, Loom, Valhalla und so weiter einmal absieht. Die universelle virtuelle Maschine für polyglotte Entwicklung ist nun in Version 21 erschienen. Spannend ist: GraalVM 21 bringt das Tool Espresso mit sich, mit dem es sich Java auf Truffle gemütlich macht.

Der Beitrag GraalVM 21: Espresso pusht Java auf Truffle ist auf entwickler.de erschienen.

]]>
Oracles GraalVM ist aktuell eines der spannendsten Projekte im Java-Universum, wenn man von der Sprache und den Projekten wie Amber, Loom, Valhalla und so weiter einmal absieht. Die universelle virtuelle Maschine für polyglotte Entwicklung ist nun in Version 21 erschienen. Spannend ist: GraalVM 21 bringt das Tool Espresso mit sich, mit dem es sich Java auf Truffle gemütlich macht.

GraalVM 21: Java auf Java

Bereits als die virtuelle Maschine GraalVM zum ersten Mal vorgestellt wurde, träumten Entwickler davon, einst Java in Java implementieren zu können. Dieser „Heilige Gral der Java-Programmierung“, wie Oleg Šelajev es in seinem Artikel „Java on Truffle – Going Fully Metacircular“ nennt, scheint gefüllt mit Espresso zu sein. So nämlich nennt sich die neue installierbare Komponente, mit der der Truffle Framework um die Unterstützung für Java und JVM-basierte Sprachen erweitern lässt.

Das klingt zunächst sehr trivial, denn: Das Truffle Framework ist in der GraalVM ja eigentlich dafür da, Sprachen wie JavaScript, Python oder C auf der GraalVM laufen zu lassen, während Java nativ auf der GraalVM daheim ist. Doch es gibt durchaus Gründe, warum es in Ordnung ist, deswegen aus dem Häuschen zu sein. Java auf Truffle bedeutet nämlich nichts Anderes als ein selbst gehostetes Java. Was heißt das genau?

Java kann sich selbst ausführen. Java auf Truffle kann, da es eine tatsächliche JVM ist, in anderen Java-Anwendungen ausgeführt werden. So kann man beispielsweise eine Interoperabilität zwischen eigentlich unvereinbaren Versionen von Java herstellen. So kann in einer Java-8-Anwendung Bytecode von Java 11 ausgeführt werden und umgekehrt. So werden etwa Bibliotheken in Java 11 verfügbar, die sonst nur für Java 8 ausgelegt sind.

Natürlich gibt es noch viele weitere Anwendungsfälle, etwa das Vermischen von Ahead of Time und Just in Time Kompilierung, mehr dazu findet sich im oben erwähnten Blog-Beitrag.

[marketing_widget_area 1]

Weitere Änderungen in GraalVM 21

Neben den aufregenden Möglichkeiten, die Java auf Truffle bietet, wurden auch die nativen Images überarbeitet. So können Nutzer unter anderem ab sofort auf Java-Serialisierung in den Binaries nativer Images zurückgreifen. Die Konfiguration läuft sehr gemütlich über den javaagent, das spart kostbare Entwicklungszeit.

JavaScript

Da die Kompatibilität bei der GraalVM groß geschrieben wird, wurden einige Features der Version ECMAScript 2021 standardmäßig aktiviert: Klassenfelder, Promise.any, <codeString.prototype.replaceAll und Logical Assignment Operators. Wer auf Features von ECMAScript 2022 zugreifen möchte, kann den entsprechenden Modus via --js.ecmascript-version=2022 aktivieren. Damit lässt sich etwa die Methode für die relative Indexierung aktivieren. Erwähnenswert ist auch, dass Node.js in den Distributionen der GraalVM auf Version 12.20.1 aktualisiert wurde.

Ruby & Python

Auch die Implementierung von Ruby wurde auf Version 2.7.2 aktualisiert, die meisten Features von Ruby 2.7 sollten damit verfügbar sein. Für Methoden wie MatchData#length, Array#sample und String#inspect bedeutet das Update auf die neue Graal-Version mehr Effizienz, Probleme bei der speziellen Variable $~ wurden behoben.

Es wurde auch weiter an der Kompatibilität mit den nativen Python-Bibliotheken und an der Jython-Implementierung gearbeitet. Ein Beispiel hierfür ist das jetzt auch verfügbare Modul jarray. NumPy sollte nun auch etwas runder laufen, man hat an Memory Leaks und Abstürzen gearbeitet, die mit dieser Library zusammenhingen und auch die Unterstützung für Pandas ist verbessert worden.

LLVM & GraalWASM

Kleinere Fortschritte gab es auch bei der LLVM Bitcode Runtime und dem GraalWASM Interpreter – insbesondere in Sachen Performance. Während bei ersterer vor allem das AST Sharing beschleunigt und die Unterstützung für Auxiliary Engine Caching hinzugefügt wurde, konnte der GraalWASM Interpreter um das Zwanzigfache beschleunigt werden.

Weitere Informationen zu Java auf Truffle, bzw. Java auf Java, gibt es im Blog-Beitrag von Oleg Šelajev, der auch einen Artikel zu den allgemeinen neuen Features der GraalVM 21 geschrieben hat. Die vollständen Release Notes können auf der offiziellen Webseite des Projektes gefunden werden.

Der Beitrag GraalVM 21: Espresso pusht Java auf Truffle ist auf entwickler.de erschienen.

]]>
https://entwickler.de/online/java/graalvm-21-espresso-truffle-579956582.html/feed 0
Was ist der JAMstack? Eine Einführung für performantere und sicherere Frontends https://kiosk.entwickler.de/entwickler-magazin/entwickler-magazin-2-2021/was-ist-der-jamstack/ https://kiosk.entwickler.de/entwickler-magazin/entwickler-magazin-2-2021/was-ist-der-jamstack/#respond Wed, 20 Jan 2021 11:00:18 +0000 https://entwickler.de/?p=579956435 Gerade bei contentlastigen Seiten und Anwendungen, bei denen Skalierung und Sicherheit eine große Rolle spielen, bietet der JAMstack einen Ansatz, der die Entwicklung einfacher und günstiger machen kann.

Der Beitrag Was ist der JAMstack? Eine Einführung für performantere und sicherere Frontends ist auf entwickler.de erschienen.

]]>
Gerade bei contentlastigen Seiten und Anwendungen, bei denen Skalierung und Sicherheit eine große Rolle spielen, bietet der JAMstack einen Ansatz, der die Entwicklung einfacher und günstiger machen kann.

Der Beitrag Was ist der JAMstack? Eine Einführung für performantere und sicherere Frontends ist auf entwickler.de erschienen.

]]>
https://kiosk.entwickler.de/entwickler-magazin/entwickler-magazin-2-2021/was-ist-der-jamstack/feed 0
Women in Tech: „Feiert eure Erfolge, egal ob groß oder klein“ https://entwickler.de/online/karriere/women-in-tech-brooke-thorley-579956565.html https://entwickler.de/online/karriere/women-in-tech-brooke-thorley-579956565.html#respond Wed, 20 Jan 2021 07:38:34 +0000 https://entwickler.de/?p=579956565 In unserer Artikelserie „Women in Tech“ stellen wir inspirierende Frauen vor, die erfolgreich in der IT-Branche Fuß gefasst haben. Heute im Fokus: Brooke Thorley, Vizepräsidentin von Customer Success bei Instaclustr

Der Beitrag Women in Tech: „Feiert eure Erfolge, egal ob groß oder klein“ ist auf entwickler.de erschienen.

]]>
In unserer Artikelserie „Women in Tech“ stellen wir inspirierende Frauen vor, die erfolgreich in der IT-Branche Fuß gefasst haben. Heute im Fokus: Brooke Thorley, Vizepräsidentin von Customer Success bei Instaclustr

Die Tech-Industrie wird von Männern dominiert – so weit, so schlecht. Doch langsam, aber sicher bekommt der sogenannte Boys Club Gesellschaft von begabten Frauen: Immer mehr Frauen fassen in der Branche Fuß.

Aus diesem Grund wollen wir hier spannenden und inspirierenden Frauen die Möglichkeit geben, sich vorzustellen und zu erzählen, wie und weshalb sie den Weg in die Tech-Branche gewählt haben. Aber auch Themen wie Geschlechtervorurteile, Herausforderungen oder Förderungsmöglichkeiten kommen zur Sprache.

Unsere Woman in Tech: Brooke Thorley, Vizepräsidentin von Customer Success bei Instaclustr

Brooke Thorley ist VP of Customer Success bei Instaclustr, einem globalen Unternehmen, das eine Managed-Plattform mit Open-Source-Data-Layer-Technologien anbietet, darunter Apache Cassandra, Apache Kafka und Elasticsearch und viele mehr. Instaclustr ist darauf spezialisiert, diese Open-Source-Technologien in ihrer 100%igen Open-Source-Form zu liefern – ohne proprietäre Versionen, um Lock-ins zu vermeiden. Thorley kam 2014 zu Instaclustr als eine der allerersten Mitarbeiter des Unternehmens. Vor ihrer aktuellen Rolle war sie bei Instaclustr als Senior Software Engineer und anschließend als VP of Technical Operations tätig. Sie ist Absolventin der Australian National University mit einem Abschluss in Software Engineering und lebt mit ihrer Familie in Canberra, Australien.

Was hat dein Interesse für Technik zuerst entfacht?

Das erste Erlebnis, an welches ich mich erinnern kann, das mein Interesse an der Technik entfacht hat, hatte ich mit 10 Jahren. Da bekam ich meinen ersten Computer. Ich war augenblicklich und unwiderruflich von ihm fasziniert und begann viel Zeit darin zu investieren, um zu lernen, wie man DOS-Befehle verwendet.

Wie verlief dein Weg bis zum jetzigen Beruf?

Neben meinem frühen Interesse an Computern und Fächern wie Mathematik und Physik an der Highschool, fühlte ich mich auch sehr zu Sprache und Schreiben hingezogen. Damals wollte ich einen Beruf ergreifen, der mit diesen Schwerpunkten zu tun hat. Das änderte sich jedoch, als mir ein Lehrer meiner Highschool vorschlug, an einer Karrieremesse für Frauen in der IT-Branche teilzunehmen, der an einer örtlichen Universität stattfand. Diese Veranstaltung bot mir eine großartige Gelegenheit, mehr über IT und die (vielen) Karrieretypen in diesem Bereich zu erfahren. Von dieser Veranstaltung ab war ich angefixt, es gab kein Zurück mehr.

Ich komme aus einer Familie, in der harte Arbeit und Hingabe sehr geschätzt und immer gefördert werden.

Ich ging an die Australian National University und studierte ursprünglich Telekommunikationstechnik und Physik. Nach zwei Jahren stellte ich fest, dass mir die softwaretechnische Komponente der IT viel mehr Spaß machte. Daher orientierte ich mich in der Mitte meines Studiums um und konzentrierte mich auf die Technik, was zu meiner heutigen Karriere führte.

Was die Hindernisse angeht, würde ich sagen, dass ich in meinen ersten Jahren in der Branche daran arbeiten musste, mein Selbstvertrauen aufzubauen. Aber ich bin in einem Umfeld unterwegs, in der es keine große Überraschung ist, gelegentlich eine Frau zu sehen – zumindest aus australischer Sicht.

Ich habe gelernt, wie ich mich „legitimieren“ kann, wenn ich neue Leute treffe und wie ich mein Selbstbewusstsein deutlich machen kann. Ich denke, meine Liebe zu dieser Branche kommt auch laut und deutlich rüber – es ist absolut das Einzige, was ich mir vorstellen kann, zu tun. Die Wahrheit ist, dass viele Leute überrascht sind, wenn sie mich zum ersten Mal treffen und erfahren, was ich beruflich mache. Aber sie sind es überhaupt nicht mehr, wenn ich anfange, darüber zu reden und sie meine Leidenschaft dafür hören.

Hast Du Unterstützung von Freunden oder Familie erhalten?

Ich habe mich immer stark von meiner Familie und meinen Freunden unterstützt gefühlt. Ich komme aus einer Familie, in der harte Arbeit und Hingabe sehr geschätzt und immer gefördert werden. Meine Eltern kommen zwar nicht aus dem technischen Bereich, waren aber sicherlich meine Vorbilder und haben mir den Wert harter Arbeit vor Augen geführt. Sie sind auch die Art von Eltern, die wissen, wie man mit allem umgeht, egal was passiert. So haben sie meine Berufswahl voll unterstützt und gefördert und sind dafür verantwortlich, dass ich mich zu einem anpassungsfähigen und belastbaren Menschen entwickelt habe.

Hat man Dir Steine in den Weg gelegt?

Nein. In dieser Hinsicht hatte ich sehr viel Glück.

Ein Tag im Leben von Brooke

Ich bin der VP für Customer Success bei Instaclustr. Wir sind ein globales Unternehmen und ich arbeite von unserem Büro in Australien aus. Die meiste Zeit meines Arbeitstages verbringe ich am Telefon, um mit unseren Kunden zu interagieren, technische Fragen zu klären und ihnen zu helfen, das Beste aus den Technologien auf der Datenebene herauszuholen, auf die sich ihre Unternehmen verlassen. Kurz gesagt, meine Aufgabe ist es, dafür zu sorgen, dass Kunden auf der ganzen Welt alles bekommen, was sie von uns brauchen, sowohl auf der technischen als auch auf der Service-Seite der Dinge.

Ich bin oft in die Pflege unserer Kundenbeziehungen von der Pre-Sales-Phase an involviert und arbeite daran, die einzigartigen Datenanforderungen jedes Kunden zu verstehen und herauszufinden, wie wir unsere Lösungen einsetzen können, um sie zu erfüllen. Während unsere Kundenbeziehungen wachsen, schaue ich mir an, wie sich ihre Anforderungen weiterentwickeln und wie wir sie auch bei einer Erweiterung am besten unterstützen können. Meine Aufgabe ist es, dafür zu sorgen, dass wir die Erwartungen übertreffen und das Geschäft jedes Kunden gewinnen, indem ich kontinuierlich darauf achte, wie sie die von uns unterstützten Open-Source-Technologien für die Datenebene nutzen.

Worauf bist du in deiner Karriere am meisten stolz?

Ich bin stolz darauf, dass ich hart gearbeitet habe, um in meiner Karriere erfolgreich und respektiert zu werden, während ich meinen eigenen Weg verfolgt habe. Als Frau passe ich nicht in die „traditionelle“ Form einer Arbeiterin in der IT-Branche — besonders nicht in der Softwareentwicklung — und darauf bin ich stolz.

Warum gibt es nicht mehr Frauen in der Tech-Branche? Was ist deine Meinung dazu?

Zunächst einmal denke ich, dass sich das ändert. Ich bin vor 15 Jahren zur Universität gegangen. Heute sehe ich mehr junge Frauen, die durch unser Unternehmen und andere wie uns aufsteigen und ich treffe in der gesamten Branche immer mehr Frauen. Auch innerhalb unserer Engineering Teams ist ein deutlicher Anstieg der Zahl der frischgebackenen Akademikerinnen zu verzeichnen.

MINT wird heute in den Schulen von klein auf gelehrt. Ich habe eine kleine Tochter, die versteht, dass Informatik alles ist; es ist jetzt Teil des grundlegenden Wissens, das junge Menschen brauchen. Ich gehöre wahrscheinlich zu der letzten Generation, in der wir nicht immer einen Computer hatten – deshalb war es ein so einschneidender Moment, als ich 10 war.

Ob es in der IT jemals zu einem 50/50-Männer-Frauen-Gleichgewicht kommen wird… ich weiß es nicht. Wenn ein Lehrer nicht auf diese Möglichkeit hingewiesen hätte, hätte ich sie nicht in Betracht gezogen. Aber heute wird es als eine klare Option für Frauen angesehen. Und es gibt so viele Karrierewege in diesem Bereich – nicht nur im Bereich der Hands-on-Computerprogrammierung. Aber es wird Zeit brauchen, bis sich ein Gleichgewicht einstellt.

Könntest du ein paar Herausforderungen (oder Hindernisse) nennen, denen Frauen in der Tech-Branche gegenüberstehen?

Meiner Erfahrung nach kann ich bei Unternehmen, die es erst seit 10 Jahren oder weniger gibt, keine Diskriminierung feststellen. Im Allgemeinen werden Entwicklerinnen aufgrund ihrer technischen Fähigkeiten beurteilt und belohnt – und das zu Recht.

Aus meiner Sicht sind viele der Herausforderungen, mit denen Frauen in der Technik konfrontiert sind, solche außerhalb der Arbeit. Viele Frauen kommen an den Punkt, an dem sie eine Familie gründen wollen, und müssen herausfinden, wie sie die Anforderungen von Arbeit und Familie unter einen Hut bringen können und ob das bedeutet, dass sie sich eine Auszeit nehmen müssen. Das soll natürlich nicht heißen, dass Männer in diesem Lebensabschnitt nicht auch Verantwortung tragen und Entscheidungen treffen müssen. Aber als Frau mit einer jungen Familie ist dies eine der (wenn nicht sogar die) größte berufliche Herausforderung, der ich und meine Kolleginnen begegnen werden.

Würde unsere Welt anders aussehen, wenn mehr Frauen in der MINT-Branche arbeiten würden?

Meine kurze Antwort: ja. Wie genau es unsere Welt verändern würde… ich weiß es nicht! Ich denke, dass die Auswirkungen positiv und vorteilhaft sein werden, wenn die Welt sieht, dass mehr Frauen in MINT-Feldern erfolgreich sind, insbesondere in Kulturen, in denen die Arbeitskräfte in der Technologiebranche immer noch besonders männerdominiert sind.

Um einen institutionellen Wandel in jedem Bereich zu erreichen, muss dieser Wandel von der nächsten Generation ausgehen.

Die Diskussion über mehr Diversität in der Tech-Branche gewinnt an Schwung. Wie lange wird es dauern, bis die aktuelle Diskussion Ergebnisse zeigt?

Ich bin nicht damit einverstanden, Quoten zu verwenden, um mehr Diversität in der Technologiebranche zu erreichen. Ich denke, dass jeder aufgrund seiner eigenen Verdienste und seiner eigenen Entscheidung in die Branche kommen muss. Wie lange wird es dauern, bis wir ein größeres Gleichgewicht in der IT sehen? Um einen institutionellen Wandel in jedem Bereich zu erreichen, muss dieser Wandel von der nächsten Generation ausgehen. Die heutigen Jungen und Mädchen werden von klein auf mit MINT-Fächern in Berührung gebracht, also könnte die Veränderung, über die wir sprechen, noch 20 bis 30 Jahre dauern. Und es wird vielleicht nicht ein 50/50-Gleichgewicht sein. Aber es wird wahrscheinlich deutlich näher dran sein.

Welche Ratschläge (und Tipps) würdest du Frauen geben, die eine Tech-Karriere anstreben?

Mein Rat lautet: Arbeitet hart, seid smart. Lasst euch nicht diskriminieren. Wenn ihr das Gefühl habt, dass ihr diskriminiert werdet, dann geht. Und denkt nicht, dass dies ein Zeichen von Schwäche ist, denn das ist es nicht. Wenn ein Unternehmen oder eine Person innerhalb eines Unternehmens euch nicht fair behandelt, gibt es da draußen jemand anderen, der eure Expertise verdient. Vertraut euren Fähigkeiten. Feiert eure Siege, die großen wie die kleinen.

Eines sollten Frauen über die IT-Branche wissen: Sie ist nicht so beängstigend, wie sie vielleicht denken. Sie ist breit gefächert und umfasst sehr, sehr viele Rollen. Wenn ihr die Fähigkeiten habt, gibt es hier einen Platz für euch.

Der Beitrag Women in Tech: „Feiert eure Erfolge, egal ob groß oder klein“ ist auf entwickler.de erschienen.

]]>
https://entwickler.de/online/karriere/women-in-tech-brooke-thorley-579956565.html/feed 0
Der Kampf gegen KI-Bias: Künstliche Intelligenz auf dem Prüfstand https://entwickler.de/online/machine-learning/ki-bias-machine-learning-579956450.html https://entwickler.de/online/machine-learning/ki-bias-machine-learning-579956450.html#respond Tue, 19 Jan 2021 14:16:59 +0000 https://entwickler.de/?p=579956450 Der rasante Bedeutungszuwachs von KI bedeutet auch, dass die Technologie immer mehr Entscheidungen trifft, ohne dass wir diese hinterfragen. Ob bei Kreditbewilligungen, Bewerberauswahl oder Gesichtserkennungen – Unternehmen müssen heute mehr denn je sichergehen, dass ihre KI-Applikationen keinen Menschen diskriminieren. Damit das Risiko des KI-Bias – sprich der unbeabsichtigten Verzerrung von Entscheidungen durch künstliche Intelligenz – minimiert wird, müssen Entwickler eine Reihe von Dingen beachten.

Der Beitrag Der Kampf gegen KI-Bias: Künstliche Intelligenz auf dem Prüfstand ist auf entwickler.de erschienen.

]]>
Der rasante Bedeutungszuwachs von KI bedeutet auch, dass die Technologie immer mehr Entscheidungen trifft, ohne dass wir diese hinterfragen. Ob bei Kreditbewilligungen, Bewerberauswahl oder Gesichtserkennungen – Unternehmen müssen heute mehr denn je sichergehen, dass ihre KI-Applikationen keinen Menschen diskriminieren. Damit das Risiko des KI-Bias – sprich der unbeabsichtigten Verzerrung von Entscheidungen durch künstliche Intelligenz – minimiert wird, müssen Entwickler eine Reihe von Dingen beachten.

Bias in KI-Applikationen – Verbreitung und Risiko

Künstliche Intelligenz hat längst Einzug in den Alltag von Millionen von Menschen gehalten und beeinflusst unzählige Bereiche unseres Lebens. Von Chatbots und intelligenter Empfehlungs-Funktionen in Video- und Audio-Diensten über Fahrassistenz-Systemen bis hin zur Krankheitsdiagnose weitet sich der Einsatz stetig aus. Und auch im Unternehmenskontext ist KI heute weit mehr als nur ein vorübergehender Trend. Laut einer aktuellen Bitkom-Studie ist jedes zweite deutsche Unternehmen mit mehr als 100 Mitarbeitern davon überzeugt, dass KI-gestützte Technologie der Schlüssel zur Sicherung der langfristigen Wettbewerbsfähigkeit ist. Doch obwohl die Technologie umfassende Vorteile mit sich bringt, birgt der Einsatz einige Gefahren. Auch dieses Bild zeichnete die genannte Studie. So sind zwei Faktoren, welche die rasche Einführung hemmen, die Komplexität sowie das fehlende Expertenwissen rund um künstliche Intelligenz. Wenn hier eine Black Box entsteht, steigt das Risiko, dass negative Auswirkungen vorurteilsbeladener Algorithmen nicht, beziehungsweise sehr spät, entdeckt werden. Das ist mehr als problematisch, denn einmal implementiert, lässt sich ein KI-Bias nur sehr schwer beheben. Gleichzeitig ist der Reputationsschaden für Unternehmen, die mangelhafte KI verwenden, oft dramatisch.

KI hat keine Gefühle, sie führt Befehle aus

Die schlechte Nachricht vorweg: Jede KI ist gebiased. Und das hat einen einfachen Grund: Sie wird von Menschen entwickelt und diese können niemals wertfrei agieren. Die Vorurteile von Entwicklern fließen damit automatisch in die Programmierung ein, egal ob beabsichtigt oder unbeabsichtigt. Doch wie genau kommt es in der Praxis zu einer Verzerrung? Dafür muss aus zwei Richtungen auf das Problem geblickt werden: Wie wird die KI entwickelt und warum? Das „Wie“ beschreibt den Entwicklungsprozess und beinhaltet zwei Aspekte nämlich den Algorithmus selbst und die Datenbasis, anhand der er trainiert wird. Bei der initialen Entwicklung des Algorithmus sollten Programmierer stets im Hinterkopf behalten, dass die Wahl des Ziel-Outputs nicht leichtfertig getroffen werden darf. Viele Unternehmen versuchen natürlich Algorithmen zu nutzen, um Prozesse effizienter zu gestalten und zu optimieren, damit beispielsweise der Gewinn maximiert wird. Doch wenn eine KI auf die diese Ziel hin programmiert wird, entsteht schnell ein „Maximierungs-Bias“, bei dem das Programm ohne Rücksicht auf Verluste die Kosteneffizienz verfolgt. Ein Szenario, das gerade im Gesundheitsbereich oder im Finanzwesen nicht nur Existenzen, sondern gar Leben kosten kann.

Somit ist die Zielerreichung, beziehungsweise der Weg, den der Algorithmus wählt, nicht zu unterschätzen. Viel entscheidender ist jedoch der Input, also die Variablen sowie die Proxies, mit denen der Algorithmus arbeiten soll. Besonders letztere stellen Entwickler oft vor eine Herausforderung, denn Proxies sind definitionsbedingt nicht genau quantifizierbar und werden durch Annahmen definiert. Das macht sie zu einem Risiko, wenn der Entwickler sein System nicht zu Ende denkt. Dann entstehen schnell technisch produzierte unbewusste Verzerrungen, die im Nachhinein nur sehr schwer zu erkennen sind. Ihren Ursprung haben solche Verzerrungen oft in der Annahme, dass es sie nicht gibt. Nehmen wir an, ein Unternehmen möchte ein Programm entwickeln, dass HR-Abteilungen beim Recruitment unterstützt, indem es die bestmöglichen Bewerber und Bewerberinnen auswählt. Da das Unternehmen sehr auf Diversität bedacht ist, wird die Entwicklungsabteilung angewiesen, weder die Variable „Geschlecht“ noch die Variable “Herkunft” zu verwenden. Dennoch schlägt das System am Ende hauptsächlich weiße Männer vor. Der Grund: Historische Unternehmensdaten, anhand derer Algorithmen häufig trainiert werden, verfügen in der Regel nicht über gleichmäßige Verteilungen. Zudem führen schlecht gewählte Proxies dazu, dass das System dennoch beispielsweise Frauen mit Migrationshintergrund als solche identifizieren kann. Das ist gemeint, wenn es heißt, dass ein Algorithmus beim oben genannten “Warum” nicht zum gewünschten Ergebnis kommt. Hierbei geht es darum, dass der Anwendungsfall und der Trainingsfall nicht matchen.

Warum viele Firmen den Kampf gegen KI-Bias verlieren

Das eben genannte Beispiel sollte deutlich gemacht haben, dass es viel zu oft nicht an den Algorithmen selbst liegt. Natürlich ist ein heterogenes Entwicklerteam von Vorteil, denn diverse Sichtweisen verbessern die Chance, dass Vorurteile homogener Gruppen nicht so stark ins Gewicht fallen. In den meisten Fällen ist das Hauptproblem jedoch die Quantität sowie Qualität der Daten, mit denen Algorithmen trainiert werden. Frei nach Clint Eastwood: „What you put in is what you get out“. Ist die Qualität des Inputs mangelhaft, kann man nicht erwarten, dass der Output großartig wird. Leider greifen Unternehmen meist auf die Daten zu, die gerade verfügbar sind, zum Beispiel Kundendaten. Doch diese werden weder in ausreichender Zahl noch mit allen benötigten Attributen vorgehalten. Zudem ist die dringend benötigte Varianz der Daten in der Regel nicht gegeben. Und selbst wenn entsprechend umfangreiche Datensätze vorliegen, bedeutet das noch nicht, dass sich diese auch verwenden lassen. Wenn Daten nicht in einem bereinigten und geeigneten Format vorliegen, liefert selbst der beste Datensatz der Welt keine korrekten, vorurteilsfreien Ergebnisse.

Schlüsselaspekte im Kampf gegen Bias

Entscheidend im Kampf gegen den Bias ist somit eine gute Datenstrategie für das Training. Das beginnt schon beim Zusammenführen der Daten, dem sogenannten ETL-Prozess (Extract, Transform, Load). Hierbei muss darauf geachtet werden, dass die Daten, die aus ERP- oder CRM-Systemen extrahiert werden, auf ein einheitliches Format transformiert und zusammen mit weiteren externen Daten des gleichen Formats in die Testumgebung überführt werden. In einem zweiten Schritt geht es um Cleaning & Labeling, also die korrekte Beschriftung sowie das Hinterlegen von für den Trainingszweck benötigten Anmerkungen. Außerdem müssen unbrauchbare Fremddaten sowie Duplicated Content entfernt werden. In diesem Schritt gilt es zudem, die Definition von Input- und Output-Variablen festzulegen. Danach geht es um den Feinschliff. Datensätze, die nicht über ausreichend Vielfalt verfügen, sollten zusätzlich angereichert, oder falls das nicht möglich ist, gewichtet werden, um Verzerrungen zu minimieren.

Die richtige Balance

Bei der Vorbereitung der Daten, vor allem beim Labeling sowie der Definition der Variablen, sollten Unternehmen darauf achten, die richtige Balance zu finden. Wie bereits oben beschrieben, lässt sich Bias nie ganz ausschließen, weder in technischen Systemen noch bei den Menschen, die sie erschaffen. Um Verzerrungen bei der Zieldefinition, statistische Voreingenommenheiten oder die Reproduktion von historisch gefestigten Vorurteilen möglichst gering zu halten, empfiehlt es sich daher, auf möglichst diverse Teams für die Input-Aufbereitung, die Entwicklung und das Testing des Outputs zu achten. Auf diese Weise kommen Unternehmen der „Ground Truth“, als dem Vergleich des KI-Outputs mit den realen Gegebenheiten, am nächsten.

Der Beitrag Der Kampf gegen KI-Bias: Künstliche Intelligenz auf dem Prüfstand ist auf entwickler.de erschienen.

]]>
https://entwickler.de/online/machine-learning/ki-bias-machine-learning-579956450.html/feed 0
Warum Cloud-Profis auf Infrastructure as Code setzen https://entwickler.de/online/windowsdeveloper/cloud-azure-iac-579956444.html https://entwickler.de/online/windowsdeveloper/cloud-azure-iac-579956444.html#respond Tue, 19 Jan 2021 11:33:02 +0000 https://entwickler.de/?p=579956444 Das Azure-Portal bietet eine riesige Menge an Funktionalitäten und selbst erfahrene Entwickler entdecken immer wieder für sie neue Features. Doch Cloud-Profis setzen in der Regel stattdessen auf Infrastructure as Code: Ein Plädoyer für den sparsameren Umgang mit dem Azure-Portal.

Der Beitrag Warum Cloud-Profis auf Infrastructure as Code setzen ist auf entwickler.de erschienen.

]]>
Das Azure-Portal bietet eine riesige Menge an Funktionalitäten und selbst erfahrene Entwickler entdecken immer wieder für sie neue Features. Doch Cloud-Profis setzen in der Regel stattdessen auf Infrastructure as Code: Ein Plädoyer für den sparsameren Umgang mit dem Azure-Portal.

Wenn man sich bewusst macht, wie umfangreich die Funktionalität ist, für die das heute bestehende Azure Portal eine brauchbare Benutzerschnittstelle bieten muss, sieht man über die eine oder andere Unzulänglichkeit hinweg und wertschätzt die beeindruckende Leistung des Azure-Portal-Teams etwas mehr. Obwohl ich das Azure Portal bereits seit seinen Anfängen kenne, entdecke ich immer noch jede Woche neue Funktionen und Tricks.

Trotzdem soll diese Ausgabe meiner Kolumne ein Plädoyer für den sparsameren Umgang mit dem Azure Portal sein. Azure-Profis verbringen wenig Zeit im GUI und lernen stattdessen, effizient mit Infrastructure as Code (IaC) umzugehen. IaC bedeutet, dass IT-Infrastruktur in Form von Code (z. B. Skripte oder Konfigurationsdateien) definiert wird. Führt man diesen Code aus, werden die entsprechenden IaaS-, PaaS-, SaaS- und Serverless-Komponenten automatisiert angelegt oder verändert.

Schwieriger Entzug

Wenn ich mit Teams arbeite, die neu in den Cloud-Bereich einsteigen, schlägt mir oft Ablehnung beim Thema IaC entgegen. Man ist es seit langer Zeit gewohnt, bei Bedarf interaktiv auf alle Umgebungen inklusive Produktion zugreifen zu können. Man hat Routine im regelmäßigen Einspielen von Patches. Neue Programmversionen werden „liebevoll“ per Hand auf Server kopiert und konfiguriert. Man schätzt die Unterstützung von GUI-Tools. Warum soll man in der Cloud plötzlich anders arbeiten, auf das hübsche Portal verzichten und sich stattdessen durch Skriptcode plagen? Hier meine wichtigsten Argumente:

  • Skripte sind wiederholbar: Man kann eine Infrastrukturänderung in einer Umgebung entwickeln, sie anschließend in einer anderen Umgebung testen und die für gut befundene Variante schließlich in Produktion ausrollen. Würde man die Änderungen manuell im Portal machen, müsste man drei Mal alles exakt gleich zusammenklicken. Die Chance, dabei Fehler zu machen, ist hoch.

  • Skripte kann man teilen und wiederverwenden: Oft ähnelt eine Anwendung der anderen. Skripte, die man für eine Lösung geschrieben hat, kann man bei einem anderen Projekt anpassen und wiederverwenden. Wissen und Erfahrung sind dadurch leichter weiterzugeben und in Summe wird man als Team produktiver.

  • Skripte sind nachvollziehbar: Sofern man die Skripte in einer Quellcodeverwaltung ablegt (was man unbedingt tun sollte!), werden Infrastrukturerweiterungen und -änderungen nachvollziehbar. Ein Blick auf die Git-Historie und man weiß, wer wann was geändert hat. Durch das Verwenden von Skripten lassen sich in der Softwareentwicklung etablierte Prinzipien wie beispielsweise Codereviews, der Git/GitHub Flow und automatisiertes Testen auf den Infrastrukturbereich anwenden.

  • Skripte sind automatisierbar: Automatisiert man die Ausführung von IaC-Skripten, fallen lästige Routinetätigkeiten weg. Wenn für eine Cloud-Lösung die Infrastruktur angepasst werden muss, ändert man das entsprechende Skript, und beim nächsten Deployment werden nicht nur der Anwendungscode, sondern auch die Infrastrukturänderungen ausgerollt. Man kann so weit gehen, jede Nacht mit Hilfe der IaC-Skripte eine Testumgebung von Grund auf hochzufahren, gewisse Integrationstests ablaufen zu lassen und das Ganze zum Minimieren der Cloud-Kosten anschließend sofort wieder zu löschen.

Wo das Portal Sinn ergibt

Ich möchte an dieser Stelle betonen, dass absolut nichts gegen die Verwendung des Azure Portals spricht, wenn man sich lesend die Cloud-Infrastruktur ansehen möchte. In der Praxis ist das häufig notwendig, um sich zu vergewissern, dass alles planmäßig funktioniert. Im Problemfall ist das Azure Portal zur Analyse unverzichtbar. Bei schwerwiegenden Fehlern, die sofort zu beheben sind und bei denen keine Zeit für das Schreiben eines Skripts bleibt, ist das Azure Portal oft das rettende Tool.

Neueinsteiger*innen in Azure, die in der Lernphase sind, schätzen die grafische Oberfläche des Portals ebenfalls. Sie sollten in dieser Phase auch nicht drauf verzichten, solange der Fokus nicht auf der Entwicklung von produktiven Lösungen, sondern auf explorativer oder prototypischer Entwicklung liegt.

Notwendiger Wissensaufbau

Teams, denen IaC neu ist, müssen sich darauf einstellen, dass ihre Mitglieder neue Grundfertigkeiten lernen und üben müssen. Dazu gehören meiner Erfahrung nach insbesondere die folgenden:

  • Erlernen einer Skriptsprache wie PowerShell oder Bash

  • Umgang mit einer zur gewählten Sprache passenden Entwicklungsumgebung; Visual Studio Code ist in Verbindung mit entsprechenden Erweiterungen in diesem Punkt ein verbreitetes und mächtiges Werkzeug

  • Umgang mit modernen Datenformaten wie JSON oder YAML

  • Quellcodeverwaltung mit Git

Das Lernen dieser Dinge geht im interdisziplinären DevOps-Team leichter, da Softwareentwickler*innen mit den oben genannten Punkten in der Regel gut vertraut sind. Wer aber meint, dass die Wissensvermittlung nur in eine Richtung (von Dev zu Ops) geht, liegt falsch. Entwickler*innen können von Expert*innen für IT- und Cloud-Infrastruktur eine Menge über den stabilen und sicheren Betrieb von Anwendungen lernen.

IaC in Azure

In Azure hat man – ohne Drittanbieterwerkzeuge in Betracht zu ziehen – im Wesentlichen fünf Möglichkeiten, IaC zu betreiben:

  1. Man kann PowerShell-Skripte in Verbindung mit den Azure PowerShell Cmdlets schreiben. Während man früher mit PowerShell an Windows gefesselt war, ist diese Technologie heute auf allen gängigen Plattformen verfügbar.

  2. Fans von Bash-Skripten greifen auf das Azure Command Line Interface (CLI) zurück. Das Azure CLI bietet eine Menge Tricks in Verbindung mit JSON, wodurch Azure-Automatisierung erleichtert wird.

  3. Azure-Resource-Manager-(ARM-)Templates sind eine deklarative, JSON-basierte Sprache, mit der Azure-Umgebungen beschrieben werden können. Wenige Zeilen lange PowerShell- oder CLI-Skripte genügen, um ein ARM-Template auf eine Azure-Umgebung anzuwenden.

  4. Als vierte Variante stellt Microsoft für viele Sprachen fertige Management SDKs zur Verfügung.

  5. Wenn man das Pech hat, dass für die eigene Programmiersprache kein Management SDK angeboten wird, kann man auf ein entsprechendes RESTful Web-API von Azure zurückgreifen, das von jeder Plattform aus aufrufbar ist.

Qual der Wahl

Die Frage, die sich stellt, lautet, für welche Variante man sich in welchem Fall entscheiden sollte. Für die Entwicklung produktiver Lösungen empfehle ich in der Regel ARM-Templates. Sie haben einige Vorteile gegenüber skript- oder programmbasierenden Ansätzen:

  • ARM-Templates sind idempotent. Man kann sie als Ganzes immer wieder ausführen, ohne nachteilige Auswirkungen fürchten zu müssen. Azure erkennt automatisch, was man ergänzt oder geändert hat, und führt die notwendigen Anpassungen durch. Als Entwickler*in muss man keinen Code schreiben, der zwischen dem Neuanlegen und Ändern von Komponenten unterscheidet.

  • ARM-Templates sind schnell. Der Azure Resource Manager analysiert die Abhängigkeiten der im Template definierten Ressourcen und führt voneinander unabhängige Operationen (zum Beispiel das Anlegen einer Datenbank und eines Webserverclusters, die nichts miteinander zu tun haben) automatisch parallel durch. In Skripten oder Programmen hingegen muss man sich um die Parallelisierung selbst kümmern.

  • ARM-Templates sind deklarativ. Bei deklarativen ARM-Sprachen spezifiziert man nur das gewünschte Ergebnis, nicht den Algorithmus, wie man dorthin kommt. ARM-Templates haben in dieser Hinsicht Ähnlichkeit mit SQL.

  • ARM-Templates können über das Azure Portal generiert werden. Man kann sich im Azure Portal in einer Entwicklungsumgebung Komponenten zusammenklicken und anschließend das dazu passende ARM-Template generieren. Der generierte Code braucht zwar in der Praxis Anpassungen, ist aber trotzdem eine gute Basis zum Starten.

Diesen Vorteilen stehen aber auch Nachteile gegenüber:

  • ARM-Templates lassen sich schlecht debuggen. Das liegt bis zu einem gewissen Grad an der deklarativen Natur der Sprache. Einsteiger*innen müssen sich daher anfänglich auf manchmal frustrierende Stunden des Fehlersuchens einstellen.

  • Das JSON-Format von ARM-Templates ist nur bedingt benutzerfreundlich. Die ARM-Template-Erweiterungen von Visual Studio Code helfen über diesen Nachteil ein wenig hinweg.

PowerShell- oder CLI-Skripte sind besonders attraktiv für Personen, die schon Erfahrung mit Skriptsprachen haben. Das erleichtert den Einstieg in IaC natürlich sehr, und man sollte den Know-how-Vorsprung auch auszunutzen. Langfristig empfehle ich aber, zumindest einen Blick in ARM-Templates zu werfen. Durch Kombination von Skripten und ARM-Templates kann man das Beste aus beiden Welten kombinieren und schneller ans Ziel kommen. Zwischen PowerShell und Bash mit Azure CLI besteht kein großer Unterschied. In der Regel wird man mit beiden Ansätzen erfolgreich sein. Für PowerShell spricht die mittlerweile gute Integration in Serverless Azure Functions. Dadurch lassen sich Infrastrukturarbeiten elegant und kostengünstig automatisieren.

Auf die Management-APIs oder das RESTful Web-API von ARM würde ich nur zurückgreifen, wenn gewisse Infrastrukturarbeiten in größere Programme nahtlos integriert werden sollen. Ein Beispiel wäre eine Webseite, die bei Registrierung eines neuen Kunden automatisch gewisse Komponenten in Azure anlegen oder Konfigurationen verändern muss. Dafür könnte man das Management-API für die Programmiersprache nutzen, in der das Backend der Webseite entwickelt wurde. In der Praxis würde ich heutzutage aber eher den IaC-Teil in PowerShell-basierende Azure Functions oder Azure Automation Runbooks ausgliedern und diese vom Programmcode aufrufen.

Fazit

Das grafische Azure Portal hat seine Daseinsberechtigung beim Ansehen von Umgebungen und während der Entwicklungs- und Lernphase. Finger weg vom Azure Portal, wenn es um Änderungen an produktiven Cloud-Umgebungen geht! Profis setzen dafür auf Skripte und Templates. shell.azure.com oder Visual Studio Code sind Ihr neues Azure Portal.

 

Der Beitrag Warum Cloud-Profis auf Infrastructure as Code setzen ist auf entwickler.de erschienen.

]]>
https://entwickler.de/online/windowsdeveloper/cloud-azure-iac-579956444.html/feed 0
MoneyPHP: Internationale Transaktionen leicht gemacht https://kiosk.entwickler.de/php-magazin/php-magazin-2-2021/moneyphp-internationale-transaktionen-leicht-gemacht/ https://kiosk.entwickler.de/php-magazin/php-magazin-2-2021/moneyphp-internationale-transaktionen-leicht-gemacht/#respond Tue, 19 Jan 2021 11:00:47 +0000 https://entwickler.de/?p=579956432 Ein Softwarefehler bei der Risikoberechnung verursachte 217 Millionen Dollar an Investorenverlusten [1]. Es handelte sich um einen Fehler in grundlegenden Dezimaloperationen, die von einem Softwareentwickler programmiert wurden. Das zeigt uns, wie wichtig und verantwortungsvoll die Arbeit eines Entwicklers ist. Sind Sie sicher, dass Sie wissen, wie Sie solche Fehler in Ihren eigenen PHP-Anwendungen vermeiden können?

Der Beitrag MoneyPHP: Internationale Transaktionen leicht gemacht ist auf entwickler.de erschienen.

]]>
Ein Softwarefehler bei der Risikoberechnung verursachte 217 Millionen Dollar an Investorenverlusten [1]. Es handelte sich um einen Fehler in grundlegenden Dezimaloperationen, die von einem Softwareentwickler programmiert wurden. Das zeigt uns, wie wichtig und verantwortungsvoll die Arbeit eines Entwicklers ist. Sind Sie sicher, dass Sie wissen, wie Sie solche Fehler in Ihren eigenen PHP-Anwendungen vermeiden können?

Der Beitrag MoneyPHP: Internationale Transaktionen leicht gemacht ist auf entwickler.de erschienen.

]]>
https://kiosk.entwickler.de/php-magazin/php-magazin-2-2021/moneyphp-internationale-transaktionen-leicht-gemacht/feed 0
Entwicklung mit Empathie: Softwareentwicklung unter dem Einfluss der Pandemie https://kiosk.entwickler.de/windows-developer-magazin/windows-developer-magazin-2-2021/entwicklung-mit-empathie/ https://kiosk.entwickler.de/windows-developer-magazin/windows-developer-magazin-2-2021/entwicklung-mit-empathie/#respond Mon, 18 Jan 2021 11:00:04 +0000 https://entwickler.de/?p=579956313 Softwareentwicklung ist Kunst und Wissenschaft zugleich. Apps, die eine perfekte Mischung beider Komponenten enthalten, sind optisch ansprechend, benutzerfreundlich und funktionell. Die Pandemie hat die Art und Weise, wie wir Softwareentwicklung betrachten, auf interessante Weise stark verändert.

Der Beitrag Entwicklung mit Empathie: Softwareentwicklung unter dem Einfluss der Pandemie ist auf entwickler.de erschienen.

]]>
Softwareentwicklung ist Kunst und Wissenschaft zugleich. Apps, die eine perfekte Mischung beider Komponenten enthalten, sind optisch ansprechend, benutzerfreundlich und funktionell. Die Pandemie hat die Art und Weise, wie wir Softwareentwicklung betrachten, auf interessante Weise stark verändert.

Der Beitrag Entwicklung mit Empathie: Softwareentwicklung unter dem Einfluss der Pandemie ist auf entwickler.de erschienen.

]]>
https://kiosk.entwickler.de/windows-developer-magazin/windows-developer-magazin-2-2021/entwicklung-mit-empathie/feed 0
„Mein Open-Source-Projekt Electron.NET ist gerade für Blazor ein immer wichtigerer Bestandteil geworden.“ https://entwickler.de/online/windowsdeveloper/interview-biswanger-electron-dotnet-579956299.html https://entwickler.de/online/windowsdeveloper/interview-biswanger-electron-dotnet-579956299.html#respond Mon, 18 Jan 2021 09:54:18 +0000 https://entwickler.de/?p=579956299 Das Jahr 2021 ist erst wenige Wochen alt, und so haben wir Gregor Biswanger aus dem Entwickler-Nähkästchen plaudern lassen: Mit welchen Technologien möchte er sich in diesem Jahr beschäftigen, was liegt im Trend und was hat sich im Bereich .NET getan? Hier geht es zum Interview.

Der Beitrag „Mein Open-Source-Projekt Electron.NET ist gerade für Blazor ein immer wichtigerer Bestandteil geworden.“ ist auf entwickler.de erschienen.

]]>
Das Jahr 2021 ist erst wenige Wochen alt, und so haben wir Gregor Biswanger aus dem Entwickler-Nähkästchen plaudern lassen: Mit welchen Technologien möchte er sich in diesem Jahr beschäftigen, was liegt im Trend und was hat sich im Bereich .NET getan? Hier geht es zum Interview.

Entwickler: Dein Blick zurück – Welche technologische Entwicklung im Jahr 2020 ist bei dir persönlich am meisten hängen geblieben?

Gregor Biswanger: Das betrifft zwei Microsoft-Technologien; die erste ist Blazor. Die Server-side-Lösung ist ideal für Rapid Application Development, das keine anspruchsvollen UI-Anforderungen besitzt. Die zweite Technologie ist TypeScript. Der Transpiler lässt sich nun auch zur Laufzeit ausführen, womit sich tolle Lösungen im Browser realisieren lassen. Zum Beispiel habe ich ein kostenfreies Lernspiel zu RxJS veröffentlicht: www.rxjs-fruits.com. Hier hat man Visual Studio Code im Browser und kann direkt TypeScript ausführen.

Microsoft selbst setzt Electron.NET für das Blazor Electron API ein. Hierbei wird sich noch Einiges bewegen.

Entwickler: Dein Blick voraus – Welcher Trend wird aus deiner Sicht im Jahr 2021 besonders relevant werden?

Gregor Biswanger: Aktuell wird Blazor noch an der Spitze vorangetrieben. Zahlreiche Bugs, die entfernt werden müssen, sowie das Tooling werden ausgereifter, um für einen noch besseren Entwickler-Flow zu sorgen. Mein Open-Source-Projekt Electron.NET ist gerade für Blazor ein immer wichtigerer Bestandteil geworden. Dazu wird es eine Vielzahl an besseren Integrationsmöglichkeiten geben. Microsoft selbst setzt es für das Blazor Electron API ein. Hierbei wird sich noch Einiges bewegen.

Entwickler: Dein guter Vorsatz – Mit welcher Technologie möchtest du dich im Jahr 2021 genauer auseinandersetzen?

Gregor Biswanger: Allgemein möchte ich zum Thema Clean Code wiederholt reflektieren. Das sollte man alle Jahre immer wieder kontinuierlich durchziehen. Allgemeine Coding-Katas zählen ebenfalls dazu. Das erfrischt den Geist und erweitert immer wieder den eigenen Horizont. Ein weiterer wichtiger Fokus werden für mich zusätzlich die Softwarearchitektur und Pentesting sein. Ich werde dazu wieder auf meinem Twitch-Kanal via Livestream berichten (jeden Freitag oder Samstag um 20.30 Uhr).

Entwickler: .NET 5 ist im November 2020 erschienen – Was war daran dein persönliches Highlight?

Allgemein möchte ich zum Thema Clean Code wiederholt reflektieren.

Gregor Biswanger: Auf jeden Fall die neuen C#-Sprachfeatures und dass ASP.NET Core noch schneller und kompakter geworden ist.

Entwickler: Was wünschst du dir für die Zukunft von .NET?

Gregor Biswanger: Dass noch mehr Sprachfeatures von TypeScript bzw. F# für C# übernommen werden.

Entwickler: Vielen Dank für das Interview!

Gregor Biswanger (Microsoft MVP, Intel Black Belt und Intel Software Innovator) ist freier Berater, Trainer, Autor und Sprecher. Er berät große und mittelständische Unternehmen, Organisationen und Agenturen rund um die Themen Softwarearchitektur, Cloud-, Web- und Cross-Platform-Entwicklung mit C# und JavaScript/TypeScript. Seine Schwerpunkte sind der MEAN-Stack, ASP.NET-Core, Docker, Azure, Domain-driven Design und Microservices. Außerdem schreibt er online als freier Autor für heise.de und bringt für Fachmagazine auch gerne Artikel aufs Blatt. Er ist international als Sprecher auf zahlreichen Konferenzen und in Communities unterwegs. Durch seine Aktivitäten zählt Gregor Biswanger als einer der bekanntesten .NET- und JavaScript-Experten in Deutschland, Österreich und der Schweiz. Sie erreichen ihn unter http://about.me/gregor.biswanger

Der Beitrag „Mein Open-Source-Projekt Electron.NET ist gerade für Blazor ein immer wichtigerer Bestandteil geworden.“ ist auf entwickler.de erschienen.

]]>
https://entwickler.de/online/windowsdeveloper/interview-biswanger-electron-dotnet-579956299.html/feed 0