Connect with us

Entwicklung & Code

Das Paradox der Softwarearchitektur | heise online


Seitdem wir Mitte der Neunziger-Jahre an dem ersten Buch der Pattern-Oriented-Software-Architecture-Serie gearbeitet haben, tauchte auf Konferenzen und in Fachgremien immer wieder die Diskussion auf, was Softwarearchitektur denn konkret beinhaltet. Vergleiche mit Gebäudearchitektur, Elektrotechnik-Schaltplänen oder Kunst schienen schon damals zu kurz gegriffen, obwohl die genannten Gewerke durchaus einige Gemeinsamkeiten mit Softwarearchitektur aufwiesen. Der folgende Artikel illustriert meine heutige Sicht.

Weiterlesen nach der Anzeige


Michael Stal

Michael Stal

Prof. Dr. Michael Stal arbeitet seit 1991 bei Siemens Technology. Seine Forschungsschwerpunkte umfassen Softwarearchitekturen für große komplexe Systeme (Verteilte Systeme, Cloud Computing, IIoT), Eingebettte Systeme und Künstliche Intelligenz.

Er berät Geschäftsbereiche in Softwarearchitekturfragen und ist für die Architekturausbildung der Senior-Software-Architekten bei Siemens verantwortlich.

Versammelt jemand zehn Softwarearchitekten in einem Raum und bittet sie, ihr Handwerk zu definieren, trägt diese Person wahrscheinlich elf verschiedene Antworten und Kopfschmerzen davon. Das liegt nicht daran, dass Architekten von Natur aus widersprüchlich wären, obwohl einige dies durchaus sind, sondern weil Softwarearchitektur eine eigentümliche Position im Pantheon menschlicher Bestrebungen einnimmt. Sie sitzt unbequem an der Kreuzung mehrerer Disziplinen, verweigert eine ordentliche Kategorisierung, verwendet antike Traditionen und erfindet gleichzeitig völlig neue Paradigmen.

Dazu folgende Überlegung: Als der Architekt Frank Lloyd Wright sein Haus Fallingwater entwarf, arbeitete er mit Materialien, die seit Jahrtausenden existierten. Stein, Wasser, Stahl, Beton. Diese Substanzen besaßen bekannte Eigenschaften, verstandene Verhaltensweisen und Jahrhunderte akkumulierter Weisheit über ihre Verwendung. Als Ada Lovelace den ersten Algorithmus schrieb, arbeitete sie mit nichts als reiner Abstraktion, mathematischer Notation auf Papier, die Operationen für eine Maschine beschrieb, die kaum existierte. Softwarearchitekten erben heute beide Traditionen, operieren jedoch in einem Reich, das weder Wright noch Lovelace wiedererkennen könnten.

Die Frage, was Softwarearchitektur wirklich ist, zählt mehr als bloßes philosophisches Nabelschauen vermuten ließe. Die Disziplin prägt immerhin die Praxis, die Lehre, die Bewertung und letztendlich den Bau der digitalen Infrastruktur, von der die moderne Zivilisation zunehmend abhängt.

Wenn Martin Fowler ein gut gestaltetes System beschreibt, klingt er manchmal eher wie ein Kunstkritiker, der ein Meisterwerk diskutiert, als wie ein Ingenieur. Er spricht von „Eleganz“, von „Klarheit“, von Lösungen, die sich „richtig“ anfühlen. Dies sind nicht die kalten, klinischen Begriffe reiner Ingenieurkunst. Sie tragen ästhetisches Gewicht, subjektives Urteil, einen Appell an etwas jenseits bloßer Funktionalität.

Weiterlesen nach der Anzeige

Und tatsächlich durchzieht Kunstfertigkeit die Softwarearchitektur auf mehreren Ebenen. Die Wahl zwischen Microservices und einem Monolithen ist selten eine rein mathematische Entscheidung. Zwei gleich versierte Architekten treffen für dasselbe Problem möglicherweise entgegengesetzte Entscheidungen und schaffen beide erfolgreiche Systeme. Der Unterschied liegt nicht in objektiver Korrektheit, sondern in Vision, im Geschmack, in einem intuitiven Gespür dafür, was sich für den Kontext angemessen anfühlt.

