Eines der Kernfeature der Seite www.chefkoch.de ist die Suche. Eines unserer Entwicklerteams hat sich in diesem Jahr damit beschäftigt, diese Komponente von einer Baremetal-Installation auf ein Container-Cluster umzuziehen. Dieser Vortrag soll zeigen, wie sie diese riskante Aufgabe mit Hilfe verschiedener Methoden, wie z.B. Lasttests und Feature Flags, erfolgreich und souverän bewältigt haben. Dabei gibt es auch die eine oder andere lustige und spannende Anekdote zu erzählen.
Das Online-Magazin auf www.chefkoch.de hat inzwischen etwa ca. 6000 Artikeln, ca. 15 RedakteurInnen und ca. 2 Mio. monatliche Leser. Grund genug, das zugrundeliegende CMS, eine 10 Jahre alte Eigenentwicklung, auf eine moderne Basis zu stellen: Drupal8! Das neue System soll bald online gehen, es gibt also viel zu erzählen: Welche Herausforderungen gab es bei der Planung und Durchführung des Projektes? Welche technischen Entscheidungen haben wir getroffen und was haben wir (gutes und schlechtes) über Drupal und seinen Code gelernt? Ein Vortrag mit viel Wert für jeden, der selbst an einem CMS arbeitet!
Eines der Kernfeature der Seite www.chefkoch.de ist die Suche. Eines unserer Entwicklerteams hat sich in diesem Jahr damit beschäftigt, diese Komponente von einer Baremetal-Installation auf ein Container-Cluster umzuziehen. Dieser Vortrag soll zeigen, wie sie diese riskante Aufgabe mit Hilfe verschiedener Methoden, wie z.B. Lasttests und Feature Flags, erfolgreich und souverän bewältigt haben. Dabei gibt es auch die eine oder andere lustige und spannende Anekdote zu erzählen.
Das Online-Magazin auf www.chefkoch.de hat inzwischen etwa ca. 6000 Artikeln, ca. 15 RedakteurInnen und ca. 2 Mio. monatliche Leser. Grund genug, das zugrundeliegende CMS, eine 10 Jahre alte Eigenentwicklung, auf eine moderne Basis zu stellen: Drupal8! Das neue System soll bald online gehen, es gibt also viel zu erzählen: Welche Herausforderungen gab es bei der Planung und Durchführung des Projektes? Welche technischen Entscheidungen haben wir getroffen und was haben wir (gutes und schlechtes) über Drupal und seinen Code gelernt? Ein Vortrag mit viel Wert für jeden, der selbst an einem CMS arbeitet!
This document discusses continuous delivery practices. It begins by highlighting benefits from reports such as higher IT performance, organizational performance, and throughput/stability. It then discusses concepts like delivering value to customers through early and continuous delivery, reducing risk through small frequent changes, and tracking real progress. The rest of the document details practices like automation, version control, continuous integration, deployment pipelines, and mindsets like being lean and agile. It provides examples of deployment pipelines and automation of testing, infrastructure, and deployments. It emphasizes automating as much as possible and not ignoring data.
Este documento describe los tres propósitos principales de las imágenes: informativo, editorial y promocional. Explica que determinar la audiencia y sus necesidades es vital para preparar imágenes efectivas. La audiencia puede definirse por su género, grupo étnico, edad, profesión, ubicación geográfica y otros factores. Las necesidades de la audiencia dependen de sus características y el propósito de la imagen.
Autopistas para la Prosperidad - 18 de marzo de 2013concejomedellin
Este documento presenta el estado de avance del proyecto Autopistas para la Prosperidad. Incluye la rehabilitación de vías existentes en dos fases, con contratos adjudicados por $138.9 millones y $221.8 millones respectivamente. También describe 7 grupos de concesiones propuestas con estimados de inversión totalizando $14.6 mil millones, cuyos detalles están sujetos a cambios. El objetivo es que el proyecto esté completado para el año 2020 a través de la ejecución simultánea de obras por diferentes con
El documento habla sobre cómo crear una secuencia didáctica (SP) para enseñar historia. Sugiera despertar el interés de los estudiantes con actividades y usar conceptos claves para desarrollar la lección de forma secuencial paso a paso. Concluye que al proponer una SP, los profesores deben ver la historia como una forma de formar ciudadanos conscientes de su pasado a través de actividades que despierten el interés por la disciplina.
Es gibt Grundregeln, die es beim Geldanlegen und Sparen zu beachten gilt. Diese Regeln haben sich über Jahre und Jahrzehnte – und es gab viele Krisen und es wird künftig immer wieder Krisen geben – bewährt. Und es gibt den gesunden Menschenverstand, der sich ebenfalls bewährt hat.
Die Anlagen-Quick-Checkliste hilft frustrierten Anlegern dabei die eigenen Anlagen auf Herz und Nieren zu überprüfen.
Digitale Medien haben das Potential, Schulen bei der Bewältigung zahlreicher, aktueller Herausforderungen zu helfen. Dazu müssen Lerninfrastrukturen geschaffen werden, die einen selbstgesteuerten Medieneinsatz im Unterricht ermöglichen. Hierzu ist es nicht nur erforderlich, technische Rahmenbedingungen zu schaffen, vielmehr müssen Schulen Strategien entwickeln, wie digitale Medien systematisch in schulisches Handeln integriert werden können. Im Vortrag werden verschiedene Handlungsfelder und Maßnahmen benannt und Hürden auf dem Weg zu einer nachhaltigen Integration benannt.
La programación estructurada se basa en tres técnicas: diseño descendente, recursos abstractos y estructura básica de control. Utiliza elementos como constantes, variables, funciones y sentencias. También utiliza estructuras de control como if/then/else, bucles for/next y while para modificar el flujo de ejecución de un programa de manera ordenada y comprensible.
La maestra Mrs. Thompson inicialmente no prestaba atención a Teddy, un estudiante con una situación familiar difícil. Sin embargo, al revisar su historial académico, se dio cuenta de sus problemas y comenzó a brindarle más apoyo. Gracias a esto, los resultados de Teddy mejoraron significativamente y desarrolló un fuerte vínculo con su maestra, llegando a convertirse en un exitoso médico y recordando a Mrs. Thompson como su mejor y favorita maestra de por vida.
afterbuyBBQ 2014 - Mobiloptimierung - So rüsten Sie Ihre Geschäfte für mobile...Carsten Lambrecht
Die Präsentation leitet ein Verständnis für mobile optimierte Inhalte her und führt weiter aus was neben der reinen optischen Optimierung an Inhalten auf mobilen Internetseiten und Shop-Lösungen noch geschehen muss um ein gutes mobiles Nutzererlebnis zu erreichen.
Este documento trata sobre conceptos básicos de hidrodinámica. Explica que la hidrodinámica estudia las leyes de los fluidos en movimiento y que estas leyes son complejas. Señala que Euler fue el primero en reconocer que las leyes dinámicas para fluidos pueden expresarse de forma sencilla al suponer que son incompresibles e ideales, aunque esto no ocurre en fluidos reales. También describe que en un flujo laminar las partículas siguen trayectorias paralelas formando capas, mientras que en un
Este tutorial explica cómo desarrollar una aplicaciòn wear que permita reconocer los movimientos verticales de la mano. Y está basado en los ejemplos del Android Studio.
IT-Ringvorlesung - Ein Projekt von ITmitte mit der Uni LeipzigCommunity ITmitte.de
Die IT-Ringvorlesung ist ein Gemeinschaftsprojekt von ITmitte, der Uni Leipzig und Partnern von ITmitte und wird jedes Semester für Masterstudenten der Informatik und Wirtschaftsinformatik veranstaltet.
Jeder redet von Continuous Delivery, aber was macht eine gute Development-, Testing- und Delivery-Pipeline aus? Diese Session soll zeigen, welche Schritte nötig sind, um das Ziel Continuous Delivery zu erreichen. Neben Themen wie Update- und Roll-out-Strategie werden ebenso Crash Reports und Analytics-Möglichkeiten beleuchtet.
Der Iterations-Zylus, in dem Software-Entwickler arbeiten, hat sich in den letzten Jahren schrittweise erweitert: Entwicklung, Entwickler-Test, Integration, Akzeptanz-Test, Deployment, Delivery. Zur DevOps-Kultur gehört die Bewältigung dieser Schritte im Entwickler-Team.
This document discusses continuous delivery practices. It begins by highlighting benefits from reports such as higher IT performance, organizational performance, and throughput/stability. It then discusses concepts like delivering value to customers through early and continuous delivery, reducing risk through small frequent changes, and tracking real progress. The rest of the document details practices like automation, version control, continuous integration, deployment pipelines, and mindsets like being lean and agile. It provides examples of deployment pipelines and automation of testing, infrastructure, and deployments. It emphasizes automating as much as possible and not ignoring data.
Este documento describe los tres propósitos principales de las imágenes: informativo, editorial y promocional. Explica que determinar la audiencia y sus necesidades es vital para preparar imágenes efectivas. La audiencia puede definirse por su género, grupo étnico, edad, profesión, ubicación geográfica y otros factores. Las necesidades de la audiencia dependen de sus características y el propósito de la imagen.
Autopistas para la Prosperidad - 18 de marzo de 2013concejomedellin
Este documento presenta el estado de avance del proyecto Autopistas para la Prosperidad. Incluye la rehabilitación de vías existentes en dos fases, con contratos adjudicados por $138.9 millones y $221.8 millones respectivamente. También describe 7 grupos de concesiones propuestas con estimados de inversión totalizando $14.6 mil millones, cuyos detalles están sujetos a cambios. El objetivo es que el proyecto esté completado para el año 2020 a través de la ejecución simultánea de obras por diferentes con
El documento habla sobre cómo crear una secuencia didáctica (SP) para enseñar historia. Sugiera despertar el interés de los estudiantes con actividades y usar conceptos claves para desarrollar la lección de forma secuencial paso a paso. Concluye que al proponer una SP, los profesores deben ver la historia como una forma de formar ciudadanos conscientes de su pasado a través de actividades que despierten el interés por la disciplina.
Es gibt Grundregeln, die es beim Geldanlegen und Sparen zu beachten gilt. Diese Regeln haben sich über Jahre und Jahrzehnte – und es gab viele Krisen und es wird künftig immer wieder Krisen geben – bewährt. Und es gibt den gesunden Menschenverstand, der sich ebenfalls bewährt hat.
Die Anlagen-Quick-Checkliste hilft frustrierten Anlegern dabei die eigenen Anlagen auf Herz und Nieren zu überprüfen.
Digitale Medien haben das Potential, Schulen bei der Bewältigung zahlreicher, aktueller Herausforderungen zu helfen. Dazu müssen Lerninfrastrukturen geschaffen werden, die einen selbstgesteuerten Medieneinsatz im Unterricht ermöglichen. Hierzu ist es nicht nur erforderlich, technische Rahmenbedingungen zu schaffen, vielmehr müssen Schulen Strategien entwickeln, wie digitale Medien systematisch in schulisches Handeln integriert werden können. Im Vortrag werden verschiedene Handlungsfelder und Maßnahmen benannt und Hürden auf dem Weg zu einer nachhaltigen Integration benannt.
La programación estructurada se basa en tres técnicas: diseño descendente, recursos abstractos y estructura básica de control. Utiliza elementos como constantes, variables, funciones y sentencias. También utiliza estructuras de control como if/then/else, bucles for/next y while para modificar el flujo de ejecución de un programa de manera ordenada y comprensible.
La maestra Mrs. Thompson inicialmente no prestaba atención a Teddy, un estudiante con una situación familiar difícil. Sin embargo, al revisar su historial académico, se dio cuenta de sus problemas y comenzó a brindarle más apoyo. Gracias a esto, los resultados de Teddy mejoraron significativamente y desarrolló un fuerte vínculo con su maestra, llegando a convertirse en un exitoso médico y recordando a Mrs. Thompson como su mejor y favorita maestra de por vida.
afterbuyBBQ 2014 - Mobiloptimierung - So rüsten Sie Ihre Geschäfte für mobile...Carsten Lambrecht
Die Präsentation leitet ein Verständnis für mobile optimierte Inhalte her und führt weiter aus was neben der reinen optischen Optimierung an Inhalten auf mobilen Internetseiten und Shop-Lösungen noch geschehen muss um ein gutes mobiles Nutzererlebnis zu erreichen.
Este documento trata sobre conceptos básicos de hidrodinámica. Explica que la hidrodinámica estudia las leyes de los fluidos en movimiento y que estas leyes son complejas. Señala que Euler fue el primero en reconocer que las leyes dinámicas para fluidos pueden expresarse de forma sencilla al suponer que son incompresibles e ideales, aunque esto no ocurre en fluidos reales. También describe que en un flujo laminar las partículas siguen trayectorias paralelas formando capas, mientras que en un
Este tutorial explica cómo desarrollar una aplicaciòn wear que permita reconocer los movimientos verticales de la mano. Y está basado en los ejemplos del Android Studio.
IT-Ringvorlesung - Ein Projekt von ITmitte mit der Uni LeipzigCommunity ITmitte.de
Die IT-Ringvorlesung ist ein Gemeinschaftsprojekt von ITmitte, der Uni Leipzig und Partnern von ITmitte und wird jedes Semester für Masterstudenten der Informatik und Wirtschaftsinformatik veranstaltet.
Jeder redet von Continuous Delivery, aber was macht eine gute Development-, Testing- und Delivery-Pipeline aus? Diese Session soll zeigen, welche Schritte nötig sind, um das Ziel Continuous Delivery zu erreichen. Neben Themen wie Update- und Roll-out-Strategie werden ebenso Crash Reports und Analytics-Möglichkeiten beleuchtet.
Der Iterations-Zylus, in dem Software-Entwickler arbeiten, hat sich in den letzten Jahren schrittweise erweitert: Entwicklung, Entwickler-Test, Integration, Akzeptanz-Test, Deployment, Delivery. Zur DevOps-Kultur gehört die Bewältigung dieser Schritte im Entwickler-Team.
Cloud-Native Plattformen - Produktivitäts-Boost oder nur Hype?
Die Welt wird immer komplexer und die Anforderungen an die IT immer höher. Können moderne Cloud-Native Plattformen dabei unterstützen? Lasst uns besser verstehen mit welchen Problemen IT-Organisationen kämpfen und wie man sich dazu besser aufstellen kann.
Gerade im Web sind kurze Releasezyklen oft unabdingbar. Meist werden noch viele manuelle Tests gemacht, die ein bremsender Faktor für häufige Releases sind. Was gehört dazu, um bei Veränderungen des Projekts automatisiert zu prüfen, ob noch alles funktioniert? Wie kann man darauf aufbauen und was kommt danach?
„Bekommen Sie Ihre SQL Datenbank unter Kontrolle”
Ein Großteil des existierenden .NET Codes steht unter Quellcodeverwaltung und bereits heute verwenden viele Anwendungsentwickler irgendeine Form von Continuous Integration. Die Datenbankentwickler hängen an dieser Stelle leider ein wenig hinterher. Dabei sind gerade die Daten das Herzstück einer Anwendung und Änderungen an Datenbankstrukturen daher besonders komplex. Der erste Schritt um eine Verbesserung herbeizuführen ist es, die Datenbank ebenfalls unter Quellcodeverwaltung zu stellen. Das erleichtert nicht nur die Zusammenarbeit mit anderen Teammitgliedern und ermöglicht ein einfacheres Deployment, sondern es bildet auch die Grundlage für Continuous Integration, sowie automatisiertes Testing.
Dieser User-Group Abend zeigt:
* wie man seine SQL Datenbank genauso einfach in die Quellcodeverwaltung bringt wie .NET Code
* wie man seine Datenbank direkt aus der Quellcodeverwaltung heraus deployen kann und
* wie man einen ersten Schritt in Richtung Continous Integration machen kann
Die alte Software genügt den Anforderungen nicht mehr, eine neue muss her. Zahlreiche Standardsysteme buhlen um die Gunst der Entscheider - aber ist Standard immer das richtige? Wann lohnt sich eine individuelle Eigenentwicklung? In der Session wird beleuchtet, warum der neue Shop von Globetrotter Ausrüstung nicht mit einer Standardsoftware läuft - und welche Vorteile das Unternehmen aus dieser Entscheidung zieht.
Videos sind heute ein selbstverständlicher Bestandteil jeder Homepage. War die Einbindung früher "dank" Flash und FLV-Player unspektakulär, sind mit HTML5 und den mobilen Devices neue Möglichkeiten, aber auch neue Herausforderungen hinzugekommen. Dieser Vortrag ist ein Streifzug durch die komplette Prozesskette und beleuchtet die dabei entstehenden Fragen: Welche Formate soll ich anbieten? In welchen Auflösungen? In welchen Kodierungen? Was machen mit den mobilen Devices? HLS ja oder nein, und wenn ja, wie? Selber encoden oder besser in der Cloud machen lassen? Wie krieg' ich das in mein CMS zurück, und soll es da überhaupt hin? Und last but not least was tun, wenn man ein CDN nutzen muss/möchte? Oder spart man sich den ganzen Aufwand doch besser, stellt seine Videos einfach auf YouTube und lässt Google die Arbeit machen? Eine 360-Grad-Betrachtung der Aufgabenstellung Video im Web und auf mobilen Devices zwischen Bequemlichkeit und Perfektionismus.
See video: http://youtu.be/6e4HnoSs2J8 - Jetzt anfragen: http://seibert.biz/anfrage - Joachim Seibert und Martin Seibert (beide //SEIBERT/MEDIA) stellen das Continous Deployment (Continous Delivery) bei TwentyFeet und das Konzept für agile Software-Entwicklung im allgemeinen vor. Mehr Info: http://seibert.biz/continousdeployment
Monolithische Mehrschichtarchitekturen scheinen ihre besten Tage hinter sich zu haben. Heute muss alles “micro”, „loosely coupled“ und „highly flexible“ sein. Ach ja, “resilient” nicht zu vergessen! Hört sich spannend an, aber was genau bedeutet das eigentlich für uns Entwickler/Architekten? Brauchen wir wirklich neue Architekturen? Und wenn ja, welche Herausforderungen ergeben sich dadurch? Mit welchen Patterns und Best Practices kann man diese Herausforderungen bewältigen? Und wie sieht überhaupt ein möglicher Migrationspfad aus, wenn man nicht das Glück hat, auf der grünen Wiese starten zu dürfen? Fragen über Fragen. Die zugehörigen Antworten auf dem Weg in eine leichtgewichtige(re) Zukunft gibt es in der Session.
Die Zeiten einfacher Web-Anwendungen sind gezählt. Moderne Unternehmen stehen heute vor der Aufgabe, unterschiedlichste Kanäle, wie Web, Desktop, Mobile oder 3rd Party Clients, parallel bedienen zu müssen. Und das mit einer Architektur. Wie aber sieht eine passende Architektur aus? Welche neuen Herausforderungen ergeben sich durch die zusätzlichen Kanäle? Und welche Auswirkungen hat dies auf Aspekte wie Security, Schnittstellendesign oder das Datenmodell? In der Session „öffnen“ wir eine Web-Anwendung und stellen uns den Herausforderungen.
Oftmals wird "Multi-Channel" gleichgesetzt mit Responsive Design. Dies setzt allerdings voraus, dass jeder Channel mehr oder minder dieselben Use-Cases bedient. Ein echter Business-Mehrwert wird aber erst erreicht, wenn jeder Channel seine speziellen Eigenschaften ausspielt, was automatisch eine deutlich größere Flexibilität - auch auf Ebene der Architektur - verlangt. Genau hier setzt die Session an und zeigt, wie eine Architektur aufgebaut sein sollte, die deutlich mehr erlaubt als "nur" Responsive Design.
In dieser Präsentation werden euch anhand der Rolle des Chief Technical Officer eine Reihe von Themen, Methoden und Ressourcen mitgegeben, die euch dabei helfen, eine skalierende Software-Entwicklung aufzubauen.
Event Carried State Transfer is a method that allows you to efficiently share data between multiple applications. We use it to make the integration between our microservices more decoupled and robust. After a small introduction to the underlying pattern we will discuss some challenges & learnings around implementing it.
Communication in a Microservice Architecture (Ljubljana Backend Meetup 2021)Per Bernhardt
This is my updated presentation on Communication in a Microservice Architecture. There are many different approaches to how you let your microservices communicate with one another. Be it asynchronous or synchronous, choreographed or orchestrated, eventual consistent or distributedly transactional, fault-tolerant, or just a mess! In this session, I will provide an overview of different concepts of microservice communication and their pros & cons. On the way, I'll try to throw in some anecdotes, success stories, and failures I learned from so that you can hopefully take something home with you.
Microservice Test Strategy (@Bonn Code Meetup)Per Bernhardt
Based on a scientific paper by Thoughtworks, this talk will introduce you to a common approach on how to test microservices. We walk through typical components of a microservice and how to test them using different types of tests. Finally we will talk about how to combine these tests so that in the end you can have a very high confidence with your code but still be able to release it within minutes.
Communication in a Microservice ArchitecturePer Bernhardt
There are many different approaches to how you let your microservices communicate between one another. Be it asynchronous or synchronous, choreographed or orchestrated, eventual consistent or distributedly transactional, fault tolerant or just a mess! In this session I will provide an overview on different concepts of microservice communication and their pros & cons. On the way I'll try to throw in some anecdotes, success stories and failures I learned from so that you can hopefully take something home with you.
Im Januar 2017 ist unser neues Magazin auf Basis von Drupal 8 online gegangen. Im Laufe des Projekts sind wir auf einige Problemstellungen getroffen, die als Case Study für die erste wiederbelebte Drupal UserGroup Rheinland dienten. Dabei wurde statt eines Frontalvortrags eine sogenannte Case Clinic durchgeführt, bei der die Teilnehmer sich selbst der Erarbeitung von Lösungsansätzen widmen!
In Zeiten von Microservices bekommen Schnittstellen zwischen Diensten eine immer größere Bedeutung. Dieser Vortrag soll zeigen, wie man mit Hilfe des Tools Pact so genannte Contract Tests schreiben kann, um die Stabilität solcher Schnittstellen sicherzustellen, auch über verschiedene Teams und Technologien hinweg.
Wir arbeiten gerade bei Chefkoch.de daran, unsere komplette Infrastruktur auf Container umzustellen. Für die Orchestrierung haben wir uns dabei für Kubernetes entschieden. Ich würde euch gerne erzählen, warum wir uns für diesen Weg entschieden haben und welche (guten und schlechten) Erfahrungen wir dabei bisher gemacht haben.
Kubernetes: Wie Chefkoch.de mit Containern arbeitetPer Bernhardt
Container erfreuen sich in letzter Zeit enormer Beliebtheit, da sie Systemadministratoren und Entwicklern eine einfache und gemeinsame Verwaltung Ihrer Infrastruktur ermöglichen. Je nachdem wie die Systemlandschaft aufgebaut ist und wie viel Traffic sie bedienen muss, reicht ein einfaches „docker build + docker run“ aber nicht mehr, um die Container in allen Lebensphasen einer Anwendung verwenden zu können. In diesem Vortrag möchte ich zeigen, weshalb wir uns bei Chefkoch.de deshalb für die Einführung des Orchestrierungs-Tools Kubernetes entschieden haben und wie wir damit Container sowohl in der Entwicklung als auch in allen Testphasen und letztendlich auch in Produktion verwenden.
Microservice Teststrategie mit Symfony2Per Bernhardt
Was teste ich in einer Symfony2-Anwendung eigentlich wie? Sollte ich einen klassichen PHPUnit-Test, einen funktionalen Symfony2-WebTestCase oder vielleicht einen Behat-Test schreiben? Das Infodeck "Testing Strategies in a Microservice Architecture" von ThoughtWorks beschreibt eine sehr sinnvolle Strategie zum Testen von Microservice-Anwendungen, bietet aber auch gute Entscheidungshilfen zum Testen von Anwendungen im Allgemeinen. Mit diesem Vortrag möchte ich unseren Ansatz bei Chefkoch.de zeigen, die allgemeine Strategie von ThoughtWorks auf ein konkretes Symfony2 Projekt anzuwenden.
The document describes the architecture of a web application that provides an API for a recipe application. It includes descriptions of the application layer, presentation layer, infrastructure layer, and domain layer. It then provides a detailed example of how the Chefkoch API implements these layers for an endpoint that saves a recipe category. Key aspects include using Symfony components, separating concerns into services, using commands and events, and enforcing security and data access policies.
2. Agenda
• Hosen runter!
• „Theoretischer Hintergrund“
• Continuous Integration
• Continuous Delivery
• Wo wir (vielleicht) hin wollen: „Deployment Pipeline“
• Was wir heute schon können
• Ausblick