Porting legacy apps to Spring Boot in one week 
By Erdem Günay (@gunayus) 
Unless otherwise indicated, these slides are © 2013-2014 Pivotal Sof tware, Inc. and licensed under a 
Creat ive Commons At tribut ion-NonCommercial license: ht tp: / /creat ivecommons.org/ licenses/by-nc/3.0/
About Turkcell 
Unless otherwise indicated, these slides are © 2013-2014 Pivotal Sof tware, Inc. and licensed under a 
Creat ive Commons At tribut ion-NonCommercial license: ht tp: / /creat ivecommons.org/ licenses/by-nc/3.0/ 
2
About Turkcell 
Unless otherwise indicated, these slides are © 2013-2014 Pivotal Sof tware, Inc. and licensed under a 
Creat ive Commons At tribut ion-NonCommercial license: ht tp: / /creat ivecommons.org/ licenses/by-nc/3.0/ 
3
How I met Spring Boot? 
Unless otherwise indicated, these slides are © 2013-2014 Pivotal Sof tware, Inc. and licensed under a 
Creat ive Commons At tribut ion-NonCommercial license: ht tp: / /creat ivecommons.org/ licenses/by-nc/3.0/ 
4
Turkcell Video – legacy BaaS 
Unless otherwise indicated, these slides are © 2013-2014 Pivotal Sof tware, Inc. and licensed under a 
Creat ive Commons At tribut ion-NonCommercial license: ht tp: / /creat ivecommons.org/ licenses/by-nc/3.0/ 
5
Turkcell Video – legacy BaaS 
Unless otherwise indicated, these slides are © 2013-2014 Pivotal Sof tware, Inc. and licensed under a 
Creat ive Commons At tribut ion-NonCommercial license: ht tp: / /creat ivecommons.org/ licenses/by-nc/3.0/ 
6
Porting to Spring Boot – end of 1st hour 
Unless otherwise indicated, these slides are © 2013-2014 Pivotal Sof tware, Inc. and licensed under a 
Creat ive Commons At tribut ion-NonCommercial license: ht tp: / /creat ivecommons.org/ licenses/by-nc/3.0/ 
7 
http://spring.io/guides/gs/actuator-service/
Porting to Spring Boot – end of 1st day 
Unless otherwise indicated, these slides are © 2013-2014 Pivotal Sof tware, Inc. and licensed under a 
Creat ive Commons At tribut ion-NonCommercial license: ht tp: / /creat ivecommons.org/ licenses/by-nc/3.0/ 8
Porting to Spring Boot – end of 1st day 
Unless otherwise indicated, these slides are © 2013-2014 Pivotal Sof tware, Inc. and licensed under a 
Creat ive Commons At tribut ion-NonCommercial license: ht tp: / /creat ivecommons.org/ licenses/by-nc/3.0/ 9
Porting to Spring Boot – end of the week 
• All the legacy REST APIs are migrated to @RestController(s) 
• Architecture is redesigned 
• Reimplemented as true, simple Spring 4 web application 
• Zero mobile client update 
• Faster development, running & debugging 
• Jboss netty  Apache web server & Tomcat 7 
Unless otherwise indicated, these slides are © 2013-2014 Pivotal Sof tware, Inc. and licensed under a 
Creat ive Commons At tribut ion-NonCommercial license: ht tp: / /creat ivecommons.org/ licenses/by-nc/3.0/ 
10
Porting to Spring Boot – number of sessions 
%100 
Unless otherwise indicated, these slides are © 2013-2014 Pivotal Sof tware, Inc. and licensed under a 
Creat ive Commons At tribut ion-NonCommercial license: ht tp: / /creat ivecommons.org/ licenses/by-nc/3.0/ 11
Porting to Spring Boot – throughput 
500 
450 
400 
350 
300 
250 
200 
150 
100 
50 
Unless otherwise indicated, these slides are © 2013-2014 Pivotal Sof tware, Inc. and licensed under a 
Creat ive Commons At tribut ion-NonCommercial license: ht tp: / /creat ivecommons.org/ licenses/by-nc/3.0/ 
12 
0 
Throughput (GB) 
Total
Android Remote App Configuration 
Unless otherwise indicated, these slides are © 2013-2014 Pivotal Sof tware, Inc. and licensed under a 
Creat ive Commons At tribut ion-NonCommercial license: ht tp: / /creat ivecommons.org/ licenses/by-nc/3.0/ 13
Android Remote App Configuration 
Unless otherwise indicated, these slides are © 2013-2014 Pivotal Sof tware, Inc. and licensed under a 
Creat ive Commons At tribut ion-NonCommercial license: ht tp: / /creat ivecommons.org/ licenses/by-nc/3.0/ 14
Android Remote App Configuration 
[operation] == 'command' and [manufacturer] == ‘turkcell' and [model] == 't50‘ 
{ 
"operation": "command", 
"manufacturer": "turkcell", 
"model": "t50", 
"appVersion": "31", 
"board": "MSM8226", 
"device": "msm8226", 
"hardware": "qcom", 
"networkCountryIso": "tr", 
"resolution": "720x1184" 
} 
Unless otherwise indicated, these slides are © 2013-2014 Pivotal Sof tware, Inc. and licensed under a 
Creat ive Commons At tribut ion-NonCommercial license: ht tp: / /creat ivecommons.org/ licenses/by-nc/3.0/ 
15
Ongoing projects 
• All new projects are "bootiful" 
• Object storage project with 1 Million users and 2 PB storage 
capacity 
• Mobile analytics platform 90 Million transactions per day 
Unless otherwise indicated, these slides are © 2013-2014 Pivotal Sof tware, Inc. and licensed under a 
Creat ive Commons At tribut ion-NonCommercial license: ht tp: / /creat ivecommons.org/ licenses/by-nc/3.0/ 
16 
Spring 
Framework 
Spring 
Security 
Spring 
Data 
Spring 
Integration 
Spring 
Social 
Spring REST & 
Web Services 
Spring 
Boot
Thanks 
Unless otherwise indicated, these slides are © 2013-2014 Pivotal Sof tware, Inc. and licensed under a 
Creat ive Commons At tribut ion-NonCommercial license: ht tp: / /creat ivecommons.org/ licenses/by-nc/3.0/ 
17 
@gunayus