Großartige Softwarearchitektur besitzt eine Qualität, die ihre technischen Spezifikationen transzendiert. Wer das Design von Unix mit seiner Philosophie kleiner, komponierbarer Werkzeuge untersucht oder die klare Trennung der Belange in einer gut gestalteten hexagonalen Architektur beobachtet, erkennt eine unleugbare Schönheit darin. Der Code entwickelt sich zu einer Ausdrucksform, zu einer Methode, dem Chaos roher rechnerischer Möglichkeiten menschliche Bedeutung und Ordnung aufzuerlegen.

Die Architektin, die ein System für Millionen gleichzeitiger Nutzer entwerfen muss, steht vor einem unendlichen Lösungsraum. Sie könnte ereignisgesteuerte Architektur, Aktor-Modelle, reaktive Streams oder unzählige andere Muster wählen. Die Einschränkungen verengen die Optionen, aber selten auf eine einzige „korrekte“ Antwort. Was leitet ihre endgültige Wahl? Erfahrung, gewiss. Technisches Wissen, absolut. Aber auch Intuition, ästhetische Präferenz und eine kreative Vision davon, wie die Teile zusammenpassen sollten. Dies ist die Arbeit einer Künstlerin, die rohe Materialien zu etwas formt, das zuerst in der Vorstellung existiert, bevor es Realität annimmt.

Der kreative Prozess in der Softwarearchitektur spiegelt künstlerisches Bestreben auf eine weitere entscheidende Weise: die Bedeutung des Negativraums, dessen, was bewusst nicht gebaut wird. Ein Bildhauer enthüllt Form durch das Entfernen von Stein. Ein Architekt offenbart Klarheit durch Widerstand gegen die Versuchung, Komplexität hinzuzufügen. Die Zurückhaltung, ein System einfach zu halten, wenn jeder Stakeholder ein weiteres Feature fordert, der Mut, Code zu löschen, statt hinzuzufügen – all das erfordert künstlerische Sensibilität ebenso wie technische Fertigkeit.

Softwarearchitektur als reine Kunst zu bezeichnen, hieße jedoch, die rigorose wissenschaftliche Grundlage zu ignorieren, auf der sie ruht. Anders als ein Gemälde, das Physik und Logik im Dienste emotionaler Wahrheit verletzen kann, muss ein Softwaresystem unnachgiebigen mathematischen Gesetzen und physischen Einschränkungen gehorchen.

Wenn eine Architektin die erwartete Last auf einem verteilten System berechnet, wendet sie Warteschlangentheorie an, einen Zweig der Mathematik mit Wurzeln in frühen Telefonnetzwerken des zwanzigsten Jahrhunderts. Wenn sie über die Konsistenzgarantien einer Datenbank nachdenkt, befasst sie sich mit dem CAP-Theorem, einem formalen Beweis, der einschränkt, was in verteilter Datenverarbeitung möglich ist. Wenn sie die Zeitkomplexität eines Algorithmus analysiert, arbeitet sie innerhalb des Rahmens der Berechnungskomplexitätstheorie, einem Feld mit tiefen Verbindungen zu Logik und Mathematik.

Die wissenschaftliche Methode durchdringt die architektonische Praxis auf offensichtliche und subtile Weise. Eine Architektin bildet Hypothesen darüber, wie sich ein System unter Last verhalten sollte, entwirft Experimente in Form von Leistungstests, sammelt empirische Daten und verfeinert ihr Verständnis basierend auf Beobachtungen. Sie könnte Chaos Engineering nutzen, um bewusst Ausfälle zu injizieren und die Produktionsumgebung als Labor zu behandeln, in dem sie Theorien über Resilienz gegen die unnachgiebige Realität der physischen Welt testet.

Informatik liefert das theoretische Werkzeugset, das jede Softwarearchitektin beherrschen muss. Konzepte wie Zustandsautomaten, Graphentheorie, formale Verifikation und Berechnungskomplexität sind keine abstrakten akademischen Übungen. Sie bilden die Linse, durch die eine Architektin versteht, was möglich, was effizient und was beweisbar korrekt ist. Beim Entwurf eines Konsensalgorithmus für ein verteiltes System geht es nicht um kreativen Ausdruck, sondern um präzises logisches Denken, das sicherstellt, dass das System unter allen möglichen Ereignissequenzen seine Invarianten beibehält.

