Dena Loves Perl
Upcoming SlideShare
Loading in...5
×
 

Dena Loves Perl

on

  • 4,236 views

 

Statistics

Views

Total Views
4,236
Slideshare-icon Views on SlideShare
4,231
Embed Views
5

Actions

Likes
2
Downloads
13
Comments
0

1 Embed 5

http://www.slideshare.net 5

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Dena Loves Perl Dena Loves Perl Presentation Transcript

    • DeNA loves Perl Tokiharu Noto (DeNA Co., Ltd.) 1
    • agenda • How much / why does DeNA love Perl? • outline of Perl usage in DeNA • YAPC-driven Open Source from DeNA • mobamail: mail delivery for mobile phone • Mobage-town Open Platform • ambivalent love for Perl 2
    • DeNA services powered by Perl 3
    • How many DeNA engineers love Perl? • about 100 engineers • > 50 engineers in mbga.jp team • YAPC::Asia Tokyo 2009 speakers • Hideo Kimura (modern Catalyst) • Toru Yamaguchi (Perl DB test using MySQL::Sandbox) • Tadashi Matsuda (MobaSiF::Template) 4
    • Why does DeNA love Perl? • bidders: Java + Oracle • In 2003, Kawasaki has started developing mbok.jp with Perl • In 2006, ex-bidders engineers joined to Moba* services • dev/edit/exec speed++, readability++, productivity++ (also for biz people) • The whole DeNA have loved Perl since 5
    • DeNA scalable web architecture MySQL M w/replication Load Balancer S S S ... . . . partitioning mbga > 90 M Load S S S ... MySQL Balancer LVS +Senna DNS RR . . . mbga > 1300 memcached servers httpd+fcgi servers . . 6 .
    • MobaSiF DeNA original WAF • Open Source since YAPC::Asia Tokyo 2008 web applications • pros dispatcher • common modules for pictgraph converter mobile web handset ditector • simple, light-weight, fast MobaSiF template engine • stable mod_fastcgi • cons • no PSGI/Plack ;-) Apache • $_::F, $rhData • no test... • too free for a large team... 7
    • YAPC-driven Open Source • 2008 • MobaSiF • 2009 • MobaSiF::Template (Matsuda) • mobamail - fast mail delivery daemon for mobile phones 8
    • mail delivery for mobile phones • Mobile phone carriers deny SMTP connection at their own discretion ( ). • “spam?” • especially when senders try to send mails with high speed... • conflict with our wish “more speeeeedy!” 9
    • mail delivery for mobile phones • 1.09 (109 million) users / 3 carrier ≒ ISP • MX (cf. dig -t MX <domainname>) • docomo.ne.jp: 4 IP addresses • ezweb.ne.jp: 1 IP address • softbank.ne.jp: 1 IP address 10
    • mail delivery for mobile phones +,PC -./0,"#$%&'(&)123456-78"#*%&'(&)9:1;<=>?@A4BC1DEFG! "#$! !! !! %&'(&)! !! "#*! %&'(&)! !! H,IJ-./0,"#$%&'(&)-31KLM6-78"#*%&'(&)9:1;<=>?@A4BC1D4NG! "#$! OPQR,A! OPQR,B OPQR,C %&'(&)! "#*! %&'(&)! !! 11
    • before mobamail • At first (2004-), we used qmail, postfix • slow injection • main: sendmail command • SMTP/QMTP... • We have to make our own original server... 12
    • mobamail • implemented in pure Perl • ≠ MTA (no SMTP receive, relay) • injection = insert into a table in MySQL • high speed table2mail to mobile phones • max speed (depend on carrier-side config) • docomo+au: 500,000 mails/h softbank: 20,000 mails/h 13
    • mobamail strategy • provide tuning params • connection closed, for best effort under the timeout, ... carriers permission: • timeout • num of connection • connect() • connect() interval • wait for response • mail per connection • unused connection • mail interval (in one • error count connection) => retry_interval • interval after denied 14
    • mobamail architecture IO::Select MX ‘docomo’ MX . SMTP . . docomo ‘au’ MX ‘dist’ daemon MX ‘softbank’ . . . au MX ‘default’ MX . . . softbank ‘send’ daemon MySQL processes MX MX . other ISP . . one server 15
    • current operation MX MX . . . docomo mobamail MX MX SIELLA ENGINE . . . au MX mobamail MX . . . softbank better MX performance MX without tuning . other ISP . 16 .
    • mobamail will be available at... • http://sourceforge.jp/projects/moba/ • http://d.hatena.ne.jp/tokiharu/ (w/RSS) 17
    • Mobage-town Open Platform 18
    • DeNA & Perl, again 19
    • DeNA dev policy • • ... • • => • / • ... 20
    • ambivalent love • 100 Perl CPAN ? • ( ) • ... • DeNA Perl • : ( ) • = → • CPAN ( ) ! 21
    • DeNA gonna love CPAN • • Some pilot projects depend on a lot of CPAN modules (and Catalyst) • • dev policy for the large team • more test code • MobaSiF next generation 22
    • DeNA loves Perl! • a Perl community cosists of 100 engineers • Let’s write code together! • as DeNA software engineer / architect • as developer of Mobage-town applications • as CPAN author 23
    • DeNA loves Perl! 24