scrit.ch
Open in
urlscan Pro
2a11:7980:2:70::2
Public Scan
URL:
https://scrit.ch/
Submission: On November 06 via api from CH — Scanned from CH
Submission: On November 06 via api from CH — Scanned from CH
Form analysis
0 forms found in the DOMText Content
SCRITDOTCH * Blog * Archive * About 02 Sep 2010 EXPLOITING DYNAMIC INFORMATION IN IDES IMPROVES SPEED AND CORRECTNESS OF SOFTWARE MAINTENANCE TASKS → Based on my master thesis an article for the IEEE Transactions on Software Engineering got accepted and will be published soon. > David Röthlisberger, Marcel Härry, Alex Villazón, Danilo Ansaloni, Walter > Binder, Oscar Nierstrasz, and Philippe Moret. Exploiting Dynamic Information > in IDEs Improves Speed and Correctness of Software Maintenance Tasks. In > Transactions on Software Engineering, 2010. To appear. Publication in the scg-Bibliography: Link PDF Abstract: > Modern IDEs such as Eclipse offer static views of the source code, but such > views ignore information about the runtime behavior of software systems. Since > typical object-oriented systems make heavy use of polymorphism and dynamic > binding, static views will miss key information about the runtime > architecture. In this article we present an approach to gather and integrate > dynamic information in the Eclipse IDE with the goal of better supporting > typical software maintenance activities. By means of a controlled experiment > with 30 professional developers we show that for typical software maintenance > tasks integrating dynamic information into the Eclipse IDE yields a > significant 17.5\% decrease of time spent while significantly increasing the > correctness of the solutions by 33.5\%. We also provide a comprehensive > performance evaluation of our approach. -------------------------------------------------------------------------------- 08 Jun 2010 AUGMENTING ECLIPSE WITH DYNAMIC INFORMATION → Finally, I delivered my master thesis: Augmenting Eclipse with Dynamic Information. Publication in the scg-Bibliography: Link PDF Abstract: > Traditional IDEs such as Eclipse provide a broad range of supportive tools and > views to manage and maintain software projects. However, they provide > developers mainly with static views on the source code neglecting any > information about runtime behavior. As object-oriented programs heavily rely > on polymorphism and late-binding, it is difficult to understand such programs > only based on their static structure. Developers therefore tend to gather > runtime information with debuggers or profilers to reason about dynamic > information. Information gathered using such procedures is volatile and cannot > be exploited to support developers navigating the source space to analyze and > comprehend the software system or to accomplish other typical software > maintenance tasks. In this thesis we present an approach to augment static > source perspectives of Eclipse with dynamic information such as precise > runtime type information or memory and object allocation statistics. Dynamic > information can leverage the understanding for the behavior and structure of a > system. We rely on dynamic data gathering based on aspects to analyze running > Java systems. To integrate dynamic information into Eclipse we implemented a > plugin extending the Eclipse Java Development Toolkit (JDT) called Senseo. > This plugin augments existing IDE tools of Eclipse and several standard views > of JDT such as the Package Explorer with dynamic information. Besides these > enrichments, Senseo provides several visualizations such as an overview of the > collaboration within the software system. We comprehensively report on the > efficiency of our approach to gather dynamic information. To evaluate our > approach we conducted a controlled experiment with 30 professional developers. > The results show that the availability of dynamic information in the Eclipse > IDE yields for typical software maintenance tasks a significant 17.5% decrease > of time spent while significantly increasing the correctness of the solutions > by 33.5%. -------------------------------------------------------------------------------- 03 Jun 2010 EIN ERFAHRUNGSBERICHT VOM PUPPETCAMP 2010 → Read from my journey to the European Puppetcamp 2010 on Puzzle ITC’s techblog: Original Link > Am Puppetcamp tauschen sich EntwicklerInnen von Puppet und die Community > untereinander aus. Mit dabei waren dieses Jahr im belgischen Ghent auch zwei > Devops von Puzzle. PUZZLER AM PUPPETCAMP Letztes Jahr fand in San Francisco zum ersten Mail ein Puppetcamp auf Initative von Puppet Labs statt. In diesem Jahr organisierte der langjährige Puppeteer und Devops-Evangelist Patrick Debois ein Puppetcamp in Ghent (Belgien). Simon Josi und ich haben uns das mal angesehen. KEYNOTE Luke Kanies - Projektgründer von Puppet und CEO von Puppet Labs - gab in der Keynote einen Überblick über den aktuellen Stand von Puppet sowie einen Ausblick auf die nächsten Eckpunkte in der Entwicklung von Puppet und dessen Ökosystem. Wichtige Ankündigungen waren: * Das nächste Release von Puppet wird als Version 2.6 erscheinen. Der Sprung von 0.25 auf 2.6 unterstreicht die Stabilität sowie die Etablierung und Verbreitung von Puppet. * Das neue Release wird den Umstieg auf eine REST-basierte API vollenden und weitere Verbesserungen in Performance und Ressourcenverbrauch bringen. Viele dieser Änderungen sind dank Feedback und Testing der Community entstanden. * Das neue Release wird eine interne, Ruby-basierte DSL enthalten, welche es erlaubt, Manifests auch direkt in Ruby zu schreiben. Die externe DSL wird jedoch weiterhin bestehen und die Hauptumgebung für die meisten Puppeteers bleiben. * Ein weiteres Highlight war die Ankündigung der Puppet Forge, einem zentralen Verzeichnis für Puppet Module aus der Community. Puppet Forge ermöglicht das einfache publizieren, sharen und finden von Puppet-Modulen. So fördert Puppet Labs den Austausch innerhalb der äusserst aktiven Puppet Community und bietet einen Dreh- und Angelpunkt für die Entwicklung von Modulen. Die aktuelle Version der Plattform ist ein erster Wurf und weitere Ideen werden im Bugtracker gerne aufgenommen. * Puppet-Dashboard wird in naher Zukunft mit weiteren Neuerungen aufwarten und noch mehr Möglichkeiten für die Auswertung wie auch für die Konfigurationen der Puppet-Umgebung bieten. * Eine besser Integration von Puppet mit weiteren Werkzeugen wie zum Besipiel MCollective soll die Orchestrierung einer automatisierten Infrastuktur besser unterstützen. * David Schmitt von dasz.at arbeitet im Auftrag von Puppet Labs aktiv an der Windows-Unterstützung von Puppet. Weiter sprach Luke Kanies über die Entwicklung von Puppet Labs als Firma hinter dem Projekt Puppet und hob die verschiedenen Einsatzgebiete von Puppet hervor. So zum Beispiel die Integration von Puppet in die Ubuntu Cloud und deren Auslieferung auf Dell-Servern. EMBEDDED PUPPET Der nächste Vortrag (“Slides”:http://projects.tryphon.eu/blog/2010/05/28/puppetcamp-embedded-systems/) widmete sich einem speziellen Einsatzgebiet von Puppet: Die Firma “Tryphon”:http://www.tryphon.eu nutzt Puppet einerseits als Buildtool um ihre embedded Multimedia-Devices zu bootstrappen, andererseits um lokale Useränderungen zu propagieren. Interessant dabei ist der Einsatz von Puppet auf embedded Geräten mit wenig Arbeitsspeicher und schwacher CPU und einem Read-Only Filesystem, sowie die Kombination eines Webinterfaces und Puppet um Änderungen z.B. an der IP-Adresse des Gerätes zu propagieren. “Alle Tools von Tryphon”:http://projects.tryphon.eu/ sind unter der GPL veröffentlicht. PUPPET @ NEW YORK STOCK EXCHANGE Rafael Brito vom New York Stock Exchange zeigte uns, wie das Operation und System Engineering Team des NYSE Puppet einsetzt. (Vortraginfos). NYSE verwaltet mit Puppet Datacenter rund um die Welt und setzt Änderungen an tausenden von Red-Hat Systemen um. Spannend ist hier, wie das Team Puppet für die komplette Entwicklung aller Systemänderungen benutzt, diese jedoch nur sehr konservativ (4mal im Jahr) anwendet. Rafael unterstreicht, wie ihnen Puppet eine enorme Nachvollziehbarkeit von Änderungen sowie deren Dokumentation ermöglicht. Der Vortrag zeigt, dass sich Puppet auch in anspruchsvollen Umgebungen mit konservativem Change-Management integrieren lässt und zum Management von geschäftskritischen Enterprise-Umgebungen beiträgt. Rafael Brito wird diesen Vortrag auch am Red Hat Summit in Boston halten. OPEN SPACES DAY 1 Nach einer kurzen Mittagspause startete das Nachmittagsprogramm, welches dem Konzept von OpenSpaces folgte. Alle Teilnehmenden schlagen Themen vor, die dann auf verschiedene Blöcke aufgeteilt werden. Wichtig ist, das alle selber bestimmen, was wie diskutiert, betrachtet oder vorgestellt wird. Dies führt zu einer breiten Palette an interessanten Themen und einem regen Austausch in der Community. So diskutierten wir unter anderem den Stand der Windows-Unterstützung oder Techniken für das Testen von Manifest-Änderungen. MODULE STANDARDS Alessandro Franceschi von Lab 42 startete den zweiten und leider schon letzten Tag. Er sprach über Standards von Puppet Modulen und der Entwicklung eines Grundsets von offiziell unterstützten Modulen. Alessandro erklärte verschiedene Best Practices der Modul-Entwicklung sowie Features von Puppet, welche die Entwicklung von Modulen unterstützen. Er schloss mit dem Vorschlag zur Entwicklung einiger Standard-Module und lud zur weiteren Diskussion am Nachmittag ein COMPLIANCE MANAGEMENT MIT PUPPET UND SPLUNK Jeff McCune von Puppet Labs präsentierte die Kombination von Puppet und Splunk, einem Analyse-Tool für Log-Meldungen. Damit lassen sich Änderungen innerhalb der Infrastruktur nachvollziehen, was das Compliance Management vereinfacht. Jeff integriert die Reports von Puppet (Logmeldungen der Änderungen die Puppet an einem System durchführte) mit der Versionsverwaltung (z.B. git) und dem Change-Management (z.B. einem Ticketsystem) innerhalb von Splunk, welches die Infrastruktur-Logs zentral auswertet. Änderungen auf Systemen lassen sich so ganz einfach den entsprechenden Puppet-Code Zeilen zuweisen. PUPPET @ OPTIVER Die Systemingenieure von Optiver erzählten von Puppets Einsatz in einer äusserst zeit- und ressourcenkritischen Trading-Umgebung. Viele Leute haben dort Root-Zugriff auf die Systeme und nehmen den ganzen Tag hindurch Änderungen vor. Puppet bringt die Tradingsysteme auf den nächsten Tag hin wieder in den definierten Zustand. Sie zeigten weiter, wie sie Puppetänderungen über ein auf Django basierendes Webinterface umsetzen. Dieses gibt laufend Auskunft über den Zustand der Systeme und ermöglicht so einen schnellen Zugriff auf die verschiedenen Aspekte der automatisierten Umgebung. OPEN SPACES DAY 2 Open Spaces blieb auch am zweiten Nachmittag spannend. Wir haben Themen aus den Vorträgen besprochen, die Architektur von Puppet angeschaut und sind in den Code eingetaucht. Interessant war die Vorstellung von MCollective und die Integration von Puppet. Eine derart zentrale Steuerung einer grossen Anzahl von Hosts bietet verschiedene Möglichkeiten: Zum Beispiel das Steuern von Puppet-Durchgängen oder das gleichzeitige Versetzen verschiedener Hosts in einen Wartungsmodus. In der “Ask-Luke” Session stellte sich Luke Kanies den Fragen, Kommentaren und Anmerkungen der Puppet Community, erläuterte einzelne Konzepte und erklärte wie sich Puppet künftig neben den anderen Tools positionieren wird. Zum Abschluss besuchten wir mit anderen Puppeteers die lokale Fedora 13 Release Party sowie verschiedene Bars in Ghents Innenstadt. UNSER FAZIT Das Puppetcamp 2010 war ein spannender Event, welcher uns neben dem technischen Austausch auch die Möglichkeit bot, E-Mail Adressen und Nicknames mit Gesichtern zu verknüpfen. Für eine vitale Community ist das sehr wertvoll. Die Vorträge haben gezeigt, dass Puppet als wichtiges Werkzeug in der Systemautomatisierung schon sehr weit verbreitet ist. Das Thema bleibt definitiv spannend und es kommen einige Neuerungen auf uns zu. Bei Puzzle ITC beteiligen wir uns weiterhin an der Entwicklung von Puppet. Wir publizieren selber entwickelte Module und halten die Ohren im Bereich der Systemautomation für Sie offen. Haben wir Sie neugierig gemacht oder haben Sie schon länger Fragen zum Thema? Zögern sie nicht, uns zu kontaktieren. Wir beraten sie gerne, zeigen Möglichkeiten auf und unterstützen sie auf dem Weg zur (voll-)automatisierten Systemumgebung. -------------------------------------------------------------------------------- 20 Apr 2010 LASS DIE PUPPEN TANZEN! → Recently I wrote an article in the OSS column of the ICT Kommunikation magazin: Original Link > Mit «Puppet» automatisiert der Linux/Unix- Systemadministrator Konfiguration > und Betrieb beliebig grosser Server-Umgebungen. Viele IT-Abteilungen verwalten ihre Server so, wie die Automobilindustrie Anfang des letzten Jahrhunderts Fahrzeuge herstellte: Eine einzelne Person baute ein Auto zusammen und kümmert sich anschliessend auch um dessen Service. Da dieses Vorgehen teuer ist, führten fast alle Autohersteller die Fliessbandarbeit ein. So können sie heute mit standardisierten Werkzeugen Massanfertigung in grossen Stückzahlen und damit individuelle Fahrzeuge zu tiefen Kosten anbieten. Die gleichen Möglichkeiten bieten sich bei der Handhabung von IT-Umgebungen, in denen Fachleute zahlreiche Server konfigurieren und betreiben müssen. Trotz der Unterschiede finden sich immer wieder automatisierbare Gemeinsamkeiten. Seit einigen Jahren entwickelt die Firma Reductivelabs ein quelloffenes Konfigurationsmanagement- Werkzeug namens Puppet, welches genau diese Bedürfnisse adressiert. Es beschreibt die Systemumgebungen in einer deklarativen Sprache, in sogenannten Manifests. Und Puppet sorgt auch dafür, dass sich die einmal aufgesetzten Systeme jederzeit in diesem definierten Status befinden. Dabei spielt es keine Rolle, ob es sich um eine homogene Umgebung auf der Basis einer einzigen Linux-Distribution handelt oder um ein heterogenes Umfeld mit verschiedenen Unix-artigen Systemen. Puppet weiss, wie es auf dem jeweiligen System ein bestimmtes Paket installieren muss, und prüft hinterher, ob dieses auch korrekt installiert und konfiguriert wurde. Wenn nicht, korrigiert Puppet den fehlerhaften Zustand. Die Eigenschaften der Puppet-eigenen Sprache ermöglichen es, allgemeine Definitionen mit geringem Aufwand an spezielle Bedürfnisse anzupassen, Zusammengehörendes zu gruppieren oder Abhängigkeiten zu modellieren. So bleiben komplexe Umgebungen übersichtlich, und der Systemadministrator erspart sich repetitive Tätigkeiten. Er schreibt die Konfiguration beispielsweise eines Webservers genau ein Mal. Die zentrale Instanz, der Puppetmaster, wird dann die Puppen spielen lassen und die Konfiguration auf den ausgewählten Systemen anwenden. Dabei werden Abhängigkeiten eingehalten, betroffene Dienste neu gestartet, die Überwachung für installierte Dienste auf dem zuständigen Server eingetragen und so weiter. Der Systemadministrator ist in der Modellierung seiner Umgebung völlig frei. Weitere Funktionen von Puppet erlauben es ihm, eine neue Konfiguration zuerst in der Testumgebung zu erhärten und anschliessend auf die Produktivsysteme anzuwenden. Rund um Puppet hat sich eine schnell wachsende Community entwickelt. Zahlreiche Personen stellen Module für verschiedene Server-Dienste bereit. Da Reductivelabs einen offenen Entwicklungsprozess verfolgt, beteiligen sich immer mehr Fachleute daran und implementieren neue Funktionen direkt in Puppet. Ein erst kürzlich eingeführtes Feature generiert direkt aus den Puppet Manifests eine HTML-Dokumentation. Damit kann der Systemadministrator eine Dokumentation erstellen, welche dem aktuellen Stand seiner Systeme entspricht. Mit der Virtualisierung und der damit verbundenen Zunahme von zu administrierenden und zu integrierenden Systemen werden Werkzeuge wie Puppet für die tägliche Arbeit unverzichtbar. Cloud Computing wird solchen Tools nochmals Schub verleihen. Dann müssen Systemadministratoren ihre Serverumgebung noch flexibler verwalten, weil die Anzahl wie auch die Vielfalt der Systeme rasant ansteigt. Der Autor ist Linux- System-Ingenieur beim Open- Source-Dienstleister Puzzle ITC. -------------------------------------------------------------------------------- 08 Apr 2010 EFFIZIENTES LINUX SYSTEMS MANAGEMENT → At the semi-annual OpenExpo I gave a talk about efficient management of Linux systems: Slides There is also a youtube-Video from my presentation. Blogpost on Puzzle’s website -------------------------------------------------------------------------------- ← Older -------------------------------------------------------------------------------- Various bits and notes from me