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

Form analysis 0 forms found in the DOM

Text 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