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
270
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
490
Background jobs at scale (Montreal.rb)
titanoboa
0
400
EuRuKo 2018: Scaling a monolith isn't scaling microservices
titanoboa
2
160
Background jobs at scale
titanoboa
1
58
Background jobs at scale
titanoboa
0
66
Decouple all the things: Asynchronous messaging keeps it simple
titanoboa
0
120
Decouple all the things - Asynchronous messaging keeps it simple
titanoboa
0
97
Decouple all the things - asynchronous messaging keeps it simple
titanoboa
0
510
Decouple all the things - asynchronous messaging keeps it simple
titanoboa
0
670
Other Decks in Technology
See All in Technology
We Built for Predictability; The Workloads Didn’t Care
stahnma
0
150
ECSネイティブのBlue/Green デプロイを攻略しよう ~CodeDeployとの違いから、デプロイフロー実装まで~
ideaws
2
230
22nd ACRi Webinar - NTT Kawahara-san's slide
nao_sumikawa
0
130
ECS障害を例に学ぶ、インシデント対応に備えたAIエージェントの育て方 / How to develop AI agents for incident response with ECS outage
iselegant
5
680
Claude Code for NOT Programming
kawaguti
PRO
1
130
OCI Database Management サービス詳細
oracle4engineer
PRO
1
7.4k
20260204_Midosuji_Tech
takuyay0ne
1
170
pool.ntp.orgに ⾃宅サーバーで 参加してみたら...
tanyorg
1
2.3k
SREチームをどう作り、どう育てるか ― Findy横断SREのマネジメント
rvirus0817
0
410
マネージャー視点で考えるプロダクトエンジニアの評価 / Evaluating Product Engineers from a Manager's Perspective
hiro_torii
0
250
Oracle Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
1
1k
Context Engineeringの取り組み
nutslove
0
440
Featured
See All Featured
Un-Boring Meetings
codingconduct
0
210
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
180
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.1k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.4k
First, design no harm
axbom
PRO
2
1.1k
What does AI have to do with Human Rights?
axbom
PRO
0
2k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.2k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
300
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Automating Front-end Workflow
addyosmani
1371
200k
Typedesign – Prime Four
hannesfritz
42
3k
Agile that works and the tools we love
rasmusluckow
331
21k
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