Die wissenschaftliche Natur der Softwarearchitektur offenbart sich am deutlichsten, wenn Dinge schiefgehen. Ein Systemausfall ist keine Frage ästhetischer Meinungsverschiedenheit. Er ist eine empirische Tatsache, die systematische Untersuchung verlangt. Die Architektin muss Hypothesen über Grundursachen bilden, Experimente entwerfen, um diese Hypothesen zu testen, und rigorose Denkweisen anwenden, um die zugrunde liegenden Mechanismen zu verstehen. Dies ist Wissenschaft in ihrer reinsten Form: Beobachtung, Hypothese, Experiment und die allmähliche Verfeinerung des Verständnisses durch Konfrontation mit der Realität.

Wäre Softwarearchitektur nur Kunst und Wissenschaft, könnte sie eine intellektuelle Übung bleiben, schön in der Theorie, aber getrennt von der chaotischen Realität des Baus tatsächlicher Systeme. Hier offenbart sich die Ingenieurperspektive als wesentlich. Ingenieurwesen handelt fundamental von Kompromissen, von der Lieferung funktionierender Lösungen innerhalb realer Einschränkungen von Zeit, Geld und menschlicher Fähigkeit.

Ein Ingenieur unterscheidet sich von einem reinen Wissenschaftler in der Akzeptanz, dass Perfektion weder möglich noch überhaupt wünschenswert ist. Wo ein Wissenschaftler die optimale Lösung suchen könnte, sucht ein Ingenieur die ausreichende Lösung, die sich morgen ausliefern lässt, statt der perfekten Lösung, die vielleicht niemals eintrifft. Dieser Pragmatismus steht im Zentrum architektonischer Praxis. Die Architektin muss ständig konkurrierende Belange ausbalancieren: Performance gegen Wartbarkeit, Konsistenz gegen Verfügbarkeit, Sicherheit gegen Benutzerfreundlichkeit, Innovation gegen Zuverlässigkeit.

Die ingenieurmäßige Realität technischer Schulden benötigt ebenfalls eine Betrachtung. Eine Architektin entwirft möglicherweise ein schönes, theoretisch solides System, aber wenn das Team es nicht verstehen, nicht warten oder nicht innerhalb des Geschäftszeitrahmens liefern kann, verwandelt sich jenes elegante Design in ein Hindernis statt in einen Vorteil. Gutes Engineering bedeutet, anzuerkennen, dass das System von realen Menschen mit unterschiedlichen Fähigkeiten gebaut, über Jahre von Personen gewartet, die bei seiner Entstehung nicht anwesend waren, und weiterentwickelt werden muss, um Anforderungen zu erfüllen, die zur Entwurfszeit nicht vollständig bekannt sein können.

Die Ingenieurdisziplin manifestiert sich auch in der Beziehung des Architekten zu Einschränkungen. Wo ein Künstler gegen Einschränkungen aufbegehren oder eine Wissenschaftlerin versuchen könnte, sie durch bessere Theorie zu eliminieren, arbeitet ein Ingenieur innerhalb von Einschränkungen und nutzt sie sogar. Begrenztes Budget erzwingt Einfachheit. Enge Zeitpläne ermutigen die Wiederverwendung bewährter Muster. Legacy-Systeme verlangen kreative Anpassung statt Greenfield-Idealismus. Diese Einschränkungen schmälern die Arbeit nicht, sondern formen sie, ähnlich wie die Eigenschaften von Stahl und Beton prägen, was ein Bauingenieur errichten kann.

Softwarearchitektur als Ingenieurwesen bedeutet, Praktiken wie Standardisierung, Dokumentation und wiederholbare Prozesse anzunehmen. Es bedeutet, Systeme zu schaffen, die Teams betreiben, die nicht an ihrem Design beteiligt waren. Es bedeutet, über Wartung, Überwachung, Bereitstellung und all die unscheinbaren, aber wesentlichen Belange nachzudenken, die ein schönes Design von einem funktionierenden Produkt trennen. Die Architektin muss Fehlermodi, Wiederherstellungsprozeduren, Backup-Strategien und Upgrade-Pfade berücksichtigen. Dies sind Ingenieursbelange, verwurzelt in der Realität, dass Systeme nicht in makelloser Isolation existieren, sondern in der chaotischen, fehleranfälligen realen Welt.