Spring one2gx 2014 erdemgunay

  • 1.
    Porting legacy appsto Spring Boot in one week By Erdem Günay (@gunayus) Unless otherwise indicated, these slides are © 2013-2014 Pivotal Sof tware, Inc. and licensed under a Creat ive Commons At tribut ion-NonCommercial license: ht tp: / /creat ivecommons.org/ licenses/by-nc/3.0/
  • 2.
    About Turkcell Unlessotherwise indicated, these slides are © 2013-2014 Pivotal Sof tware, Inc. and licensed under a Creat ive Commons At tribut ion-NonCommercial license: ht tp: / /creat ivecommons.org/ licenses/by-nc/3.0/ 2
  • 3.
    About Turkcell Unlessotherwise indicated, these slides are © 2013-2014 Pivotal Sof tware, Inc. and licensed under a Creat ive Commons At tribut ion-NonCommercial license: ht tp: / /creat ivecommons.org/ licenses/by-nc/3.0/ 3
  • 4.
    How I metSpring Boot? Unless otherwise indicated, these slides are © 2013-2014 Pivotal Sof tware, Inc. and licensed under a Creat ive Commons At tribut ion-NonCommercial license: ht tp: / /creat ivecommons.org/ licenses/by-nc/3.0/ 4
  • 5.
    Turkcell Video –legacy BaaS Unless otherwise indicated, these slides are © 2013-2014 Pivotal Sof tware, Inc. and licensed under a Creat ive Commons At tribut ion-NonCommercial license: ht tp: / /creat ivecommons.org/ licenses/by-nc/3.0/ 5
  • 6.
    Turkcell Video –legacy BaaS Unless otherwise indicated, these slides are © 2013-2014 Pivotal Sof tware, Inc. and licensed under a Creat ive Commons At tribut ion-NonCommercial license: ht tp: / /creat ivecommons.org/ licenses/by-nc/3.0/ 6
  • 7.
    Porting to SpringBoot – end of 1st hour Unless otherwise indicated, these slides are © 2013-2014 Pivotal Sof tware, Inc. and licensed under a Creat ive Commons At tribut ion-NonCommercial license: ht tp: / /creat ivecommons.org/ licenses/by-nc/3.0/ 7 http://spring.io/guides/gs/actuator-service/
  • 8.
    Porting to SpringBoot – end of 1st day Unless otherwise indicated, these slides are © 2013-2014 Pivotal Sof tware, Inc. and licensed under a Creat ive Commons At tribut ion-NonCommercial license: ht tp: / /creat ivecommons.org/ licenses/by-nc/3.0/ 8
  • 9.
    Porting to SpringBoot – end of 1st day Unless otherwise indicated, these slides are © 2013-2014 Pivotal Sof tware, Inc. and licensed under a Creat ive Commons At tribut ion-NonCommercial license: ht tp: / /creat ivecommons.org/ licenses/by-nc/3.0/ 9
  • 10.
    Porting to SpringBoot – end of the week • All the legacy REST APIs are migrated to @RestController(s) • Architecture is redesigned • Reimplemented as true, simple Spring 4 web application • Zero mobile client update • Faster development, running & debugging • Jboss netty  Apache web server & Tomcat 7 Unless otherwise indicated, these slides are © 2013-2014 Pivotal Sof tware, Inc. and licensed under a Creat ive Commons At tribut ion-NonCommercial license: ht tp: / /creat ivecommons.org/ licenses/by-nc/3.0/ 10
  • 11.
    Porting to SpringBoot – number of sessions %100 Unless otherwise indicated, these slides are © 2013-2014 Pivotal Sof tware, Inc. and licensed under a Creat ive Commons At tribut ion-NonCommercial license: ht tp: / /creat ivecommons.org/ licenses/by-nc/3.0/ 11
  • 12.
    Porting to SpringBoot – throughput 500 450 400 350 300 250 200 150 100 50 Unless otherwise indicated, these slides are © 2013-2014 Pivotal Sof tware, Inc. and licensed under a Creat ive Commons At tribut ion-NonCommercial license: ht tp: / /creat ivecommons.org/ licenses/by-nc/3.0/ 12 0 Throughput (GB) Total
  • 13.
    Android Remote AppConfiguration Unless otherwise indicated, these slides are © 2013-2014 Pivotal Sof tware, Inc. and licensed under a Creat ive Commons At tribut ion-NonCommercial license: ht tp: / /creat ivecommons.org/ licenses/by-nc/3.0/ 13
  • 14.
    Android Remote AppConfiguration Unless otherwise indicated, these slides are © 2013-2014 Pivotal Sof tware, Inc. and licensed under a Creat ive Commons At tribut ion-NonCommercial license: ht tp: / /creat ivecommons.org/ licenses/by-nc/3.0/ 14
  • 15.
    Android Remote AppConfiguration [operation] == 'command' and [manufacturer] == ‘turkcell' and [model] == 't50‘ { "operation": "command", "manufacturer": "turkcell", "model": "t50", "appVersion": "31", "board": "MSM8226", "device": "msm8226", "hardware": "qcom", "networkCountryIso": "tr", "resolution": "720x1184" } Unless otherwise indicated, these slides are © 2013-2014 Pivotal Sof tware, Inc. and licensed under a Creat ive Commons At tribut ion-NonCommercial license: ht tp: / /creat ivecommons.org/ licenses/by-nc/3.0/ 15
  • 16.
    Ongoing projects •All new projects are "bootiful" • Object storage project with 1 Million users and 2 PB storage capacity • Mobile analytics platform 90 Million transactions per day Unless otherwise indicated, these slides are © 2013-2014 Pivotal Sof tware, Inc. and licensed under a Creat ive Commons At tribut ion-NonCommercial license: ht tp: / /creat ivecommons.org/ licenses/by-nc/3.0/ 16 Spring Framework Spring Security Spring Data Spring Integration Spring Social Spring REST & Web Services Spring Boot
  • 17.
    Thanks Unless otherwiseindicated, these slides are © 2013-2014 Pivotal Sof tware, Inc. and licensed under a Creat ive Commons At tribut ion-NonCommercial license: ht tp: / /creat ivecommons.org/ licenses/by-nc/3.0/ 17 @gunayus