Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Entwicklungsprozess und Architektur
Search
Kerstin Puschke
March 26, 2014
Technology
1
200
Entwicklungsprozess und Architektur
Entwicklungsprozess und Architektur einer gewachsenen Webanwendung - German Perl Workshop 2014
Kerstin Puschke
March 26, 2014
Tweet
Share
More Decks by Kerstin Puschke
See All by Kerstin Puschke
High availability by offloading work - background jobs, message queues, or Kafka
titanoboa
0
400
Background jobs at scale (Montreal.rb)
titanoboa
0
320
EuRuKo 2018: Scaling a monolith isn't scaling microservices
titanoboa
2
120
Background jobs at scale
titanoboa
1
58
Background jobs at scale
titanoboa
0
53
Decouple all the things: Asynchronous messaging keeps it simple
titanoboa
0
110
Decouple all the things - Asynchronous messaging keeps it simple
titanoboa
0
81
Decouple all the things - asynchronous messaging keeps it simple
titanoboa
0
420
Decouple all the things - asynchronous messaging keeps it simple
titanoboa
0
560
Other Decks in Technology
See All in Technology
Monitor GraalVM Native Apps with OpenTelemetry
logico_jp
0
100
音声AIエージェントの世界とRetell AI入門 / Introduction to the World of Voice AI Agents and Retell AI
rkaga
4
840
Datadog を使ったプロダクトとクラウドの セキュリティモニタリング
mrtc0
0
580
EitherT_with_Future
aoiroaoino
1
920
[RSJ24] Object Segmentation from Open-Vocabulary Manipulation Instructions Based on Optimal Transport Polygon Matching with Foundation Models
keio_smilab
PRO
0
130
Namespace, Now and Then
tagomoris
0
170
Functional TypeScript
naoya
10
3.8k
日経電子版から始まった内製開発の現在地と向き合っている課題/inhouse
nishiuma
0
240
RAGHack: Building RAG apps in Python
pamelafox
0
140
標準最高!標準はださくないぞ! at fukuoka.ts #1
yoiwamoto
0
160
Estrategias de escalabilidade para projetos web
jessilyneh
2
200
【Λ(らむだ)最近のアプデ情報 / RPALT20240904
lambda
0
170
Featured
See All Featured
StorybookのUI Testing Handbookを読んだ
zakiyama
25
5k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
354
29k
A Tale of Four Properties
chriscoyier
155
22k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
278
13k
The Invisible Side of Design
smashingmag
295
50k
4 Signs Your Business is Dying
shpigford
179
21k
A Modern Web Designer's Workflow
chriscoyier
690
190k
Optimizing for Happiness
mojombo
375
69k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
190
16k
Why Our Code Smells
bkeepers
PRO
334
56k
What’s in a name? Adding method to the madness
productmarketing
PRO
21
3k
Reflections from 52 weeks, 52 projects
jeffersonlam
346
20k
Transcript
Entwicklungs- prozess und Architektur Entwicklungsprozess und Architektur einer gewachsenen Webanwendung
Kerstin Puschke German Perl Workshop 2014
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
Ü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
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
xing.com März 2014 // Entwicklungsprozess und Architektur // Kerstin Puschke
// German Perl Workshop 2014 5 perl rails rails (public API) rails mobile ...
Frontend • HTML • Javascript • jquery • backbone März
2014 // Entwicklungsprozess und Architektur // Kerstin Puschke // German Perl Workshop 2014 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
Storage, Datenbanken & Cache • MySQL • Riak • Swift
/ Open Stack • Redis • Memcache März 2014 // Entwicklungsprozess und Architektur // Kerstin Puschke // German Perl Workshop 2014 8
Perl „core“ März 2014 // Entwicklungsprozess und Architektur // Kerstin
Puschke // German Perl Workshop 2014 9 perl „core“ rails rails (public API) rails mobile ...
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
Perl App März 2014 // Entwicklungsprozess und Architektur // Kerstin
Puschke // German Perl Workshop 2014 11 • ~600k Zeilen, davon ~300k Zeilen Perl
Perl App März 2014 // Entwicklungsprozess und Architektur // Kerstin
Puschke // German Perl Workshop 2014 12 • ~30M externe Zugriffe / Tag
Perl App März 2014 // Entwicklungsprozess und Architektur // Kerstin
Puschke // German Perl Workshop 2014 13 • ~360M interne REST Zugriffe / Tag, 6k / Sekunde
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
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
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
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
Provisioning Development-VMs März 2014 // Entwicklungsprozess und Architektur // Kerstin
Puschke // German Perl Workshop 2014 18 • Vagrant & Chef
Versionskontrolle März 2014 // Entwicklungsprozess und Architektur // Kerstin Puschke
// German Perl Workshop 2014 19 • Github >1800 repositories
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
Monitoring März 2014 // Entwicklungsprozess und Architektur // Kerstin Puschke
// German Perl Workshop 2014 21 • logjam
Monitoring März 2014 // Entwicklungsprozess und Architektur // Kerstin Puschke
// German Perl Workshop 2014 22 • graphite
Monitoring März 2014 // Entwicklungsprozess und Architektur // Kerstin Puschke
// German Perl Workshop 2014 23 • cube
famous last words die "WTF?"; # should not be possible
März 2014 // Entwicklungsprozess und Architektur // Kerstin Puschke // German Perl Workshop 2014 24
www.xing.com Vielen Dank für Eure Aufmerksamkeit!
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