Vielleicht am faszinierendsten ist die Verbindung der Softwarearchitektur zu deutlich älteren Traditionen von Handwerk und Handwerkskunst. Bevor Wissenschaft oder Ingenieurwesen als formale Disziplinen existierten, bauten Menschen Kathedralen, Schiffe und Städte durch akkumuliertes Handwerkswissen, das der Meister an den Lehrling weitergegeben hat. Diese Übertragung impliziten Wissens, von Fertigkeiten, die gelernt, aber nicht vollständig artikuliert werden, bleibt zentral für die architektonische Praxis.

Wenn ein leitender Architekt das Design eines Juniors überprüft, widersetzt sich viel dem Feedback der Formalisierung. Der Senior könnte sagen, das Design „riecht falsch“ oder „fühlt sich spröde an“ oder „es fehlt an Kohäsion“. Dies sind keine wissenschaftlichen Begriffe mit präzisen Definitionen. Sie bilden die Sprache des Handwerks, beschreiben Intuitionen, die sich durch jahrelange Erfahrung entwickelt haben. Ein Meisterschreiner kann fühlen, wenn eine Verbindung nicht ganz richtig sitzt, bevor irgendeine Messung es beweist. Ein Meisterarchitekt kann spüren, wenn ein Design zu Problemen führen dürfte, lange bevor diese Probleme sich manifestieren.

Dieses Handwerkswissen erweitert sich durch Praxis und Mustererkennung. Eine Architektin, die zehn Systeme gebaut hat, trifft andere Entscheidungen als eine, die ein System zehnmal gebaut hat. Die Erfahrung zu sehen, wie Designs altern, zu beobachten, welche Teile von Systemen zu Wartungsalpträumen mutieren und welche durch Jahre der Evolution stabil bleiben, schafft ein intuitives Verständnis, das sich nicht auf Regeln oder Algorithmen reduzieren lässt.

Die Handwerkstradition betont auch die Bedeutung von Werkzeugen und deren richtiger Verwendung. Genauso wie ein Holzarbeiter verschiedene Sägen, Hobel und Meißel beherrschen muss, muss ein Softwarearchitekt Entwurfsmuster, architektonische Stile und Frameworks meistern. Doch Meisterschaft bedeutet, nicht nur zu wissen, wie diese Werkzeuge zu verwenden sind, sondern wann sie zu verwenden sind und zu entscheiden, wann nicht. Ein junger Architekt könnte das neueste architektonische Muster auf jedes Problem anwenden, während ein Meister weiß, dass manchmal der einfachste Ansatz der beste ist, wenngleich er unmodisch erscheint.

Das Lehrlingsmodell, obwohl weniger formal als in mittelalterlichen Gilden, besteht in der Softwareentwicklung durch Mentoring, Code-Review und Paarprogrammierung fort. Architektur lernt sich nicht primär aus Büchern, obwohl Bücher helfen, sondern durch die Arbeit neben erfahrenen Praktikern, durch Absorption ihrer Urteilskraft, ihrer Zurückhaltung, ihrer Denkweise über Probleme. Dieser implizite Wissenstransfer ist nach modernen Standards ineffizient, aber vielleicht unersetzlich für die Entwicklung der tiefen Intuition, die architektonische Meisterschaft charakterisiert.



Source link

Entwicklung & Code

Capability-centric Architecture – einheitliche Struktur für Embedded und Cloud


close notice

This article is also available in
English.

It was translated with technical assistance and editorially reviewed before publication.

Softwarearchitektur hat seit Längerem das Problem, dass sie innerhalb von Systemgrenzen stattfindet, in denen jeweils spezifische Anforderungen dominieren: Enterprise-Systeme verlangen beispielsweise Flexibilität, Skalierbarkeit und schnelle Evolution. Embedded-Systeme hingegen benötigen direkten Hardwarezugriff, Echtzeitperformance und effiziente Ressourcen. Traditionelle Architekturmuster zwingen Architektinnen und Architekten oft, zwischen diesen Welten zu wählen oder separate Ansätze für unterschiedliche Systemtypen zu pflegen.

Weiterlesen nach der Anzeige


Michael Stal

Michael Stal

Prof. Dr. Michael Stal arbeitet seit 1991 bei Siemens Technology. Seine Forschungsschwerpunkte umfassen Softwarearchitekturen für große komplexe Systeme (Verteilte Systeme, Cloud Computing, IIoT), Eingebettte Systeme und Künstliche Intelligenz.

Er berät Geschäftsbereiche in Softwarearchitekturfragen und ist für die Architekturausbildung der Senior-Software-Architekten bei Siemens verantwortlich.

