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
260
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
予期せぬコストの急増を障害のように扱う――「コスト版ポストモーテム」の導入とその後の改善
muziyoshiz
1
2k
AIエージェントを開発しよう!-AgentCore活用の勘所-
yukiogawa
0
180
Context Engineeringが企業で不可欠になる理由
hirosatogamo
PRO
3
650
Bill One急成長の舞台裏 開発組織が直面した失敗と教訓
sansantech
PRO
2
390
pool.ntp.orgに ⾃宅サーバーで 参加してみたら...
tanyorg
0
140
ファインディの横断SREがTakumi byGMOと取り組む、セキュリティと開発スピードの両立
rvirus0817
1
1.6k
Greatest Disaster Hits in Web Performance
guaca
0
280
Bedrock PolicyでAmazon Bedrock Guardrails利用を強制してみた
yuu551
0
260
10Xにおける品質保証活動の全体像と改善 #no_more_wait_for_test
nihonbuson
PRO
2
330
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
93k
制約が導く迷わない設計 〜 信頼性と運用性を両立するマイナンバー管理システムの実践 〜
bwkw
3
1k
SREチームをどう作り、どう育てるか ― Findy横断SREのマネジメント
rvirus0817
0
330
Featured
See All Featured
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
63
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.2k
Ruling the World: When Life Gets Gamed
codingconduct
0
150
Documentation Writing (for coders)
carmenintech
77
5.3k
Tell your own story through comics
letsgokoyo
1
810
Building AI with AI
inesmontani
PRO
1
700
Thoughts on Productivity
jonyablonski
74
5k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
300
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
230
The Pragmatic Product Professional
lauravandoore
37
7.1k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
410
Darren the Foodie - Storyboard
khoart
PRO
2
2.4k
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