Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Entwicklungsprozess und Architektur

Entwicklungsprozess und Architektur

Entwicklungsprozess und Architektur einer gewachsenen Webanwendung - German Perl Workshop 2014

Kerstin Puschke

March 26, 2014
Tweet

More Decks by Kerstin Puschke

Other Decks in Technology

Transcript

  1. Wer bin ich Kontakt •  http://www.kpuschke.eu •  twitter: @titanoboa42 • 

    https://www.xing.com/profile/ Kerstin_Puschke software engineer bei XING Hamburg •  xing.com soziales Netzwerk für berufliche Kontakte •  ~14 Mio. Mitglieder •  debian, perl, javascript, ruby on rails, mysql, redis, riak, . . . Wir stellen ein! http://corporate.xing.com/ deutsch/unternehmen/karriere- bei-xing/ März 2014 // Entwicklungsprozess und Architektur // Kerstin Puschke // German Perl Workshop 2014 2
  2. Überblick März 2014 // Entwicklungsprozess und Architektur // Kerstin Puschke

    // German Perl Workshop 2014 3 •  Einleitung •  Technologien & Architektur •  Programmiersprachen, Datenbanken, Storage und mehr •  Anwendungen, APIs & asynchrone Kommunikation •  Entwicklungsprozess & -werkzeuge •  Entwicklungs- und Testumgebungen •  Versionskontrolle •  continous integration, Releasezyklen / continous deployment
  3. Einleitung März 2014 // Entwicklungsprozess und Architektur // Kerstin Puschke

    // German Perl Workshop 2014 4 •  xing.com •  soziales Netzwerk für berufliche Kontakte •  ~14 Mio. Mitglieder •  XING •  xing.com •  amiando aka XING EVENTS •  kununu
  4. xing.com März 2014 // Entwicklungsprozess und Architektur // Kerstin Puschke

    // German Perl Workshop 2014 5 perl rails rails (public API) rails mobile ...
  5. Frontend •  HTML •  Javascript •  jquery •  backbone März

    2014 // Entwicklungsprozess und Architektur // Kerstin Puschke // German Perl Workshop 2014 6
  6. Backend •  Perl •  Ruby on Rails •  Scala • 

    Hadoop •  Elastic Search •  Insect / Arachnid März 2014 // Entwicklungsprozess und Architektur // Kerstin Puschke // German Perl Workshop 2014 7
  7. Storage, Datenbanken & Cache •  MySQL •  Riak •  Swift

    / Open Stack •  Redis •  Memcache März 2014 // Entwicklungsprozess und Architektur // Kerstin Puschke // German Perl Workshop 2014 8
  8. Perl „core“ März 2014 // Entwicklungsprozess und Architektur // Kerstin

    Puschke // German Perl Workshop 2014 9 perl „core“ rails rails (public API) rails mobile ...
  9. Perl App •  vor ~10 Jahren begonnen •  kein modernes

    Webframework •  selbstentwickeltes Templating •  aber auch „modern perl“ (Moose,...) •  Perl 5.12 März 2014 // Entwicklungsprozess und Architektur // Kerstin Puschke // German Perl Workshop 2014 10
  10. Perl App März 2014 // Entwicklungsprozess und Architektur // Kerstin

    Puschke // German Perl Workshop 2014 11 •  ~600k Zeilen, davon ~300k Zeilen Perl
  11. Perl App März 2014 // Entwicklungsprozess und Architektur // Kerstin

    Puschke // German Perl Workshop 2014 12 •  ~30M externe Zugriffe / Tag
  12. Perl App März 2014 // Entwicklungsprozess und Architektur // Kerstin

    Puschke // German Perl Workshop 2014 13 •  ~360M interne REST Zugriffe / Tag, 6k / Sekunde
  13. Rails März 2014 // Entwicklungsprozess und Architektur // Kerstin Puschke

    // German Perl Workshop 2014 14 perl „core“ rails jobs rails (public API) rails events mobile rails profile rails ~ 20 apps
  14. Kommunikation •  REST API •  RabbitMQ AMQP •  plus Beetle

    März 2014 // Entwicklungsprozess und Architektur // Kerstin Puschke // German Perl Workshop 2014 15 perl „core“ rails jobs rails (public API) rails events mobile rails profile
  15. Perl App März 2014 // Entwicklungsprozess und Architektur // Kerstin

    Puschke // German Perl Workshop 2014 16 2 x 6 Anwendungsserver 2 x 18 API-Server 2 x 4 Worker-Server DC1 DC2
  16. Entwicklung •  ~520 Leute aus ~28 Ländern, ~80 engineers • 

    Hamburg, München, Barcelona, Wien •  Crossfunktionale Entwicklungsteams •  Scrum, Kanban •  pair programming, code reviews •  QA März 2014 // Entwicklungsprozess und Architektur // Kerstin Puschke // German Perl Workshop 2014 17
  17. Provisioning Development-VMs März 2014 // Entwicklungsprozess und Architektur // Kerstin

    Puschke // German Perl Workshop 2014 18 •  Vagrant & Chef
  18. Versionskontrolle März 2014 // Entwicklungsprozess und Architektur // Kerstin Puschke

    // German Perl Workshop 2014 19 •  Github >1800 repositories
  19. Continuous Integration & Deployment März 2014 // Entwicklungsprozess und Architektur

    // Kerstin Puschke // German Perl Workshop 2014 20 •  Jenkins CI ~30 Projekte, ~250 build jobs •  wöchentliches bis zu continuous deployment
  20. famous last words die "WTF?"; # should not be possible

    März 2014 // Entwicklungsprozess und Architektur // Kerstin Puschke // German Perl Workshop 2014 24
  21. Wer bin ich Kontakt •  http://www.kpuschke.eu •  twitter: @titanoboa42 • 

    https://www.xing.com/profile/ Kerstin_Puschke software engineer bei XING Hamburg •  xing.com soziales Netzwerk für berufliche Kontakte •  ~14 Mio. Mitglieder •  debian, perl, javascript, ruby on rails, mysql, redis, riak, . . . Wir stellen ein! http://corporate.xing.com/deutsch/ unternehmen/karriere-bei-xing/ März 2014 // Entwicklungsprozess und Architektur // Kerstin Puschke // German Perl Workshop 2014 26