Das neue Muster Capability-centric Architecture (CCA) löst diese Spannung auf. Es erweitert und synthetisiert Konzepte aus Domain-driven Design, Hexagonal Architecture und Clean Architecture. Dabei führt es neue Mechanismen ein, die es gleichermaßen auf einen Mikrocontroller anwendbar machen, der Sensordaten liest, wie auf eine Cloud-native Enterpriseplattform, die Milliarden von Transaktionen verarbeitet.

Diese Artikelserie stellt das neue Muster in vier Artikeln vor. Hier im ersten Teil geht es um die Grundlagen der Methode. Anschließend folgen drei Beispiele, für ein Embedded-System, für eine Enterprise-Anwendung und für eine Architektur mit KI-Komponente.

Das Muster entstand aus unserer Analyse, warum existierende Architekturen versagen, wenn Systeme evolvieren müssen, neue Technologien wie KI und Containerisierung integrieren sollen oder das Embedded-bis-Enterprise-Spektrum überspannen. Anstatt diese Anforderungen als separate Probleme zu behandeln, bietet CCA ein vereinheitlichtes konzeptionelles Framework mit Mechanismen zur Verwaltung von Komplexität, Abhängigkeiten und Änderungen.

Ein Beispiel für einen unzureichenden Ansatz ist es, eine typische geschichtete Architektur auf ein industrielles Steuerungssystem anzuwenden. Die Präsentationsschicht zeigt Sensorwerte an, die Schicht der Businesslogik verarbeitet Steuerungsalgorithmen, die Datenzugriffsschicht verwaltet Persistenz, und irgendwo erfolgt Hardwarezugriff zum Lesen von Sensoren und zur Steuerung der Aktoren.

Das unmittelbare Problem liegt auf der Hand: Wo passt die Hardwareschicht hin? Unterhalb der Datenzugriffsschicht erzeugt sie eine ungeschickte Abhängigkeitsstruktur. Als separates Anliegen verletzt sie das Schichtenprinzip. Kritischer noch: Die starre Schichtung macht es nahezu unmöglich, kritische Pfade zu optimieren. Wenn ein Sensor-Interrupt auftritt, muss das Signal mehrere Schichten durchlaufen, bevor es den Steuerungsalgorithmus erreicht, was eine inakzeptable Latenz bedeutet.

Weiterlesen nach der Anzeige

Hexagonal Architecture versucht, dies durch Ports und Adapter zu lösen. Die Kern-Domänenlogik sitzt im Zentrum, und Adapter verbinden zu externen Systemen durch definierte Ports. Dies funktioniert gut für Enterprise-Systeme mit Datenbank- und API-Adaptern. Für Embedded-Systeme jedoch verschleiert die Behandlung eines Hardware-Timers als weiteren Adapter den fundamentalen Unterschied zwischen einem austauschbaren, externen Service und einer Hardwarekomponente, die die Echtzeitfähigkeit des Systems definiert.

Ein typischer hexagonaler Ansatz für Embedded-Systeme sieht folgendermaßen aus:


// Port-Definition
public interface SensorPort {
    SensorReading read();
}

// Domain-Logik
public class TemperatureController {
    private final SensorPort sensor;
    
    public TemperatureController(SensorPort sensor) {
        this.sensor = sensor;
    }
    
    public void regulate() {
        SensorReading reading = sensor.read();
        // Steuerungslogik hier
    }
}

// Hardware-Adapter
public class HardwareSensorAdapter implements SensorPort {
    private static final int SENSOR_REGISTER = 0x40001000;
    
    public SensorReading read() {
        // Direkter Speicherzugriff
        int rawValue = readRegister(SENSOR_REGISTER);
        return new SensorReading(convertToTemperature(rawValue));
    }
    
    private native int readRegister(int address);
}


Der Code sieht sauber aus, verbirgt aber kritische Probleme. Die Abstraktion verhindert, dass der Controller auf Sensor-Metadaten zugreift, die in benachbarten Hardwareregistern verfügbar sind. Sie erzwingt alle Sensorzugriffe durch einen Methodenaufruf und verhindert den direkten Speicherzugriff per DMA oder Interrupt-gesteuertes Lesen. Sie macht Tests schwieriger, weil Entwickler Timing-Verhalten nicht einfach injizieren können. Am kritischsten: Sie behandelt Hardware als nur eine weitere austauschbare Komponente, obwohl die Hardwarefähigkeiten fundamental die Leistung des Systems prägen.

