Beim April Termin dreht sich alles um die lokale Entwicklungsumgebung DDEV. Lange Jahre galten AMP-Lösungen als das Maß aller Dinge. Ohne großes Vorwissen erhielt man eine direkt nutzungsbereite Anwendung, welche Apache/Nginx, MySQL und PHP enthielt. Der Haken dabei, die Versionsnummer der mitgelieferten Anwendungen war fix vorgegeben und eine eigenständige Erweiterung war schwer bis unmöglich. Zudem war man von den Entwicklerinnen und Entwicklern abhängig, wann diese eine neue Version veröffentlichten um z. B. eine neue PHP Version zu unterstützen.
Vagrant behob, mit dessen Veröffentlichung, die meisten der genannten Fallstricke. Mit selbigem konnte man komplette Linux-Installation virtualisieren. In Kombination mit einer Orchestrierungs-Lösung wie Ansible oder Puppet konnte dann ein lokales Entwicklungssystem komplett nach den eigenen Wünschen konfektioniert und angepasst werden, damit es die Serverkonfiguration auf dem eigenen Webserver exakt widerspiegelt. Die Kehrseite der neu gewonnenen Flexibilität, der Anspruch an Nutzerinnen und Nutzer stieg exorbitant und eine lokale Entwicklungsumgebung war nicht mehr in einem Mausklick gestartet.
Hier kam nun vor ein paar Jahren Docker ins Spiel. Anstelle der Virtualisierung ganzer Betriebssysteme werden nun einzelne Applikationen in Container verpackt. Sprich ein Container beinhaltet jeweils nur eine Version einer Anwendung wie PHP, MySQL oder Apache. Aber auch hier ist das Auswählen, Zusammenstellen und Betreiben der einzelnen Container nicht untrivial. Hier schlägt nun die Stunde von Lösungen wie DDEV. Eine Applikation beziehungsweise Abstraktionsebene für die Verwendung von Docker, die dessen Nutzung auf ein paar einfache Befehle reduziert und viel Nachdenken, Hirnschmalz sowie Arbeit erspart.
Frank Schmittlein wird beim April-Meetup besagtes DDEV vorstellen. Er geht dabei der Frage nach, was bei der Installation alles zu beachten ist. Wie man DDEV im Anschluss richtig konfiguriert und welche Befehle man für die tägliche Nutzung kennen sollte. Er zeigt zudem wie man DDEV mittels Hooks beim Start oder beim Import von Datenbanken und oder Dateien um weitere Anweisungen erweitern kann. Zu guter Letzt demonstriert er, wie man WordPress mit Hilfe von wp-cli, einer Sammlung von Kommandozeilen-Tools, einfach unter DDEV installieren kann. Sollten am Ende noch Fragen offen geblieben sein, können selbige in der anschließenden Fragerunde mit Sicherheit von Frank beantwortet werden. Wir sehen uns im April!
Implementing Metrics & Completeness Reporting in TMF ManagementMontrium
Completeness is a key measurement for TMF to assess inspection readiness, however most organizations and eTMF systems are unable to calculate it accurately. The reason for this is primarily due to a lack of information or knowledge of study design and events that have occurred or that will occur in the study.
In this webinar, we will discuss strategies for calculating accurate completeness as well as review other key metrics that enable you to assess your TMF health and inspection readiness.
Blackhat 2018 - The New Pentest? Rise of the Compromise AssessmentChristopher Gerritz
The document discusses compromise assessments, which are proactive evaluations of systems to detect threats that have evaded existing security controls. A compromise assessment is faster, more affordable, and independent compared to traditional vulnerability assessments and penetration tests. The assessment methodology involves planning, preparation, discovery, collection of data from endpoints, analysis of the collected data using techniques like forensic state analysis, and reporting of findings. It is recommended that organizations conduct regular compromise assessments by a third party to validate network security and detect any unauthorized access.
This document outlines a 6-phase process for developing an information security management system (ISMS) to ensure compliance with HIPAA security regulations. Phase 1 involves planning the project. Phase 2 develops security policies and standards. Phase 3 performs a risk assessment to identify threats, vulnerabilities and risks. Phase 4 manages identified risks. Phase 5 implements security controls. Phase 6 prepares documentation of the compliance program. The goal is to establish an ongoing management system for maintaining security and regulatory compliance.
Este livro fornece informações sobre viver exclusivamente da luz, um processo pelo qual a autora passou. Ela descreve sua experiência e como tem ajudado outras pessoas, mas enfatiza que cada um deve seguir a orientação interna. O livro também discute as reações negativas ao processo e fornece outras opções para aqueles não preparados para 21 dias sem comida.
This document provides an overview of the key topics covered in the 2016 CISA Review Course, including IS auditor roles and responsibilities, audit planning, risk analysis, internal controls, performing IS audits, and compliance vs substantive testing. The document outlines ISACA standards and guidelines for IS auditing, and frameworks like COBIT 5 that help achieve governance and management objectives for enterprise IT. Methodologies, techniques, and objectives for risk-based auditing are also summarized.
Soc 2 attestation or ISO 27001 certification - Which is better for organizationVISTA InfoSec
Organizations struggle with the decision between selecting the SOC 2 attestation or ISO 27001 Certification. It is important to understand which audit is required & suitable for your organization.
Beim April Termin dreht sich alles um die lokale Entwicklungsumgebung DDEV. Lange Jahre galten AMP-Lösungen als das Maß aller Dinge. Ohne großes Vorwissen erhielt man eine direkt nutzungsbereite Anwendung, welche Apache/Nginx, MySQL und PHP enthielt. Der Haken dabei, die Versionsnummer der mitgelieferten Anwendungen war fix vorgegeben und eine eigenständige Erweiterung war schwer bis unmöglich. Zudem war man von den Entwicklerinnen und Entwicklern abhängig, wann diese eine neue Version veröffentlichten um z. B. eine neue PHP Version zu unterstützen.
Vagrant behob, mit dessen Veröffentlichung, die meisten der genannten Fallstricke. Mit selbigem konnte man komplette Linux-Installation virtualisieren. In Kombination mit einer Orchestrierungs-Lösung wie Ansible oder Puppet konnte dann ein lokales Entwicklungssystem komplett nach den eigenen Wünschen konfektioniert und angepasst werden, damit es die Serverkonfiguration auf dem eigenen Webserver exakt widerspiegelt. Die Kehrseite der neu gewonnenen Flexibilität, der Anspruch an Nutzerinnen und Nutzer stieg exorbitant und eine lokale Entwicklungsumgebung war nicht mehr in einem Mausklick gestartet.
Hier kam nun vor ein paar Jahren Docker ins Spiel. Anstelle der Virtualisierung ganzer Betriebssysteme werden nun einzelne Applikationen in Container verpackt. Sprich ein Container beinhaltet jeweils nur eine Version einer Anwendung wie PHP, MySQL oder Apache. Aber auch hier ist das Auswählen, Zusammenstellen und Betreiben der einzelnen Container nicht untrivial. Hier schlägt nun die Stunde von Lösungen wie DDEV. Eine Applikation beziehungsweise Abstraktionsebene für die Verwendung von Docker, die dessen Nutzung auf ein paar einfache Befehle reduziert und viel Nachdenken, Hirnschmalz sowie Arbeit erspart.
Frank Schmittlein wird beim April-Meetup besagtes DDEV vorstellen. Er geht dabei der Frage nach, was bei der Installation alles zu beachten ist. Wie man DDEV im Anschluss richtig konfiguriert und welche Befehle man für die tägliche Nutzung kennen sollte. Er zeigt zudem wie man DDEV mittels Hooks beim Start oder beim Import von Datenbanken und oder Dateien um weitere Anweisungen erweitern kann. Zu guter Letzt demonstriert er, wie man WordPress mit Hilfe von wp-cli, einer Sammlung von Kommandozeilen-Tools, einfach unter DDEV installieren kann. Sollten am Ende noch Fragen offen geblieben sein, können selbige in der anschließenden Fragerunde mit Sicherheit von Frank beantwortet werden. Wir sehen uns im April!
Implementing Metrics & Completeness Reporting in TMF ManagementMontrium
Completeness is a key measurement for TMF to assess inspection readiness, however most organizations and eTMF systems are unable to calculate it accurately. The reason for this is primarily due to a lack of information or knowledge of study design and events that have occurred or that will occur in the study.
In this webinar, we will discuss strategies for calculating accurate completeness as well as review other key metrics that enable you to assess your TMF health and inspection readiness.
Blackhat 2018 - The New Pentest? Rise of the Compromise AssessmentChristopher Gerritz
The document discusses compromise assessments, which are proactive evaluations of systems to detect threats that have evaded existing security controls. A compromise assessment is faster, more affordable, and independent compared to traditional vulnerability assessments and penetration tests. The assessment methodology involves planning, preparation, discovery, collection of data from endpoints, analysis of the collected data using techniques like forensic state analysis, and reporting of findings. It is recommended that organizations conduct regular compromise assessments by a third party to validate network security and detect any unauthorized access.
This document outlines a 6-phase process for developing an information security management system (ISMS) to ensure compliance with HIPAA security regulations. Phase 1 involves planning the project. Phase 2 develops security policies and standards. Phase 3 performs a risk assessment to identify threats, vulnerabilities and risks. Phase 4 manages identified risks. Phase 5 implements security controls. Phase 6 prepares documentation of the compliance program. The goal is to establish an ongoing management system for maintaining security and regulatory compliance.
Este livro fornece informações sobre viver exclusivamente da luz, um processo pelo qual a autora passou. Ela descreve sua experiência e como tem ajudado outras pessoas, mas enfatiza que cada um deve seguir a orientação interna. O livro também discute as reações negativas ao processo e fornece outras opções para aqueles não preparados para 21 dias sem comida.
This document provides an overview of the key topics covered in the 2016 CISA Review Course, including IS auditor roles and responsibilities, audit planning, risk analysis, internal controls, performing IS audits, and compliance vs substantive testing. The document outlines ISACA standards and guidelines for IS auditing, and frameworks like COBIT 5 that help achieve governance and management objectives for enterprise IT. Methodologies, techniques, and objectives for risk-based auditing are also summarized.
Soc 2 attestation or ISO 27001 certification - Which is better for organizationVISTA InfoSec
Organizations struggle with the decision between selecting the SOC 2 attestation or ISO 27001 Certification. It is important to understand which audit is required & suitable for your organization.
Websites, die stark frequentiert werden, sollten in jedem Augenblick optimale Ladezeiten für den Besucher aufweisen. Kommt PHP als objektorientierte Interpreter- Sprache zum Einsatz, muss besonderes Know How mitgebracht werden. Dieser Artikel gibt einen
Überblick über die Performance-Maßnahmen, -Methoden, -Produkten und -Werkzeugen in der PHP- rogrammierung.
Cloud Deployment und (Auto)Scaling am Beispiel von AngrybirdAOE
Sep 08, 2012
Continuous Delivery und Autoscaling von Enterprise Web-Applicationen in der Amazon Cloud
In diesem Vortrag zeigen wir am Beispiel des neuen Angrybird-Onlineshops, der zu Spitzenzeiten bis zu 10 Bestellungen pro Sekunde aufnehmen kann und dabei hochverfügbar ist, wie eine automatisch skalierende Cloud Infrastruktur sowie die nötigen Konzepte aussehen können.
Wir beschreiben die Herausforderungen und unsere Lösungen, um den Shop für ein Multi-Server-Setup vorzubereiten und zu betreiben. Spezielle Anforderungen an eine solche Architektur sowie die Integration von Reverse Proxies (Varnish), die Nutzung eines CDNs, verschiedene Cache-Strategien und weitere Optimierung sind ebenfalls Bestandteil dieses Vortrags. Außerdem stellen wir unsere automatisierte Cloud-Deployment-Strategien vor, angefangen von den Entwicklungsumgebungen, über den continuous Integration Server und unser Testing Framework bis hin zum A/B-Deployment in der Cloud.
Aktuelle Prüfungsfragen und Antworten zu 070-462 www.it-pruefungen.de
Wir Stellen Fragen und Antworten für Prüfungen im IT-Bereich bereit. Falls Sie anschließend den Test doch nicht bestehen, können Sie die Geld-zurück-Garantie nutzen. Die echten und originalen Prüfungsunterlagen zu 070-462(TS:(deutsche Version gekauft,dann englische Version als Geschenk) Administering Microsoft SQL Server 2012 Databases )bei www.it-pruefungen.de wurden verfasst von unseren IT-Experten mit den Informationen von 070-462(TS:(deutsche Version gekauft,dann englische Version als Geschenk) Administering Microsoft SQL Server 2012 Databases )aus dem Testzentrum wie PROMETRIC oder VUE
bccon-2014 adm01 tipps-und-skripts-aus-dem-leben-eines-ibm-connections-adminsICS User Group
Gekürzter Vortrag der Connect 2014 Präsentation "BP307 Practical Solutions for Connections Administrators – Tips and Scripts for Your Daily Business" Tipps und Skripts rund um die Connections Installation, Konfiguration, Dokumentation und Troubleshooting. Wir zeigen Skripte die jedem Administrator das Leben erleichtern können.
Download der Skripts: http://github.com/stoeps13/ibmcnxscripting
Tipps und Skripts aus dem Leben eines Connections AdminsKlaus Bild
Gekürzter Vortrag der Connect 2014 Präsentation "BP307 Practical Solutions for Connections Administrators – Tips and Scripts for Your Daily Business" Tipps und Skripts rund um die Connections Installation, Konfiguration, Dokumentation und Troubleshooting. Wir zeigen Skripte die jedem Administrator das Leben erleichtern können. Download der Skripts: http://github.com/stoeps13/ibmcnxscripting
Slides zur Session auf dem TYPO3Camp in München. In den Slides wird gezeigt, was beim Caching mit Varnish von TYPO3 Webseiten zu beachten ist und welche Probleme auftreten können.
Dieser Workshop konzentriert sich auf WordPress-spezifische Möglichkeiten, und zeigt welche und wie wir bei der Blogwerk AG Performanceoptimierungen an unseren Blogs vorgenommen haben. Wichtige Themen dabei sind der Object-Cache mit verschiedenen Caching-Backends, Full-Site-Cachinglösungen, wie WP Super Cache und PHP-Optimierungen.
Ein IBM Domino Server stellt uns im Durchschnitt 1.200 Statistiken zur Verfügung.
Welche davon sind besonders wichtig? Welche Erkenntnisse und Maßnahmen lassen sich aus diesen Informationen ableiten?
Während unseres Streifzuges durch die wichtigsten Statistiken widmen wir uns unter anderem folgenden Themenbereichen: Server Performance und Auslastung, Cluster Performance, Disk Performance, Kapazitätsplanung / Konsolidierung, Replikation, Ansichts-Indizes, Volltext-Indizes,NameLookupCache, Database Buffer Pool & Caching, Mail-Statistiken, u.v.m.
Mit diversen Beispielen aus der Praxis bekommen Sie in dieser Session ein gutes - und bisweilen gar ganz neues - Bild von den vielen Informationen, die Ihnen ein Domino-Server im laufenden Betrieb zur Verfügung stellt. Zurück zu Hause verstehen Sie Ihre Domino-Server nach Besuch dieses Vortrages noch besser - und können so das Maximum aus Ihren Statistiken und Servern heraus holen.
Track 1.1: Technik - Administration: Dienstag, 11.11.2014
Ist WooCommerce skalierbar? Wenn ja, wie kann ich mein E-Commerce Geschäft beschleunigen?
Um diese Fragen zu beantorten haben wir Robert Windisch eingeladen. Er ist CIO von Inpsyde und persönlich sehr aktiv in der WordPress Community.
Als Betreiber eines E-Commerce Shops ist das Wachstum deines Geschäfts sehr wichtig und ein nicht optimierter Online-Shop könnte sich da als Stolperstein erweisen.
Das Skalieren von WordPress ist nicht einfach und das Skalieren von WooCommerce ist ungleich schwerer. Kunden entscheiden innerhalb von Sekunden um in Deinem Online-Shop weiter zu stöbern oder nicht!
In dem Vortrag werden wir die vielen Möglichkeiten der WordPress Skalierung kennen lernen und Besonderheiten bei der WooCommerce Skalierung ansprechen.
Das Thema Plugin Qualität und die Möglichkeiten von Elastic Search und WooCommerce Data Stores werden für weiterführende Recherche auch kurz behandelt. Ebenso werden wir kurz auf Redis und die zukünftigen Performanceverbesserungen im Kern von WooCommerce eingehen.
OSMC 2010 | Monitoring mit Shinken by Gerhard LaußerNETWAYS
Shinken ist eine Neuimplementierung von Nagios in der Programmiersprache Python. Die eingeschlafene Entwicklung und der unübersichtliche Code von Nagios sowie die wachsende Popularität alternativer Open-Source-Monitoring-Systeme hat dazu geführt, daß der Status von Nagios als Platzhirsch akut gefährdet ist. Um dieser Herausforderung zu begegnen wurde beschlossen, das grundsätzlich gute Konzept von Nagios mit Hilfe moderner Techniken fit für die Zukunft zu machen und die Weiterentwicklung voranzutreiben. Der Vortrag wird zeigen, wie die Architektur von Shinken bisherige Schwächen von Nagios verschwinden und neue Stärken zum Vorschein kommen lässt. Stichworte sind hierbei: Programmierung, Verteilung, Ausfallsicherheit, Load-Balancing, Cloud-Computing..
Monitoring von SAP mit den bisher vorhandenen Plugins beschränkte sich auf die Abfrage von CCMS-Metriken. In einem SAP-System steckt aber noch viel mehr, das sich überwachen lässt. Check_sap_health ist ein neues Plugin, welches in Perl geschrieben wurde. Es entstand in einem Projekt, bei dem von unterschiedlichen Standorten aus die Laufzeiten von BAPI-Aufrufen gemessen werden sollten. Durch die einfache Erweiterung des Plugins um selbstgeschriebene Perl-Elemente lassen sich beliebige Funktionen per RFC aufrufen und somit firmenspezifische Logik implementieren.“
Vortrag gehalten beim Workshop der Open-Source-Monitoring-Community 2014 in Berlin.
TYPO3 Migration in komplexen Upgrade- und Relaunch-ProjektenAlex Kellner
Wie kann ich ein komplexes Upgrade in TYPO3 ideal vorbereiten und strukturiert abarbeiten? Welche Stolperfallen gibt es zu beachten? Was sind die Erfolgsfaktoren?
Websites, die stark frequentiert werden, sollten in jedem Augenblick optimale Ladezeiten für den Besucher aufweisen. Kommt PHP als objektorientierte Interpreter- Sprache zum Einsatz, muss besonderes Know How mitgebracht werden. Dieser Artikel gibt einen
Überblick über die Performance-Maßnahmen, -Methoden, -Produkten und -Werkzeugen in der PHP- rogrammierung.
Cloud Deployment und (Auto)Scaling am Beispiel von AngrybirdAOE
Sep 08, 2012
Continuous Delivery und Autoscaling von Enterprise Web-Applicationen in der Amazon Cloud
In diesem Vortrag zeigen wir am Beispiel des neuen Angrybird-Onlineshops, der zu Spitzenzeiten bis zu 10 Bestellungen pro Sekunde aufnehmen kann und dabei hochverfügbar ist, wie eine automatisch skalierende Cloud Infrastruktur sowie die nötigen Konzepte aussehen können.
Wir beschreiben die Herausforderungen und unsere Lösungen, um den Shop für ein Multi-Server-Setup vorzubereiten und zu betreiben. Spezielle Anforderungen an eine solche Architektur sowie die Integration von Reverse Proxies (Varnish), die Nutzung eines CDNs, verschiedene Cache-Strategien und weitere Optimierung sind ebenfalls Bestandteil dieses Vortrags. Außerdem stellen wir unsere automatisierte Cloud-Deployment-Strategien vor, angefangen von den Entwicklungsumgebungen, über den continuous Integration Server und unser Testing Framework bis hin zum A/B-Deployment in der Cloud.
Aktuelle Prüfungsfragen und Antworten zu 070-462 www.it-pruefungen.de
Wir Stellen Fragen und Antworten für Prüfungen im IT-Bereich bereit. Falls Sie anschließend den Test doch nicht bestehen, können Sie die Geld-zurück-Garantie nutzen. Die echten und originalen Prüfungsunterlagen zu 070-462(TS:(deutsche Version gekauft,dann englische Version als Geschenk) Administering Microsoft SQL Server 2012 Databases )bei www.it-pruefungen.de wurden verfasst von unseren IT-Experten mit den Informationen von 070-462(TS:(deutsche Version gekauft,dann englische Version als Geschenk) Administering Microsoft SQL Server 2012 Databases )aus dem Testzentrum wie PROMETRIC oder VUE
bccon-2014 adm01 tipps-und-skripts-aus-dem-leben-eines-ibm-connections-adminsICS User Group
Gekürzter Vortrag der Connect 2014 Präsentation "BP307 Practical Solutions for Connections Administrators – Tips and Scripts for Your Daily Business" Tipps und Skripts rund um die Connections Installation, Konfiguration, Dokumentation und Troubleshooting. Wir zeigen Skripte die jedem Administrator das Leben erleichtern können.
Download der Skripts: http://github.com/stoeps13/ibmcnxscripting
Tipps und Skripts aus dem Leben eines Connections AdminsKlaus Bild
Gekürzter Vortrag der Connect 2014 Präsentation "BP307 Practical Solutions for Connections Administrators – Tips and Scripts for Your Daily Business" Tipps und Skripts rund um die Connections Installation, Konfiguration, Dokumentation und Troubleshooting. Wir zeigen Skripte die jedem Administrator das Leben erleichtern können. Download der Skripts: http://github.com/stoeps13/ibmcnxscripting
Slides zur Session auf dem TYPO3Camp in München. In den Slides wird gezeigt, was beim Caching mit Varnish von TYPO3 Webseiten zu beachten ist und welche Probleme auftreten können.
Dieser Workshop konzentriert sich auf WordPress-spezifische Möglichkeiten, und zeigt welche und wie wir bei der Blogwerk AG Performanceoptimierungen an unseren Blogs vorgenommen haben. Wichtige Themen dabei sind der Object-Cache mit verschiedenen Caching-Backends, Full-Site-Cachinglösungen, wie WP Super Cache und PHP-Optimierungen.
Ein IBM Domino Server stellt uns im Durchschnitt 1.200 Statistiken zur Verfügung.
Welche davon sind besonders wichtig? Welche Erkenntnisse und Maßnahmen lassen sich aus diesen Informationen ableiten?
Während unseres Streifzuges durch die wichtigsten Statistiken widmen wir uns unter anderem folgenden Themenbereichen: Server Performance und Auslastung, Cluster Performance, Disk Performance, Kapazitätsplanung / Konsolidierung, Replikation, Ansichts-Indizes, Volltext-Indizes,NameLookupCache, Database Buffer Pool & Caching, Mail-Statistiken, u.v.m.
Mit diversen Beispielen aus der Praxis bekommen Sie in dieser Session ein gutes - und bisweilen gar ganz neues - Bild von den vielen Informationen, die Ihnen ein Domino-Server im laufenden Betrieb zur Verfügung stellt. Zurück zu Hause verstehen Sie Ihre Domino-Server nach Besuch dieses Vortrages noch besser - und können so das Maximum aus Ihren Statistiken und Servern heraus holen.
Track 1.1: Technik - Administration: Dienstag, 11.11.2014
Ist WooCommerce skalierbar? Wenn ja, wie kann ich mein E-Commerce Geschäft beschleunigen?
Um diese Fragen zu beantorten haben wir Robert Windisch eingeladen. Er ist CIO von Inpsyde und persönlich sehr aktiv in der WordPress Community.
Als Betreiber eines E-Commerce Shops ist das Wachstum deines Geschäfts sehr wichtig und ein nicht optimierter Online-Shop könnte sich da als Stolperstein erweisen.
Das Skalieren von WordPress ist nicht einfach und das Skalieren von WooCommerce ist ungleich schwerer. Kunden entscheiden innerhalb von Sekunden um in Deinem Online-Shop weiter zu stöbern oder nicht!
In dem Vortrag werden wir die vielen Möglichkeiten der WordPress Skalierung kennen lernen und Besonderheiten bei der WooCommerce Skalierung ansprechen.
Das Thema Plugin Qualität und die Möglichkeiten von Elastic Search und WooCommerce Data Stores werden für weiterführende Recherche auch kurz behandelt. Ebenso werden wir kurz auf Redis und die zukünftigen Performanceverbesserungen im Kern von WooCommerce eingehen.
OSMC 2010 | Monitoring mit Shinken by Gerhard LaußerNETWAYS
Shinken ist eine Neuimplementierung von Nagios in der Programmiersprache Python. Die eingeschlafene Entwicklung und der unübersichtliche Code von Nagios sowie die wachsende Popularität alternativer Open-Source-Monitoring-Systeme hat dazu geführt, daß der Status von Nagios als Platzhirsch akut gefährdet ist. Um dieser Herausforderung zu begegnen wurde beschlossen, das grundsätzlich gute Konzept von Nagios mit Hilfe moderner Techniken fit für die Zukunft zu machen und die Weiterentwicklung voranzutreiben. Der Vortrag wird zeigen, wie die Architektur von Shinken bisherige Schwächen von Nagios verschwinden und neue Stärken zum Vorschein kommen lässt. Stichworte sind hierbei: Programmierung, Verteilung, Ausfallsicherheit, Load-Balancing, Cloud-Computing..
Monitoring von SAP mit den bisher vorhandenen Plugins beschränkte sich auf die Abfrage von CCMS-Metriken. In einem SAP-System steckt aber noch viel mehr, das sich überwachen lässt. Check_sap_health ist ein neues Plugin, welches in Perl geschrieben wurde. Es entstand in einem Projekt, bei dem von unterschiedlichen Standorten aus die Laufzeiten von BAPI-Aufrufen gemessen werden sollten. Durch die einfache Erweiterung des Plugins um selbstgeschriebene Perl-Elemente lassen sich beliebige Funktionen per RFC aufrufen und somit firmenspezifische Logik implementieren.“
Vortrag gehalten beim Workshop der Open-Source-Monitoring-Community 2014 in Berlin.
TYPO3 Migration in komplexen Upgrade- und Relaunch-ProjektenAlex Kellner
Wie kann ich ein komplexes Upgrade in TYPO3 ideal vorbereiten und strukturiert abarbeiten? Welche Stolperfallen gibt es zu beachten? Was sind die Erfolgsfaktoren?
3. Über Jonas
● Linux Administrator bei maxcluster
● Fokus auf Performance-Analysen
● Mail: jhuenig@maxcluster.de
● Github: https://github.com/jonashrem
● Twitter: @jonashrem
5. Warum Performance-Optimierung?
● Ziel eines Shopbetreibers: Steigerung der Conversion Rate
● Unmittelbarer Zusammenhang zwischen der Conversion Rate und der Performance eines
Onlineshops
● Ein performanterer Shop kann mehr Besucher gleichzeitig bedienen
→ Performance-Optimierung beginnt beim Hosting!
6. Einordnung von Ladezeiten
Verschiedene Arten von Ladezeiten sagen Unterschiedliches aus!
Es ist wichtig zu verstehen, …
● was gemessen wird
● unter welchen Bedingungen gemessen wird
● wodurch Ladezeit beeinflusst wird
● wie die Ladezeit vor/nach Änderungen gemessen wird
7. TTFB (Time To First Byte)
● Zeit bis zur Antwort des Servers
● Bezieht sich nur auf den eigentlichen Seitenaufruf
PHP-Ausführungszeit
● Ausführungszeit der Anwendung auf dem Server (ohne Netzwerk)
Gesamtladezeit
● Enthält Bilder, Javascript & CSS
Definition von Ladezeiten
15. ● Full-Page-Cache für
dynamische Webseiten
● Wird dem Shop
vorgeschaltet
● Cacht komplette Webseite
im Arbeitsspeicher
● Kann Ladezeit stark
verbessern
● Dynamische Inhalte
werden über Ajax oder ESI
nachgeladen
Über Varnish
16. Voraussetzungen für die Konfiguration
● Shopware 6.4 oder neuer
● Varnish 6 oder höher
● Redis-Instanz für Tags
● Prüfen, welche Inhalte aus dem Cache kommen!
19. Über Redis
● Key/Value Datenbank
● Speichert Daten für performanten Zugriff im Arbeitsspeicher
● Bringt hohe Geschwindigkeitsvorteile bei parallelen Zugriffen
● Eignet sich daher besonders gut für Session- oder Cache-Inhalte
● Empfohlen besonders für mittlere und große Onlineshops
20. Redis als Datenbank für Shopware-Sessions
● Im Normalfall Speicherung der Sessions durch Shopware 6 auf dem Dateisystem
● Redis liegt als „in memory“-Datenbank im Arbeitsspeicher
● Kann über Symfony-Methoden in Redis verschoben werden
21. Redis als Session-Handler einrichten
● Konfiguration erfolgt über die Symfony-Konfigurationsdatei config/services.yaml:
services:
Redis:
class: Redis
calls:
- method: connect
arguments:
- '%env(REDIS_SESSION_HOST)%'
- '%env(int:REDIS_SESSION_PORT)%'
SymfonyComponentHttpFoundationSessionStorageHandlerRedisSessionHandler:
arguments:
- '@Redis'
● Festlegung von Redis als Session-Handler → Eintragung von Host und Port als
Variablen
22. Redis als Session-Handler einrichten
1. Variablenzuweisung innerhalb der .env, damit die Variablen genutzt werden können:
REDIS_SESSION_HOST=127.0.0.1
REDIS_SESSION_PORT=6380
2. Shopware-Cache leeren, damit Änderungen wirksam werden:
bin/console cache:clear
3. Mithilfe der Redis-Konsole überprüfen, ob die Sessions erfolgreich in Redis
gespeichert werden:
redis-cli -p 6380 MONITOR
23. Redis als Datenbank für Shopware-Cache
● Shopware 6 legt Anwendungscache im Normalfall im Dateisystem ab
● Kann über Symfony-Methoden in Redis verschoben werden
● Pools können einzeln oder komplett in Redis ausgelagert werden
● Größe des Caches prüfen!
24. Redis als Cache-Handler einrichten
● Ablage der Konfiguration für den Cache-Handler in der Datei
config/packages/framework.yaml
● Dafür entweder einzelne Cache-Pools definieren oder Redis als Default Redis für alle
Cache-Pools festlegen
● Als HTTP-Cache wird der Pool cache.http angesprochen:
framework:
cache:
default_redis_provider: "redis://%app.redis.cache.host%:%app.redis.cache.port%"
pools:
cache.http:
default_lifetime: 3600
adapter: cache.adapter.redis
tags: cache.tags
● Alternativ die Konfiguration als Default für alle Pools:
framework:
cache:
app: cache.adapter.redis
default_redis_provider: "redis://%app.redis.cache.host%:%app.redis.cache.port%"
25. 1. Für Übersetzung verwendeter Variablen müssen gesetzte Parameter in die Datei
config/services.yaml integriert werden:
parameters:
app.redis.cache.host: "%env(REDIS_CACHE_HOST)%"
app.redis.cache.port: "%env(REDIS_CACHE_PORT)%"
2. Auf die Werte aus der .env-Datei zurückgreifen:
REDIS_CACHE_HOST=127.0.0.1
REDIS_CACHE_PORT=6379
3. Shopware-Cache mit folgendem Befehl leeren, damit die Änderungen wirksam werden:
bin/console cache:clear
Redis als Cache-Handler einrichten
Bildquelle // Fotograf
27. Datenbankeinstellungen
● Standardeinstellung von MySQL oft schon sehr gut
● Keine Templates aus dem Internet kopieren
● InnoDB Buffer Pool Size an Anwendung anpassen
● Andere Werte nach Bedarf anpassen
28. Queries finden und prüfen
1. Langsame Queries finden
2. Queries optimieren
3. Ausführungsplan mit EXPLAIN prüfen
4. MySQL-Indizes prüfen
31. MySQL Auslastung mit Slow Log prüfen
● Slow Log für begrenzten Zeitraum aktivieren
● Analyse auch mit long_query_time=0 relevant
● Analyse der Slow log mit pt-query-digest
32. MySQL-Auslastung mit Slow Log prüfen
● Über die Slow
Log lassen sich
Queries mit
hohen
Auswirkungen
auf die Laufzeit
finden
34. ● NoSQL-Datenbank mit Fokus auf Suchfunktionen
● funktioniert als Suchengine
Über Elasticsearch
35. ● Erhält Kopie des Produktkatalogs in für Suchen optimierter Form
● beschleunigt die Shopware-Suche
● Voraussetzung für Enterprise-Suche
Elasticsearch und Shopware 6
36. Vorbereitung
1. Datenbank-Tabellen leeren
2. Den Parameters-Block kopieren
3. Den kopierten Parameters-Block in die
Datei des container-Blocks einfügen
4. Anpassungen in der services.xml
vornehmen
5. Shopware-Cache leeren
truncate table enqueue;
truncate table message_queue_stats;
vendor/shopware/elasticsearch/Resources/config/services.xml
config/services.xml
number_of_shards 1
numer_of_replicas 0
mapping.total_fields.limit 50000
php bin/console cache:clear
37. Reindex
Reindex in einer Screen-Session
screen -S elastic
php bin/console es:index
php bin/console messenger:consume -vv
39. Standardverhalten von Shopware 6
● Shopware 6 funktioniert standardmäßig „out of the box“
● Standard-Konfiguration ist nicht immer optimal
● Um nachträglichen Konfigurationsaufwand gering zu halten, ist Admin Worker aktiv
● Admin Worker führt Aufgaben im Hintergrund durch
● Wird nur durch Aktivitäten im Shopware-Backend getriggert
⇒ langsames Backend!
Empfehlung: Deaktivierung des Admin Workers, um stattdessen die Message Queue zu
verwenden
40. Message Queue
● Erlaubt es, Aufgaben asynchron auszuführen
● Kann in MySQL oder RabbitMQ abgelegt werden
● benötigt (einen oder mehrere) Queue Consumer
41. Queue Consumer
● Läuft im Hintergrund und arbeitet Aufgaben ab
● Kann über Cronjob gestartet werden
● Kann über Prozessmanager wie Supervisord oder systemd gestartet werden
42. Admin Worker deaktivieren und Cronjobs einrichten
1. Deaktivierung des Shopware 6 Admin-Workers in der Datei
config/packages/shopware.yaml:
shopware:
admin_worker:
enable_admin_worker: false
2. Start der Dienste Scheduled Task Runner und Message Consumer zur Verwendung
der Message Queue. Konfiguration z.B. via Cronjob:
*/3 * * * * /usr/bin/php /var/www/share/beispiel.de/shopware/bin/console scheduled-task:run --time-limit=120
*/3 * * * * /usr/bin/php /var/www/share/beispiel.de/shopware/bin/console messenger:consume --time-limit=120
→ Beispiel Cronjob-Konfiguration:
● Start der Consumer alle 3 Minuten mit einer Laufzeit von 2 Minuten
● Empfehlung: Kurze Laufzeit, um Memory-Leaks zu vermeiden
43. ● Alternativ: Verwaltung der Dienste Scheduled Task Runner und Consumer durch
Supervisord
● Dazu wird für jeden Prozess eine entsprechende Konfiguration angelegt
● Beispiel für den Scheduled Task Runner:
[program:scheduler]
command=php -dmemory_limit=-1 /var/www/share/beispiel.de/shopware/bin/console scheduled-task:run --time-limit=60
autostart=true
autorestart=true
startsecs=1
stopsignal=TERM
Beispiel-Prozess mit Supervisord: Laufzeit von 60 Sekunden mit einem Memory Limit von
512 MB und automatischem Neustart nach dem Beenden des Prozesses
Supervisor Prozessverwaltung
44. Supervisor Prozessverwaltung
Eine Beispiel-Unit für den Consumer:
[program:consumer]
command=php -dmemory_limit=-1 /var/www/share/beispiel.de/shopware/bin/console messenger:consume --time-limit=60 --memory-limit=512M
autostart=true
autorestart=true
startsecs=1
stopsignal=TERM
ExecStart=/usr/bin/php
46. Zusammenfassung
● Shop-Performance ist wichtig, um Besucher zu halten und eine hohe Besucherzahl zu
bedienen
● Um die Performance zu verbessern, müssen Flaschenhälse zuerst identifiziert und
gemessen werden
● FPC in Varnish bringt einen extremen Geschwindigkeitsvorteil
● Für mittlere und größere Shops lohnt es sich, Sessions und Cache in Redis zu
verschieben
● Ineffiziente Datenbank-Queries können ein Flaschenhals sein
● Elasticsearch kann die Suche stark beschleunigen
● Message Queue statt Admin Worker verwenden
48. Performance-Optimierung bei maxcluster
● Analyse von Flaschenhälsen
● Proaktives Monitoring
● Empfehlungen zu Anwendungsoptimierungen
● Optimierungen von Serverparametern zur Anwendung
● Begleitung bei High Traffic Events
49. Vielen Dank für Ihre
Aufmerksamkeit!
Unsplash // Abed Ismail
50. Weiterführende Lektüre
● Blogartikel zum Thema Webseitenkomprimierung
● Blogartikel zum Thema Profiling mit Tideways
● Blogartikel zum Thema Performance-Optimierung mit Redis
● Blogartikel zum Thema Elasticsearch
● Blogartikel zum Thema Conversion-Optimierung
● geplant: Blogartikel zum Thema Varnish
E-Mail: jhuenig@maxcluster.de
Github: https://github.com/jonashrem
Twitter: @jonashrem
Kontakt Jonas Hünig Kontakt maxcluster
maxcluster GmbH
Lise-Meitner-Str. 1b
33104 Paderborn
Tel.: 05251 / 41 41 30
E-Mail: info@maxcluster.de
Web: maxcluster.de