Clean Architecture steht vor ähnlichen Problemen. Ihre konzentrischen Kreise mit nach innen zeigenden Abhängigkeiten funktionieren wunderbar für Geschäftsanwendungen. Die Entities-Schicht enthält Geschäftsregeln, die Use-Cases-Schicht anwendungsspezifische Regeln, und äußere Schichten behandeln UI und Infrastruktur. Aber Embedded-Systeme passen nicht in dieses Modell. Hardware ist keine Infrastruktur, die sich abstrahieren lässt. Sie ist das Fundament, auf dem Fähigkeiten aufgebaut sind.

Enterprise-Systeme stehen vor unterschiedlichen, aber gleichermaßen herausfordernden Problemen. Während die Systeme wachsen, vermehren sich Bounded Contexts, und die Abhängigkeiten zwischen ihnen verheddern sich. Teams versuchen Schichtung oder hexagonale Grenzen durchzusetzen, was aber in praktischen Zwängen resultiert und Hintertüren sowie Abkürzungen schafft. Ein Kundenservice benötigt Daten vom Inventarservice, der Preise vom Katalogservice braucht, der wiederum Kundensegmente vom Kundenservice benötigt. Die zirkuläre Abhängigkeit ist offensichtlich, das Geschäftsbedürfnis aber real.

Moderne Technologien verschärfen diese Probleme. KI-Modelle sind keine einfachen Komponenten, die in eine Schicht oder einen Adapter passen. Sie haben eigene Infrastrukturbedürfnisse, Training-Pipelines, Anforderungen an die Versionierung und Inferenz-Charakteristiken. Big-Data-Verarbeitung passt nicht zu traditionellen Request-Response-Mustern. Infrastructure-as-Code verwischt die Grenze zwischen Anwendungs- und Deployment-Architektur. Kubernetes und Containerisierung ändern, wie Architekten über Deployment-Einheiten und Skalierungsgrenzen denken.


Aufmacher bcc Modern Architecture

Aufmacher bcc Modern Architecture

(Bild: RONY/Adobe Stock)

Die Online-Konferenz betterCode() Modern Architecture von iX und dpunkt.verlag am 25. März 2026 stellt aktuelle Konzepte der Softwarearchitektur vor wie Clean Architecture, Hexagonale Architektur oder Microservices. Design mit LLMs ist ebenso ein Thema wie Architektur für eine digitale Souveränität.



Source link

Weiterlesen

Entwicklung & Code

Warum Microsoft auf Anthropic setzt: Tausende Mitarbeiter testen Claude Code


Wenn ein Bäcker regelmäßig eine große Tüte Brötchen des Mitbewerbers einkauft, betreibt er entweder intensive Marktbeobachtung – oder sieht seine Bedürfnisse von seinem eigenen Produkt nicht vollständig abgedeckt. Ähnliche Fragen stellen sich Beobachter mit Blick auf Microsoft. Nach Informationen des US-Tech-Portals The Verge setzt der Software-Riese verstärkt auf das KI-Entwicklungs-Tool Claude Code von seinem Mitbewerber Anthropic. Vornehmlich zum Vergleich, wie es heißt. Doch die Intensität des Tests ist dennoch ungewöhnlich.

Weiterlesen nach der Anzeige

Laut The Verge nutzen mehrere tausend Mitarbeiter aus verschiedenen Entwicklerteams Claude Code. Beim CoreAI-Team sollen die Tests schon seit Monaten laufen. Inzwischen sei auch die „Experiences + Devices Division“ aufgefordert worden, Claude Code zu installieren. Dieses Team betreut die für Microsoft wichtigen Produkte Windows, Microsoft 365, Outlook, Teams, Bing, Edge und Surface.

Microsofts Werkzeugauswahl überrascht deshalb, weil das Unternehmen mit dem GitHub Copilot doch über ein eigenes Tool verfügt. Die in Zusammenarbeit mit OpenAI entwickelte Software sei auch weiterhin das primäre KI-Coding-Tool, betont Microsoft.

Dennoch scheint Microsoft auch ein Faible für das Konkurrenzprodukt entwickelt zu haben. Während die Software-Ingenieure beide Tools nutzen und vergleichen sollen, werden Designer und Projektmanager ohne Programmier-Erfahrung dazu ermuntert, damit zu experimentieren, etwa um Prototypen auf den Weg zu bringen. Laut dem Bericht sei aber auch ein möglicher späterer Vertrieb von Claude Code an Azure-Kunden denkbar.

Weiterlesen nach der Anzeige

Das Fachmagazin The Information zählt Microsoft zu den Top-Kunden von Anthropic. Beide Unternehmen hätten eine besondere Vereinbarung geschlossen, die Anthropic dazu verpflichte, im Umfang von 30 Milliarden US-Dollar Rechenkapazitäten von Microsofts Cloud Azure zu nutzen. Microsoft rechne umgekehrt die Kosten für die eigene Nutzung der Anthropic-Modelle auf die Verkaufsquoten für Anthropics Azure-Nutzung an. Das sei ungewöhnlich, da normalerweise nur eigene Produkte und die aus der Partnerschaft mit OpenAI auf diese Weise gefördert würden.


(mki)



Source link

Weiterlesen

Entwicklung & Code

Google stellt kostenlosen Web-Suchindex für Entwickler ein


Google hat angekündigt, den kostenlosen Zugriff auf seinen vollständigen Suchindex für Entwickler einzustellen. Neue Programmable Search Engines können ab sofort nur noch maximal 50 Domains durchsuchen. Die bisher verfügbare Option „Search the entire web“ steht für neue Engines nicht mehr zur Verfügung.

Weiterlesen nach der Anzeige

Betreiber bestehender Suchmaschinen, die mehr als 50 Domains indexieren oder den vollständigen Web-Index nutzen, müssen bis zum 1. Januar 2027 auf eine Alternative umsteigen. Google begründet den Schritt in der Ankündigung mit einer „Evolution zu fokussierten, leistungsfähigeren Lösungen“, die eine bessere Nutzererfahrung bieten sollen.

Als Ersatz für den kostenlosen Vollzugriff verweist Google auf Vertex AI Search, einen Cloud-basierten Enterprise-Dienst mit KI-gestützten Features wie konversationeller Suche und Grounding (Verankerung von KI-Antworten in verifizierbaren Datenquellen). Wer weiterhin den vollständigen Google-Index nutzen möchte, muss ein Formular ausfüllen und auf ein individuelles Preisangebot warten. Öffentliche Preise existieren nicht, frühere Paid-API-Angebote kosteten rund 5 US-Dollar pro 1000 Anfragen.

Die Custom Search JSON API wird ebenfalls eingestellt. Nutzer müssen ihre Implementierungen bis zur Frist auf Vertex AI oder den neuen Enterprise-Full-Web-Dienst portieren. Das kostenlose „Sites to search“-Feature für maximal 50 Domains bleibt erhalten und ist laut Google optimal für fokussierte, seitenspezifische Suchergebnisse gedacht.

Die Änderungen treffen besonders Entwickler von Nischensuchmaschinen, Bildungseinrichtungen und Non-Profit-Organisationen. Viele WordPress-Plugins und Drupal-Module, die auf Googles Programmable Search Engine basieren, müssen umgebaut oder eingestellt werden.

Weiterlesen nach der Anzeige

Als Alternativen bietet sich selbst gehostete Software wie Meilisearch, Typesense oder Elasticsearch an. Für Web-Index-basierte Anwendungen könnten Dienste wie Common Crawl (ein offenes Web-Archiv) in Kombination mit eigenen Modellen zum Einsatz kommen. Allerdings erreichen diese Alternativen nicht die Aktualität und Vollständigkeit des Google-Index.

Die Einschränkungen könnten in der EU kartellrechtliche Fragen aufwerfen. Als Gatekeeper im Sinne des Digital Markets Act kontrolliert Alphabet mit der Google-Suche den Zugang zu einem wesentlichen Infrastrukturelement des Internets. Offen ist, ob die Abschaffung des kostenlosen Zugriffs bei gleichzeitiger Einführung kostenpflichtiger Alternativen als wettbewerbswidrig interpretiert wird.

Google argumentiert hingegen, die Vereinfachung seines Produktportfolios diene der Qualität: „Wir vereinfachen und modernisieren unser Angebot, damit Sie das beste Werkzeug für Ihre Ziele auswählen können“, heißt es im Blogpost.


(fo)



Source link

Weiterlesen

Beliebt