technology radar nov 2015 tr

Upload: halil-ibrahim-asak

Post on 07-Mar-2016

15 views

Category:

Documents


0 download

TRANSCRIPT

  • thoughtworks.com/radar

    TEKNOLOJ RADARI KAS15

    Gelecei ekillendiren eilimler ve teknoloji zerine

    grlerimiz

  • Kasm 2015, ThoughtWorks, Inc. Tm haklar sakldr. TEKNOLOJ RADARI KASIM 2015 | 1

    YENLKLERBu sayda ne kan balklar unlar:

    DOCKER KONTEYNIR EKOSSTEMNDE PATLAMAYI TETKLEDDocker rneinde grlen konteynrlatrma, saylar giderek artan birok kuruluta ok popler hale geldi. Kurulularn iinde ve kurulular arasnda ilgi ok eitli seviyelerde bulunuyor; bizim tavsiyemiz ise Deerlendir ile Benimse arasnda deiiyor. Ekosistem (aralar, platformlar ve teknikler) giderek byyor, olgunlayor ve ilginin artn daha da hzlandryor. lgili okuyucular radarmzn her sayfasnda, bamllklar ynetmek iin kullanlan bir gelitirme arac olan Dockerdan, konteynrlar kendi leklendirme birimleri olarak kullanan Mesos ve AWS ECSye kadar uzanan eitli ilgili balklarda yorumlar okuyacaklar.

    MKROSERVSLER VE LGL ARALARIN POPLERL ARTIYORBu mimari tarza ynelik ilgi hz kesmeden devam ederken, bu ilgi ayn zamanda bu tarz destekleyen ara ve tekniklere ynelik ilgiyi de artryor. Konteynrlatrma gibi DevOps uygulamalar, CI/CD aracnzda programlama yapmann tehlikeleri gibi konularda alnan dersler, servis keif aralarnn olgunlamas ve benzerleri. Yakn gelecekte bu alanda byme ve olgunlamann daha da artmasn umuyoruz.

    JAVASCRIPT ARALARI KAOTK OLMAYA DEVAM EDYORJavaScript aralar alanndaki alkalanmaya daha nce dikkat ekmitik ancak bu topluluk giderek yatyor ve baz ortak uygulamalar etrafnda btnleiyor. Ekipler ina aralar ve paket ynetimi iin en iyi kombinasyonlar kefediyor (hibir ara kullanmamak da bunlar arasnda) ve ekipler arasnda, etkili uygulamalar konusundaki anlamazlklar daha az duyuyoruz.

    KATKIDA BULUNANLARTeknoloji Radar aada isimleri listelenen ThoughtWorks Teknoloji Danma Kurulu tarafndan hazrlanmtr.

    Rebecca Parsons (CTO)

    Martin Fowler(Ba Bilimadam)

    Anne J Simmons

    Badri Janakiraman

    Brain Leke

    Claudia Melo

    Dave Elliman

    Erik Doernenburg

    Evan Bottcher

    Hao Xu

    Ian Cartwright

    James Lewis

    Jonny LeRoy

    Mike Mason

    Neal Ford

    Rachel Laycock

    Sam Newman

    Scott Shaw

    Srihari Srinivasan

    Thiyagu Palanisamy

    GVENLK HERKESN SORUNUGvenlik, yazlm gelitirme dngs iindeki her pozisyonu benzersiz bir ekilde etkileyen bir sorundur. Geen Teknoloji Radarda gvenlik alanndaki gelimelere dikkat ekmitik ve ekiplerin SDLClerine gvenlik uygulamalar yerletirmeye baladklarn memnuniyetle gryoruz. Bu sayda hata bulma dlleri, tehdit modelleme, HSTS, TOTP ve Lets Encrypt gibi inovatif yaklamlar vurguluyoruz. Bu alandaki cazibenin devam edeceini umuyoruz.

  • Kasm 2015, ThoughtWorks, Inc. Tm haklar sakldr. TEKNOLOJ RADARI KASIM 2015 | 2

    TEKNOLOJ RADARI HAKKINDAThoughtWorks alanlar iin teknoloji bir tutkudur. Teknoloji retiyoruz, aratrmalar ve deneyler yapyoruz, teknolojiyi ak kaynak olarak sunuyoruz, teknoloji hakknda yazlar yazyoruz ve herkes iin teknolojiyi gelitirmek amacyla srekli alyoruz. Hedefimiz, yazlmda mkemmeliyeti savunmak ve BT alannda devrim yapmaktr. Bu misyon dorultusunda ThoughtWorks Teknoloji Radarn karp paylayoruz. Radar, ThoughtWorksteki st dzey teknoloji liderlerinden oluan ThoughtWorks Teknoloji Danma Kurulu hazrlyor. Kurul sk sk toplanarak, ThoughtWorksn kresel teknoloji stratejisini ve sektrmz ciddi olarak etkileyen teknoloji trendlerini tartyor.

    Radar, Teknoloji Danma Kurulunun bu tartmalarn CIOlardan gelitiricilere kadar uzanan geni bir payda yelpazesine hitap eden bir formatta sunuyor. eriin az ve z olmas amalanyor. Sizi bu teknolojileri daha detayl bir ekilde incelemeye davet ediyoruz. Esas olarak grafiksel bir yayn olan Radar, konular maddeleri teknikler, aralar, platformlar ve diller ve ereveler baznda gruplandryor. Radarn birden fazla eyrek dairede kabilen maddeleri iin en uygun grndkleri eyrek daireyi seiyoruz. Bu maddeleri ayrca u anda onlar hakkndaki tavrmz yanstan drt halka halinde gruplandryoruz. Bu halkalar:

    Yeni veya son radardan beri byk deiim geiren maddeler gen olarak, ayn kalan maddeler ise yuvarlak olarak verilir. Her blmdeki detayl grafikler maddelerin hareketlerini gsterir. Bu byklkteki bir belgeye sdramayacamz kadar fazla madde ile ilgilendiimiz iin eski radardan kalan birok maddeyi yenilerine yer amak iin siliyoruz. Fakat bu sildiimiz rnler artk umurumuzda deil anlamna gelmiyor.

    Radar ile ilgili daha fazla bilgi iin: thoughtworks.com/radar/#/faq

    32

    38

    49

    37

    3133

    54

    3552

    51

    39

    36

    34

    40

    41

    44

    48

    43

    42

    46

    45

    64

    59

    86

    85

    75

    65

    58

    60

    67

    78

    6362

    68

    72

    56

    57

    66

    79

    70

    80

    77

    73

    74

    87 92

    94

    89

    91

    88

    95

    93

    90

    82

    8469

    61

    71

    47

    1

    3

    24

    5

    6

    26

    23

    11

    30

    28

    15

    7

    8

    9

    10

    12

    13

    1416

    17

    18

    19

    20

    21

    22

    29

    24

    25

    27

    76

    83

    81

    50

    53

    55

    96

    97

    98

    99

    100

    101

    102

    DURDURDURDUR DEERLENDRDEERLENDR PLOT KULLANIMPLOT KULLANIM BENMSEBENMSE

    Sektrn bu teknolojileri kullanmas gerektiine kesinlikle inanyoruz, biz de yeri geldike kendi projelerimizde de kullanyoruz.

    Takip etmeye deer. Bu maddeleri kullanma kapasitesine nasl sahip olabileceinizi anlamak nemlidir. Kurumlar bu teknolojiyi, yalnzca riski kaldrabilecek projelerde bir deneme sreci olarak uygulamaldr.

    Kurumunuzu nasl etkileyeceini anlamak amacyla takip etmekte fayda var.

    Temkinli adm atn.

  • Kasm 2015, ThoughtWorks, Inc. Tm haklar sakldr. TEKNOLOJ RADARI KASIM 2015 | 3

    DURDURDURDUR DEERLENDRDEERLENDR PLOT KULLANIMPLOT KULLANIM BENMSEBENMSE

    32

    38

    49

    37

    3133

    54

    3552

    51

    39

    36

    34

    40

    41

    44

    48

    43

    42

    46

    45

    64

    59

    86

    85

    75

    65

    58

    60

    67

    78

    6362

    68

    72

    56

    57

    66

    79

    70

    80

    77

    73

    74

    87 92

    94

    89

    91

    88

    95

    93

    90

    82

    8469

    61

    71

    47

    1

    3

    24

    5

    6

    26

    23

    11

    30

    28

    15

    7

    8

    9

    10

    12

    13

    1416

    17

    18

    19

    20

    21

    22

    29

    24

    25

    27

    76

    83

    81

    50

    53

    55

    96

    97

    98

    99

    100

    101

    102

    RADARTEKNKLERBENMSE1. Mteri odakl kontrat testi2. Datmn yayndan ayrlmas3. Oluturulmu altyap diyagramlar 4. NoPSD5. rnlerin projelerin stnde olmas6. Tehdit Modelleme PLOT KULLANIM7. BEM 8. BFF n yzler iin Backend 9. Yaplar iin Docker 10. Event Storming 11. Flux12. Esonululuk filtresi 13. zole ortamlar iin iFrames 14. Her ey iin NPM 15. nce evrimd web uygulamalar16. Phoenix Environments17. retimde QA

    DEERLENDR18. Sadece birikimli veriler19. Hata bildirme dlleri20. Veri gl21. Hosted IDEler22. Deimez deerlerin izlenmesi23. Reactive Architectures

    DURDUR24. Gitflow25. Yksek performans hrs/web lei hrs26. Mikro servis hrs 27. Hz Katmanl Uygulama Stratejisi28. CI/CD aracnzda programlama yapmak29. SAFe30. Ayr DevOps ekibi

    PLATFORMLARBENMSE31. TOTP Two-Factor Authentication

    PLOT KULLANIM32. Apache Mesos33. Apache Spark34. AWS Lambda35. Cloudera Impala36. Fastly37. H2O38. HSTS

    DEERLENDR39. Apache Kylin40. AWS ECS41. Ceph42. CoreCLR ve CoreFX43. Deis44. Kubernetes45. Linux gvenlik modlleri46. Mesosphere DCOS47. Microsoft Nano Server48. Particle Photon/Particle Electron49. Presto50. Rancher51. Zaman serisi veri taban

    DURDUR52. Uygulama Sunucular 53. Ar hrsl API Kaplar54. SPDY55. Yzeysel zel bulut

    Yeni veya farkl kademeye gemiDeimemi

    yeni

    yeni

    yeniyeni

    yeniyeni

    yeniyeni

    yeni

    yeni

    yeni

    yeniyeni

    yeniyeni

    yeni

    yeni

    yeniyeni

    yeni

    yeniyeni

    yeniyeni

    yeni

    yeni

  • Kasm 2015, ThoughtWorks, Inc. Tm haklar sakldr. TEKNOLOJ RADARI KASIM 2015 | 4

    DURDURDURDUR DEERLENDRDEERLENDR PLOT KULLANIMPLOT KULLANIM BENMSEBENMSE

    32

    38

    49

    37

    3133

    54

    3552

    51

    39

    36

    34

    40

    41

    44

    48

    43

    42

    46

    45

    64

    59

    86

    85

    75

    65

    58

    60

    67

    78

    6362

    68

    72

    56

    57

    66

    79

    70

    80

    77

    73

    74

    87 92

    94

    89

    91

    88

    95

    93

    90

    82

    8469

    61

    71

    47

    1

    3

    24

    5

    6

    26

    23

    11

    30

    28

    15

    7

    8

    9

    10

    12

    13

    1416

    17

    18

    19

    20

    21

    22

    29

    24

    25

    27

    76

    83

    81

    50

    53

    55

    96

    97

    98

    99

    100

    101

    102

    RADARARALARBENMSE56. Composer57. Mountebank58. Postman

    PLOT KULLANIM59. Browsersync60. Carthage61. Consul62. Docker Toolbox63. Gitrob64. GitUp65. Hamms66. IndexedDB67. Polly68. REST-assured69. Sensu70. SysDig71. ZAP

    DEERLENDR72. Apache Kafka73. Concourse CI74. Espresso75. Gauge76. Gor77. ievms78. Lets Encrypt79. Pageify80. Prometheus81. Quick82. RAML83. Security Monkey84. Sleepy Puppy85. Visual Studio Code

    DURDUR86. Citrix for development

    DLLER VE FRAMEWORKLERBENMSE87. ECMAScript 688. Nancy89. Swift

    PLOT KULLANIM90. Enlive91. React.js92. SignalR93. Spring Boot

    DENEME94. Axon95. Ember.js96. Frege97. HyperResource98. Material UI99. OkHttp100. React Native101. TLA+102. Traveling Ruby

    DURDUR

    Yeni veya farkl kademeye gemiDeimemi

    yeni

    yeni

    yeni

    yeniyeni

    yeni

    yeni

    yeniyeni

    yeni

    yeniyeni

    yeni

    yeni

    yeniyeni

    yeni

    yeni

    yeni

    yeniyeni

    yeniyeni

    yeniyeni

    yeni

  • Kasm 2015, ThoughtWorks, Inc. Tm haklar sakldr. TEKNOLOJ RADARI KASIM 2015 | 5

    Srekli Teslimi uygulamak birok kurulu iin bir zorluk olmaya devam ediyor. Datmn yayndan ayrlmas gibi kullanl teknikleri vurgulamak da nemini koruyor. Datm terimini sadece, uygulama bileenleri ve altyapsnda bir deiikliin datlmas iine atfta bulunurken kullanmay tavsiye ediyoruz. Yaynlama terimi, bir zellik deiiklii nihai kullanclara ynelik olarak yaynland ve ticari adan bir etkisi olduu zaman kullanlmaldr. rnein zellik anahtar ve sessiz lansman gibi teknikleri kullanarak retim sistemlerindeki deiiklikleri zellikleri yaynlamakszn daha sk bir ekilde databiliriz. Daha sk datm yaplmas deiimle balantl riski azaltrken, ticari paydalar da zelliklerin nihai kullanclara ne zaman yaynlanaca konusunda kontrol ellerinde tutarlar.

    Tam Zamannda Tasarm grsel tasarm iin NoPSD hareketinin yakalamaya alt nemli ve kullanl bir konsepttir. Tm uygulamay veya her kullanc arayz unsurunu en bata tasarlamanz gerekmez. Her eyi ihtiyacnz olduu zaman ve kullanabileceiniz en hafif aralarla tasarlayn.

    rnein Sketch gibi daha hzl renme erisi olan daha basit aralarda da buna denk bir art grdk, Ayn zamanda kalem-kada dnenler de de art grdk (zellikle mevcut bir gl dijital stil klavuzu ile birlikte kullananlarda). Ekranlar iin tasarm yaparken dz modellerin getirdii kstlamalar nedeniyle Invision, FramerJS ve Origami gibi aralarla - veya sadece HTML/CSS ve biraz JavaScript ile - eitli gerekilik seviyelerinde prototipler oluturmak tasarmla ilgili niyetleri paylamak iin giderek daha yaygn ve deerli bir yntem haline geldi.

    Uzun zamandr bir proje olarak yazlm gelitirme zerinde dnmenin ki bu, snrl bir zaman dilimi ierisinde btelendirilen ve teslim edilen bir eydir modern i hayatnn ihtiyalarna uymadn savunuyoruz. nemli yazlm almalarnn, destek verdii i srecini srekli destekleyen ve yeniden dnen, devam eden bir rn olmas gerekiyor. Bu tr bir alma i sreci ve yazlm kullanl olmaktan kmad srece tamamlanm olmayacaktr. Bu, rnlerin projelerin stnde olmas yaklam hakkndaki gzlemlerimizle, hem kendi projelerimiz hem de baka projeler asndan, bunun birka istisna dnda her durumda kullanlmas gereken bir yaklam olduunu tespit ediyoruz.

    Son aylardaki yksek profilli gvenlik ihlallerinin saysna bakldnda, yazlm gelitirme ekiplerinin artk gvenil yazlmlar yazmaya nem vermeleri ve kullanclarnn verileriyle sorumlu bir ekilde ilgilenmeleri gerektii konusunda kimseyi ikna etmeleri gerekmiyor. Ancak ekiplerin karsnda dik bir renme erisi bulunuyor ve organize sular ve devlete kar yaplan ajanlk faaliyetlerinden, genlerin srf elence iin sistemlere saldrmalarna kadar uzanan ok sayda potansiyel tehdit ok ar bir yk haline gelebiliyor. Tehdit Modelleme ounlukla savunma perspektifli ve potansiyel tehditleri anlayp snflandrmanza yardmc olan bir dizi teknik salyor. Kt kullanc hikayelerine dnen tehdit modelleri bir ekibe sistemlerini daha gvenli hale getirebilmeleri iin gerekli olan ynetilebilir ve etkin bir yaklam salayabiliyor. DURDURDURDUR DEERLENDRDEERLENDR PLOT KULLANIMPLOT KULLANIM BENMSEBENMSE

    32

    38

    49

    37

    3133

    54

    3552

    51

    39

    36

    34

    40

    41

    44

    48

    43

    42

    46

    45

    64

    59

    86

    85

    75

    65

    58

    60

    67

    78

    6362

    68

    72

    56

    57

    66

    79

    70

    80

    77

    73

    74

    87 92

    94

    89

    91

    88

    95

    93

    90

    82

    8469

    61

    71

    47

    1

    3

    24

    5

    6

    26

    23

    11

    30

    28

    15

    7

    8

    9

    10

    12

    13

    1416

    17

    18

    19

    20

    21

    22

    29

    24

    25

    27

    76

    83

    81

    50

    53

    55

    96

    97

    98

    99

    100

    101

    102

    TEKNKLER

    ADOPT1. Mteri odakl kontrat testi2. Datmn yayndan ayrlmas yeni3. Oluturulmu altyap diyagramlar 4. NoPSD5. rnlerin projelerin stnde olmas6. Tehdit Modelleme

    PLOT KULLANIM7. BEM yeni8. BFF n yzler iin Backend yeni9. Yaplar iin Docker yeni 10. Event Storming yeni11. Flux12. Esonululuk filtresi yeni13. zole ortamlar iin iFrames yeni i14. Her ey iin NPM yeni i15. nce evrimd web uygulamalar16. Phoenix Environments17. retimde QA yeni

    DEERLENDR18. Sadece birikimli veriler19. Hata bildirme dlleri yeni20. Veri gl21. Hosted IDEler yeni22. Deimez deerlerin izlenmesi yeni23. Reactive Architectures

    DURDUR24. Gitflow yeni25. Yksek performans hrs/web lei hrs yeni26. Mikro servis hrs 27. Hz Katmanl Uygulama Stratejisi28. CI/CD aracnzda programlama yapmak29. SAFe30. Ayr DevOps ekibi

  • Kasm 2015, ThoughtWorks, Inc. Tm haklar sakldr. TEKNOLOJ RADARI KASIM 2015 | 6

    CSS sorunlarn zmek zahmetli olabiliyor. Ka defa, sorununuzun gerek kaynan bulmak iin binlerce iptal edilmi stil arasnda trol avcl yapmanz gerekti? Bu nedenle birok ekip, pe pee dizme ve iptallerden kanmak, tercih edilen sitiller oluturmak ve isimleri dnerek vermek gibi eitli konularda birok klavuz karmak zorunda kald. BEM, CSSinize anlamsal aklk vermenize yardmc olan bir CSS isimlendirme konvansiyonudur (Block, Element, Modifiern ksaltmasdr). BEMi kullanarak bir unsurun ortaya kmasn hangi CSS kurallarnnn etkilediini anlamak ve daha nemlisi bu kurallarn amacn anlamak ok daha kolay hale geliyor. Bu yaklam CSS dnyasna treme yerine kompozisyonu tercih etmenin OO dersini vermek gibi grlebilir.

    Deerli hizmetler, mterilerde web yerine mobil ve web arayznn farkl ekilleri gibi birok varyasyonu destekleyebilir. Tekrar kullanlabilir bir APIye sahip btn mterileri desteklemek iin tek bir arka plan API tasarlamak cazip bir fikirdir. Ancak mterilerin ihtiyalarnn yan sra kstlar da ok farkllklar gsteriyor. rnein mobil cihazlar iin bant geniliine karlk hzl web balantlarnda ok miktarda veri istei gibi. Sonu olarak her tr n u mterisi iin farkl arka plan hizmetleri tanmlamak ou zaman en iyisidir. Bu arka planlar her n u ile uyumlulatrlm ekiplerce gelitirilmeli ve bylece her arka plannn mterisinin ihtiyalarn tam olarak karlamas salanmaldr.

    Dockern birok inovatif kullanm arasnda projelerimizde grdmz biri yap sresi bamllklarn ynetmek iin kullanlan bir tekniktir. Gemite, bir S zerinde yap aktrlerini kullanmak ve hedeflenen yap iin ihtiya duyulan bamllklarla glendirmek ok yaygnd. Ancak Docker ile toplama aamasn izole bir ortamda bamllklarla tamamlayarak yrtmek ve yap aktrn bulatrmamak mmkn. Yaplar iin Docker kullanma teknii zellikle Golang ikilileri toplamak iin ok baarl olduunu kantlad ve tam da bu amala hazrlanm bir Golang yap konteynr bulunuyor.

    Event Storming, hzl dtan ie alan modelleme iin kullanl bir yntemdir: Statik bir veri modelinden ziyade alanda meydana gelen olaylarla balar. Kolaylatrlm bir atlye gibi alan bu yntem, alanda meydana gelen nemli olaylarn kefedilmesine odaklanr, bunlar bir zaman serisine yerletirir, tetikleyicilerini tanmlar ve aralarndaki ilikileri kefeder.

    TEKNKLER devamBu yaklam zellikle CQRS veya Event Sourcing yaklamn benimseyen kiiler iin kullanldr. Ortamdaki doru kiileri semek nemlidir hem sorular soran hem de cevaplar veren i ve teknik adamlarndan oluan bir karm. Byk tabloyu kefetmeyi hedefleyin ve amacnz zmlere dalmadan nce, kolektif bir ekilde, alan btn karmaklyla anlamak olsun.

    Flux, Facebookun sunduu bir uygulama mimarisidir. Genellikle React.js ile birlikte anlan Flux, uygulamalarn sunulma sras boyunca tek ynl bir veri akna dayanr. Flux, ok kdemli MV* klielerinden kanacak ekilde mteri tarafl JavaScript uygulamalarnn modern web ortamn benimser. ThoughtWork ekipleri u anda bu mimari tarz konusunda biraz deneyim kazanmaya balyorlar ve servis oryantasyonu ile ok uyumlu olduunu ve ift ynl veri balamann znden kaynaklanan baz sorunlar zdn dnyorlar.

    Birok servis ve zellikle eski servisler, herhangi bir talebin sadece bir kez ortaya kaca varsaymyla yazlmtr. Alarn mevcut halleriyle bunun dzenlenmesi zor olabilir. Esonululuk filtresi, sadece tekrarlanan talepleri kontrol eden ve tedarik servisine sadece bir defa gnderilmelerini salayan basit bir bileendir. Byle bir filtre sadece bu grevi yerine getirmeli ve mevcut servis arlar zerinde bir dekorasyon malzemesi olarak kullanlmaldr.

    Modern web sayfalarnda, ok eitli nc taraf kaynaklardan gelen ok miktarda JavaScript paracklar bulunmas eilimi vardr. Bunun hem gvenlik hem de performans asndan olumsuz etkileri olabilir. JavaScriptin web bileenleriyle izolasyonunun daha mkemmel hale getirilmesini hl beklemekte olmamza ramen ekiplerimiz, gvenilmeyen JavaScriptler iin izole ortamlar oluturmak amacyla HTML5 iFrames kullanmann faydasn grd.

    JavaScript dnyasnda ok miktarda bamllk ve paket ynetim arac bulunuyor ve bunlarn hepsi Node Package Managera (NPM) dayanyor. Ekipler bu ekstra aralar artk gereksiz grmeye balyor ve paket ve bamllk ynetimi iin sadece NPM kullanmanz mmknse yle yapmanz gerektii tavsiyesinde bulunuyorlar. Her ey iin sadece NPM kullanmann getirecei sadeletirme JavaScript aralar alanndaki alkantlar bira olsun azaltmaya yardmc oluyor.

  • Kasm 2015, ThoughtWorks, Inc. Tm haklar sakldr. TEKNOLOJ RADARI KASIM 2015 | 7

    Ortamlarn hazrlanmas ve gncellenmesi iin harcanan zaman birok yazlm projesinde nemli bir darboaz olmaya devam ediyor. Phoenix ortamlar, ortamlarn tamamn Phoenix Sunucular ile kapsama fikrini sunarak yardmc olabilir. Bunun ok deerli ve zaman kazandrn bir teknik olduunu ve bu yzden bu yaklam denemeyi dnmeniz gerektiini dnyoruz. Otomasyon kullanarak a kurulumlar, yk dengeleme ve gvenlik duvar portlar gibi ortamlar, rnein AWSde CloudFormation kullanarak, btn olarak yaratabiliriz. O halde ortamlar bozarak ve sfrdan dzenli bir ekilde yeniden oluturarak bu srecin ilediini kantlayabiliriz. Phoenix Environments, test etme, gelitirme, UAT ve felaket kurtarma iin yeni ortamlarn hazrlanmasna destek verebilir. Phoenix Servers iin olduu gibi bu model de her zaman uygulanabilir deil ve durum ve bamllklar gibi konularda dikkatle dnmemiz gerekiyor. Ortam kurulumunun yaplmas gerektii zaman, tm ortam bir mavi/yeil datm gibi ele almak kullanlabilecek bir yaklam olabilir.

    Geleneksel olarak QA rolleri, yazlm rnnn kalitesini retim ncesi bir ortamda deerlendirmeye odaklanyordu. Srekli Teslimin ykseliiyle birlikte, QA rol yazlm rnnn kalitesini retimde analiz etmeyi de kapsamaya doru kayyor. Bu kapsamda, retim sistemleri izleniyor, acil durum yaratan hatalarn tespiti iin alarm artlar oluturuluyor, devamllk gsteren kalite sorunlar tespit ediliyor ve bu ii yapmak iin retim ortamnda hangi nlemlerin alnabilecei belirleniyor. Baz kurulularn ok ileri giderek retim ncesi QAy ihmal etmesi tehlikesi bulunmasna karlk, bizim deneyimlerimiz retimde QAnn Srekli Teslimde makul lde ilerlemi durumda olan kurulular iin deerli bir ara olduunu gsteriyor.

    Sabit veri yaplar giderek daha popler hale gelirken, Clojure ve Scala gibi fonksiyonel diller, sabitlii varsaylan durum olarak sunuyor. Veri sabitlii kodun daha kolay yazlmasn, okunmasn ve zerinde akl yrtlmesini salyor. Sadece birikimli bir veri deposu kullanmak veri tabanndaki bu faydalarn bazlarn salayabilir ve ayn zamanda denetim yapmay ve tarihsel sorgulamay daha basit hale getirebilir. Uygulama seenekleri, Datomic gibi spesifik birikimli veri depolarndan basit bir ekilde ekle-gncelleme yaklam ile birlikte geleneksel veri taban kullanmaya kadar uzanabiliyor. Sadece birikimli yntem verilerin gncelleme yerine geri ekme yntemiyle kaldrld bir tasarm stratejisidir; sadece eklemeli yntem ise bir uygulama tekniidir.

    Kurulular, ou zaman gvenlikle ilgili olan hatalarn bildirilmesini tevik etmek ve genellikle yazlmlarn kalitesini ykseltmeye yardm etmek iin hata bildirme dllerini giderek daha fazla kullanyorlar. Bu programlar desteklemek iin HackerOne ve BugCrowd gibi irketler kurulularn bu sreci daha kolay ynetmelerine yardm edebilirler. Bizim bu konuda fazla deneyimimiz yok ancak insanlar, ortaya kp, ok zararl olabilecek zaaflar ak ve effaf bir ekilde gstermeye tevik etme fikrini beeniyoruz. Kullanclar yazlmnzda zaaflar bulmaya tevik etmenin hukuki adan baz sorunlu yanlar olabilir ve bu yzden ltfen nce bunu kontrol edin.

    Veri Gl, veri analizleri iin kaynak ilevi gren ounlukla ilenmemi ham verilerden oluan bir sabit veri deposudur. Daha tandk olan Veri Ambar, verileri depolamadan nce filtreleyip ilerken, gl sadece ham veriyi yakalar ve ihtiya duyduklar belirli analizleri yapmay sz konusu verinin kullanclarna brakr. Bunun rnekleri arasnda Hadoop, Spark veya Storm ileme erevesi ierisindeki HDSF veya HBase bulunuyor. Genellikle sadece kk bir veri bilimci grubu ham veriler zerinde alarak, ou kullancnn sorgulamas iin, gl kysndaki veri marketlerine ynelik ilenmemi veri aklar oluturur. Veri Gl sadece analiz ve bildirim amacyla kullanlmaldr. Biz, operasyonel sistemler arasnda ibirlii konusunda, zellikle bu ama iin tasarlanm hizmetlerin kullanlmasn tercih ediyoruz.

    Birok kurulu datk veya offshore gelitirmeden yararlanmak istiyor ancak kendi kontrolleri dnda bulunan kodlarla ve dier fikri mlkiyet haklaryla ilgili gvenlik endieleri tayorlar. Sonuta genellikle, gelitirme iin gizlilik seviyesi yksek uzak masast zmlerini kullanlyor ve bylece kuruluun gvenlik kontrollerine uyuluyor ancak bu gelitiricinin verimliliine darbe vurmak anlamna geliyor. Bir alternatif, taraycya VPN zerinden gnderilen bir Hosted IDE kullanmak olabilir. IDE, kod ve yap ortam, kuruluun kendi zel bulutunda barndrlr ve bylece gvenlik kayglar azaltlr, gelitirici deneyimi ise nemli lde gelitirilir. Bu alandaki aralar arasnda Eclipse Foundationdan Orion ve Che ile Cloud9 ve Code Envy bulunuyor.

    zlemede genel yaklam hatal artlar zerine dnmek ve bunlar ortaya ktnda alarm vermektir. Ancak bir yazlm sistemindeki ar yksek saydaki arza modlarn tek tek saymak ou zaman zordur. Deimez deerlerin izlenmesi, normal aralklar beklentisini oluturmak iin kullanlan tamamlayc bir yaklamdr ve ou zaman tarihi davran biimini inceleyerek ve bir sistemin bu snrlar dna ktnda alarm vererek gerekletirilir.

    TEKNKLER devam

  • Kasm 2015, ThoughtWorks, Inc. Tm haklar sakldr. TEKNOLOJ RADARI KASIM 2015 | 8

    Uzun mrl versiyon kontrol branlarnn srekli entegrasyon gibi deerli mhendislik uygulamalarna zarar verdiine gl bir inan besliyoruz ve Gitflowu sevmememizin altnda da bu inan yatyor. Aslnda Gitin esnekliini seviyoruz ama kt mhendislik uygulamalarn tevik eden aralardan nefret ediyoruz. ok ksa mrl branlar daha az zarar veriyor ancak Gitflow kullandn grdmz ekiplerin ou bunun bran arlkl i akn ktye kullanyor ve bu da ge entegrasyonu tevik ediyor (bu nedenle gerek srekli entegrasyondan da caydryor.)

    Birok ekibin, leklendirme ihtiyalar olabilecei gerekesiyle karmak ara, framework ve mimarileri tercih eden birok ekibin sorunlarla karlatn gryoruz. Twitter ve Netflix gibi irketler ar ykleri destekleme gcne sahi olabilir ve bu yzden mimarilere ihtiya duyabilirler ancak onlar ayn zamanda bu karmakl kaldrabilecek son derece becerikli gelitirme ekiplerine de sahipler. Birok durumda bu trden bir mhendislik cretine gerek yoktur; ekipler web lei hrslarn kontrol altnda tutmal ve sonuta iin yaplmasn salayan daha sade zmleri tercih etmelidir.

    Gartnerin Hz-katmanl Uygulama Stratejisi yaklam, bir mimari iinde katmanlar oluturma fikrine, yararl olmayan bir odaklanma yaratyor gibi grnyor. (eitli mimari katmanlarndan olumu olabilen) farkl i imkanlar iindeki deiim hz zerinde dnmeyi daha kullanl bir konsept olarak gryoruz. Katmanlara odaklanmann tehlikesi, birok deiim trnn, birok katman kesmesidir. rnein bir web sitesine yeni bir stok snf ekleyebilmek iin

    gerekli olan sadece kolay deitirilen bir CMSye sahip olmak deildir; ayn zamanda veri tabann, entegrasyon noktalarn, ambar sistemlerini vb. gncellemeniz gerekir. Bir mimarinin baz ksmlarnn manevraya dierlerinden daha msait olmasn kabul etmek yararl olacaktr. Ancak baz katmanlara odaklanmann faydas olmad ortaya kyor.

    Scaled Agile Framework (SAFe) birok byk lekli kurulutaki tketici bilincinde yer edinmeye devam ediyor. Ayrca aralar ve sertifikasyon SAFeyi benimsemenin nemli bir yn haline geliyor. Gerekleen benimsemelerin ar standartlamann kurban olabilecei ve geni apl yaynlama uygulamalarnn evik benimsemeyi engelleyecek uygulamalara yol amas endielerimiz devam ediyor. Bunun yerine, deneme aamalarn da kapsayan yaln bir yaklamn benimsenmesini tavsiye ediyoruz ve Improvement Katas gibi srekli iyiletirme uygulamalarn kullanmann kurululara eviklii leklendirme iin daha iyi bir model sunduunu dnyoruz.

    Scaled Agile Framework ve SAFe Scaled Agile, Inc.n tescilli markalardr.

    TEKNKLER devam

  • Kasm 2015, ThoughtWorks, Inc. Tm haklar sakldr. TEKNOLOJ RADARI KASIM 2015 | 9

    ifre gvenlii halen scak bir tartma konusudur ve ngiltere hkmeti kullanclara daha basit ifreleri hatrlama imkan veren teknik kontrolleri savunuyor. Edward Snowdenin ifreyle ilgili tavsiyesi ise sadece kl pay gvenli olarak tanmlanyor. ifreler genellikle gvenlik zincirinin en zayf halkalarndan biridir. Bu yzden biz, gvenlii nemli lde artrabilen iki faktrl kimlik dorulamann kullanlmasn tavsiye ediyoruz. Zaman bazl Bir Defalk ifre (TOTP) bu alandaki standart algoritmadr ve dz sunucu taraf uygulamalar ve Google ve Microsoftun cretsiz akll telefon kimlik dorulama uygulamalar vardr.

    Mesos, devasa lekli datm sistemlerin ina edilmesini kolaylatrmak iin altyapdaki hesaplama kaynaklar ayran bir platformdur. Docker iin bir takvimleme katman salamak veya AWS gibi eyler iin bir soyutlama katman gibi davranmak amacyla kullanlabilir. Twitter bunu altyapsn leklendirmek amacyla ok etkin bir ekilde kulland. Mesos zerine kurulmu aralar ortaya kmaya balyor. rnein

    DURDURDURDUR DEERLENDRDEERLENDR PLOT KULLANIMPLOT KULLANIM BENMSEBENMSE

    32

    38

    49

    37

    3133

    54

    3552

    51

    39

    36

    34

    40

    41

    44

    48

    43

    42

    46

    45

    64

    59

    86

    85

    75

    65

    58

    60

    67

    78

    6362

    68

    72

    56

    57

    66

    79

    70

    80

    77

    73

    74

    87 92

    94

    89

    91

    88

    95

    93

    90

    82

    8469

    61

    71

    47

    1

    3

    24

    5

    6

    26

    23

    11

    30

    28

    15

    7

    8

    9

    10

    12

    13

    1416

    17

    18

    19

    20

    21

    22

    29

    24

    25

    27

    76

    83

    81

    50

    53

    55

    96

    97

    98

    99

    100

    101

    102

    PLATFORMLARChronos bir datk, hata toleransl, cron yerine geen bir aratr. rnein Applen Sirinin mimarisini yeniden kurarak Mesos kullanmaya balamas gibi nemli baar hikayeleri gelmeye balad.

    AWS devasa sayda ve aylk gibi grnen periyotlarla yeni zellikler yaynlyor ve bu yzden herhangi bir yeni hizmet sunumunun grlt ortamn amas ok zor olabiliyor. Ancak Lambda kesinlikle dikkat ekmeyi baard. Balangta sadece JaveScripti destekleyen ancak JVM bazl uygulamalara (kukusuz dierlerine de) destek vermeyen Lambda, bir olaya tepki olarak veya ilgili API Kapsndan gelen bir ar zerinden ok ksa sreli proseslerin fitilini atelemenize olanak tanyor. Durum tutmayan servisler iin bunun anlam herhangi bir uzun mrl makine kullanmanz gerekmemesi ve muhtemelen maliyetlerin dp gvenliin iyilemesi olacaktr. PaaS alanna AWSin yapt baka hcumlara ramen Lambda bu ii baarmaya en yakn aday gibi grnyor.

    Piyasadaki birok CDNden biri olan Fastly, ThoughtWorks projelerinde ok ve artan sayda takip alyor ve zellikle GitHub ve Twitter gibi birok web lekli ev isimleri tarafndan kullanlyor. Bir araya getirdii zellikler, hz ve fiyat, bir u nbellekleme zm aryorsanz ok ekici bir seenek oluturuyor. Baka bir CDNden bu platforma geen projelerin nemli lde maliyet tasarrufu yaptklarna da grdk. Bir CDN iin piyasaya girmiseniz, bunu aratrmak dnda yapacanz her ey daha kt olabilir.

    Son kullanclara ynelik ilevler asndan ngrye ynelik analizler giderek daha fazla rnde kullanlyor. H2O, ngrye ynelik analizleri gelitirme ekiplerinin eriimine ak hale getiren, ok eitli analizlerin dz bir ekilde kullanlabilmesi, ok iyi bir performans ve JVM bazl platformlara kolay entegrasyon salayan, ilgi ekici bir ak kaynak paketidir (arkasnda da yeni bir irket bulunuyor). Ayn zamanda veri bilimcilerin favori aralar olan R and Python ve Hadoop and Spark ile entegre oluyor.

    BENMSE31. TOTP Two-Factor Authentication

    PLOT KULLANIM32. Apache Mesos33. Apache Spark34. AWS Lambda yeni35. Cloudera Impala36. Fastly yeni37. H2O38. HSTS yeni

    DEERLENDR39. Apache Kylin40. AWS ECS yeni41. Ceph yeni42. CoreCLR and CoreFX43. Deis44. Kubernetes yeni45. Linux gvenlik modlleri46. Mesosphere DCOS yeni47. Microsoft Nano Server yeni48. Particle Photon/Particle Electron49. Presto yeni50. Rancher yeni51. Zaman serisi veri taban

    DURDUR52. Uygulama Sunucular 53. Ar hrsl API Kaplar yeni54. SPDY55. Yzeysel zel bulut yeni

  • Kasm 2015, ThoughtWorks, Inc. Tm haklar sakldr. TEKNOLOJ RADARI KASIM 2015 | 10

    PLATFORMLAR devamHTTP Strict Transport Security (HSTS) u anda ok yaygn bir destek gren ve web sitelerinin kendilerini srm drme saldrlarndan korumalarn salayan bir politikadr. HTTPS balamnda, srm drme saldrs, sitenizin kullanclarnn HTTPS yerine HTTPye dmelerine neden olan ve rnein iki balant noktas arasndaki balanty izinsiz izleme gibi baka saldrlar mmkn hale getiren bir saldrdr. Sunucu baln kullanarak tarayclarn sizin web sitenize erimek iin sadece HTTPS kullanmalar ve srm drme ve siteyle http zerinde temasa geme arlarn dikkate almamalar gerektiini bildirmi oluyorsunuz. Tarayc destei artk bu uygulamas kolay zelliin HTTPS kullanan her site iin dnlmesine yetecek kadar yaygnlat.

    Esnek Konteynir Servisi (ECS) AWSnin ok ana makineli Docker alanna giriini oluturuyor. Bu alanda ok fazla rekabet olmasna ramen henz tesis d ynetilen zmlerin says fazla deil. ECS iyi bir ilk aama gibi grnmekle birlikte, u anda ar karmak olmasndan ve iyi bir soyutlama katmanna sahip olmamasndan endie duyuyoruz. Ancak AWS zerinde Docker altrmak istiyorsanz bu aracn kesinlikle listenizin st sralarnda yer almas gerekiyor. Sadece ie bununla balamann kolay olduunu dnmemelisiniz.

    Ceph, hem nesne depolama, hem blok depolama hem de dosya sistemi olarak kullanlabilecek bir depolama platformudur. lk byk yayn Temmuz 2012de yaplan Ceph kesinlikle yeni bir rn deil. Teknoloji Radarnn bu saysnda, zel bulutlar iin bunun nemli bir yap ta olduunun altn izmek istiyoruz. zellikle ekici olan yan RADOS Gateway bileenini, nesne deposunu Amazon S3 ve OpenStack Swift APIlerle uygumlu bir RESTful arayz zerinden aabiliyor olmas.

    Kubernetes, Googlen, giderek daha yaygn bir senaryo haline gelmekte olan konteynrlarn bir makine kmesine konulandrlmas sorununa cevabn oluturuyor. Bu, Googlen kendi iinde kulland bir zm deil ancak Googleda balayan bir ak kaynak projesi olarak nemli oranda harici katk ald. Docker ve Rocket konteynr formatlar olarak destekleniyor ve sunulan hizmetler arasnda salk ynetimi, kopyalama ve bulgu bulunuyor. Bu alandaki benzer bir zm olan Rancher, yine konteynrlarn bir makine kmesi zerine konulandrlmasna imkan salayan bir ak kaynak zmdr. Yaam boyu ynetim, izleme, salk kontrolleri ve bulgu gibi hizmetler sunuyor. Bu kapsamda ayrca tamamen konteynrlatrlm ve Docker bazl bir iletim sistemi bulunuyor. Byk apta konteynrlatrmaya odaklanma ve ok kk olan ayak izi Ranchern en nemli avantajlarn oluturuyor.

    Mesosphere DCOS Mesos zerine kurulmu bir platformdur. Altyapdaki makinelerin zerine bir soyutlama katman salar ve size DCOS iin gelitirilmi hizmetlerin devasa leklerde almasna izin veren bir depolama ve bilgi ilem havuzu verir. (Hadoop, Spark ve Cassandra ve benzerleri iin imdiden destek salanmaya balad). Bunlar, u andaki daha mtevaz i ykleri iin muhtemelen ar g kullanmak anlamna gelebilir (bunlar iin geleneksel Mesos hl en uygunu olabilir), ancak Mesospherein DCOSyi bir genel amal sistem olarak konumlandrmaya almaya balayp balamadn grmek ilgin olacaktr.

    Linux bazl modern bulut ve konteynr zmleriyle karlatrldnda Windows Server Core bile ok byk ve hantaldr. Microsoft buna reaksiyon gsteriyor ve Windows Servern daha sadeletirilmi versiyonu olan Nano Servern ilk incelemelerini sundu. Nano Server GUI ynn, 32-bit Win32 desteini, yerel orijin ve uzaktan masast desteini aa ekerek disk zerindeki boyutunu 400 MBye ekme sonucunu elde ediyor. lk incelemeler ile almak zordur ve nihai zm CoreCLR kullanmakla snrl olacaktr ancak .NET bazl zmler kullanmakla ilgilenen irketler Nano Server kesinlikle bu aamada bir gz atlmay hak ediyor.

    Presto, etkileimli analiz i ykn kaldrmak zere tasarlanp optimize edilmi bir ak kaynak datk SQL sorgulama motorudur. Prestonun devasa paralel ilem mimarisi gelimi kod retme teknikleri ve bellek ii ilem sralamalaryla birlikte bu motoru son derece leklendirilebilir hale getiriyor. Karmak sorgular, birleimler, toplamlar ve pencere fonksiyonlar gibi geni bir ANSI SQL alt serisini destekliyor. Hive, Cassandra, MySQL ve PostgreSQL gibi geni bir veri kayna yelpazesine verilen destekle gelen Presto bylece, bir irketin veri depolar arasnda etkileimli analitik ara yzn birletiriyor. Uygulamalar, JDBC ara yzn kullanarak Prestoya balanabiliyorlar.

    Yaygn ikayetlerimizden biri ite zeki zel yazlmlara ynlendirmesi ve bu yzden uygulama sunucular ve iletme hizmet srclerinin kritik uygulama mantn kullanmaya ynelmesidir. Bu, amaca pek uygun olmayan ortamlarda karmak programlamalar yaplmasn gerektirir. Bu hastaln ar hrsl API Kaps rnlerinde endie verici bir ekilde yeniden ortaya ktn gryoruz. API Kaplar baz jenerik kayglarla ba etmek iin yararl olabilir rnein kimlik kontrol ve hz snrlama ancak rnein veri dnm veya kural ileme gibi alanda zekilerin, destekledikleri alanla yakn iliki iinde olan retim ekipleri tarafndan kontrol edilebilecekleri uygulama ve hizmetlerin iin kalmalar gerekir.

  • Kasm 2015, ThoughtWorks, Inc. Tm haklar sakldr. TEKNOLOJ RADARI KASIM 2015 | 11

    Uygulamalarn olgun bulut tedarikilerine konulandrlmasndan tartmasz verim artlar salandn grdk. Bu verim artnn byk blm ekiplerin kendi hizmetlerini yksek bir zerklik ve sorumluluk dzeyinde konulandrabilme becerisinden geliyor. u anda dzenli olarak kurulularn iinde sunulan Yzeysel zel Bulut uygulamalar ile karlayoruz ve bunlarda temel sanallatrma platformlarna bulut etiketi veriliyor.

    Ekipler ou zaman kendilerine kstl bir sabit hizmet tipleri grubu veriyor ve merkezi olarak ynetilen iletme ablonlarna eriim snrl olurken bunlar zelletirme kabiliyeti de ok az oluyor ve geici ve etkili olmayan yama zmlerine yol alyor. A, gvenlik duvar ve depo gibi manuel olarak hazrlanan altyap konulandrma hzn dzenli olarak kstlamaya devam ediyor. Kurululara yetersiz zel bulut sunumlarnn kullanlmasna karar vermenin maliyetlerini tam olarak deerlendirmelerini tavsiye ediyoruz..

    PLATFORMLAR devam

  • Kasm 2015, ThoughtWorks, Inc. Tm haklar sakldr. TEKNOLOJ RADARI KASIM 2015 | 12

    Browsersync kullanan birok ThoughtWork ekibinden deerlendirmeler aldk. Web uygulamalarn verdiimiz cihazlarn says arttka, bu farkl cihazlar arasnda test yapmaya harcanmas gereken aba da ayn ekilde artyor. Browsersync, eitli mobil veya masast tarayclar arasnda manuel tarayc testini ezamanlayarak bu abay keskin bir ekilde azaltabilen cretsiz bir ak kaynak aratr. Hem CLI hem de UI seenekleri sunan bu ara pipeline dolu olarak gelitirildi ve form doldurma gibi tekrar tekrar yaplan grevleri otomatik hale getiriyor.

    iOS veya OS X projelerinde bamllk ynetimi, daha nce tamamen manel veya CocoaPods kullanm kapsamnda tamamen otomatik oluyordu. Carthage ile yeni bir ortaya yol bulundu. Carthage bamllklar ynetiyor ereveleri indiriyor, ina ediyor veya gncelliyor ancak erevelerin projenin yapsna entegrasyonunu projeye brakyor. CocoaPods ise aksine proje yapsn alyor ve kurulumu ina ediyor. Carthagen sadece, iOS 7 ve altnda bulunmayan dinamik erevelerle alabildiini belirtmek gerekiyor.

    Daha nce Docker lokal Windows veya OS X makinanzda kolay kullanmann bir yntemi olarak boot2dockeri tavsiye etmitik. imdi Docker Toolbox boot2dockerin yerine geiyor ve ayn zamanda baz aralar ekliyor. Konteynrlarnz ynetmek iin Kitematic ve oklu Docker kurulumunu ynetmek iin Docker Compose (sadece Mac iin) bulunuyor. Boot2dockerin yerini hzlca alabilen bu ara gvenli bir ekilde kullanlabilir ve sizin iin model ykseltmeyi bile yapabilir.

    ifre ve eriim jetonlar gibi srlarn kod havuzlarnda gvenli bir ekilde saklanmas artk, rnein nceki Technology Radarda deindiimiz git-crypt ve Blackbox gibi giderek artan sayda ara tarafndan destekleniyor.

    ARALAR

    DURDURDURDUR DEERLENDRDEERLENDR PLOT KULLANIMPLOT KULLANIM BENMSEBENMSE

    32

    38

    49

    37

    3133

    54

    3552

    51

    39

    36

    34

    40

    41

    44

    48

    43

    42

    46

    45

    64

    59

    86

    85

    75

    65

    58

    60

    67

    78

    6362

    68

    72

    56

    57

    66

    79

    70

    80

    77

    73

    74

    87 92

    94

    89

    91

    88

    95

    93

    90

    82

    8469

    61

    71

    47

    1

    3

    24

    5

    6

    26

    23

    11

    30

    28

    15

    7

    8

    9

    10

    12

    13

    1416

    17

    18

    19

    20

    21

    22

    29

    24

    25

    27

    76

    83

    81

    50

    53

    55

    96

    97

    98

    99

    100

    101

    102Bu aralarn vardna ramen srlarn hl korumasz olarak saklanmas ok yaygndr. Aslnda bu o kadar yaygndr ki, AWS bilgilerini bulmak iin otomatik istismar yazlm, Bitcoins kazs yapmak iin dntrlm EC2 instancelar kullanlyor ve sonuta saldrgann elinde Bitcoins, hesap sahibinin elinde ise fatura kalyor. Gitrob benzer bir yaklam benimseyerek kuruluun GitHub havuzlarn taryor ve havuza konulmam olmas gereken hassas bilgileri ieriyor olabilecek btn dosyalar iaretliyor. Tabii ki bu reaktif bir yaklam. Gitrob ekipleri ancak (neredeyse) ok ge olduu zaman uyarabiliyor. Bu nedenle Gitrob ancak hasar azaltan tamamlayc bir ara olabilir.

    BENMSE 56. Composer57. Mountebank58. Postman

    PLOT KULLANIM59. Browsersync yeni60. Carthage yeni61. Consul62. Docker Toolbox yeni63. Gitrob yeni64. GitUp yeni65. Hamms66. IndexedDB67. Polly68. REST-assured69. Sensu70. SysDig yeni71. ZAP

    DEERLENDR72. Apache Kafka73. Concourse CI74. Espresso75. Gauge76. Gor77. ievms78. Lets Encrypt79. Pageify80. Prometheus81. Quick82. RAML83. Security Monkey84. Sleepy Puppy85. Visual Studio Code

    DURDUR86. Citrix for development

  • Kasm 2015, ThoughtWorks, Inc. Tm haklar sakldr. TEKNOLOJ RADARI KASIM 2015 | 13

    ARALAR devamGit kafa kartrc olabilir. Gerekten kafa kartrc olabilir. Hatta basit bir trunk bazl gelitirme prosesi olarak kullanldnda bile nasl alt konusunda birok nans vardr ve bu yzden insanlar bazen kendi kendilerini kmazlara sokabilirler. Byle bir durumda Gitin cihazn iinde nasl altn yakndan bilmek ok yararl olacaktr ve GitUp size tam da bunu salayan Mac bazl bir aratr. GitUp siz normal Git komutlar yazdka neler olduunun bir grafik temsilini sunar. eitli Git komutlarn renirken ayn zamanda her birinin siz onlar kullandka neler yaptn anlayabilirsiniz. GitUp hem Git konusunda yeni olan hem de Git tecrbesi daha fazla olan kiiler iin kullanl bir aratr.

    Bizim .NET projeleri zerinde alan baz ekiplerimiz Pollyyi mikroservis bazl hizmetleri ina etmek iin yararl bir ara olarak tavsiye etti. Polly, Retry, Retry Forever ve Wait and Retry gibi geici istisna ynetimi politikalar ve Circuit Breaker modelinin akc bir ekilde ifade edilmesini tevik eder. u anda baka dillerde de benzer ktphaneler bulunuyor (rnein Java iin Hystrix) ve Polly, .NET topluluu tarafndan sunulan ve memnuniyetle karlanan bir katk oldu. Polly ile iyi entegre olan bir rnek olan Brighter, komutlarn taleplerinin uygulanmas iin iskele oluturan bir baka kk ak kaynak .Net ktphanesidir. ki ktphanenin birletirilmesi, zellikle Ports and Adapters modeli ve CQRS balamnda yararl bir devre kesme ilevsellii salar. Ayr ayr kullanlabilmekle birlikte ekiplerimiz birlikte iyi alabildiklerini tesadfen kefetti.

    Birok izleme arac, makine veya rnek konsepti etrafnda ina edilmitir. Phoenix Server gibi modeller ile Docker gibi aralarn giderek artan kullanm bunun altyapy modellemek iin giderek daha da kullansz hale gelen bir yntem olduunu gsteriyor: rnekler geici hale geliyor ve hizmetler ise kalc olan eylerdir. Sensu bir instancen kendini belli bir rol oynuyormu gibi kaydetmesine izin verir ve Sensu onu bu bazda izler. Zaman iinde, bu rol oynayan instancelar gelir ve gider. Bu faktrler ve bu aracn giderek olgunlamakta olduunu dikkate alarak Sensuyu yeniden radara almaya karar verdik.

    SysDigin Teknoloji Radarndaki en yeni ara olmamasna ramen bu kadar ok kiinin onun adn bile duymam olmas bizi artmaya devam ediyor. Linux sistem sorun gidermeyi amalayan bir tak-kar ak kaynak CLI olan SysDigin olduka gl zellikleri var. En sevdiimiz

    eylerden biri, sorun yaanan bir makinede, sistemdeki olaylarn izini oluturarak sonradan bunlar sorgulayarak neler olduunu grebilmeniz. SysDig ayn zamanda konteynrlara birlikte alma desteine de sahip ve bu da daha nce zaten kullanla olan bir arac daha da gl hale getiriyor.

    Birok gelitirme ekibi, basit srekli entegrasyon sunucularndan, ou zaman retime kadar ulaan birden ok ortam kapsayan Srekli Datm pipelinelarna geiyorlar. Byle bir pipeline baaryla uygulamak ve srdrlebilir bir ekilde yrtmek yaplm pipelinelar ve artifaktlara birinci snf vatanda muamelesi yapan bir CI/CD aralar gerektirir ve maalesef bunlarn says ok fazla deildir. Bu alana yeni giren ve gelecek vaat eden bir ara olan Concourse CIyi deneyen ekiplerimiz, konteynrlarda alan yaplarn, temiz ve kullanlabilir bir UIleri olmasna imkan veren ve kar tanesi yapm sunucularn kullanmndan caydran kurulumundan byk heyecan duydular.

    Espresso bir fonksiyonel test aracdr. Kk ekirdekli APIsi karmakark ayrntlarn saklar ve zl testler yazlmasna ve daha hzl ve gvenli test uygulamas yaplmasna yardmc olur.

    Gauge, hafif ve platformlar arasnda alan bir test otomasyon aracdr. Spesifikasyonlar serbest form Markdownda yazlmtr ve bylece test durumlar i dilinde yazlabilir ve mevcut herhangi bir belge formatyla btnletirilebilir. Desteklenen diller tek ekirdekli bir uygulamaya eklenti olarak uygulanr ve bylece dil uygulamalar arasnda tutarllk salanr. ThoughtWorksn ak kaynak olarak sunduu bu ara ayn zamanda desteklenen btn platformlar iin allmn dnda paralel uygulamay da destekler.

    Internet Explorer kullanmnn azalmasna ramen IE kullanc baz, pazar pay olarak nemsiz deildir ve taraycnn uyumluluunun test edilmesi gerekir. Gelitirme iin UNIX bazl sistemlerin keyfini tercih ediyorsanz bu ok sorunlu bir hale gelir. Bu ikilem karsnda yardmc olmak amacyla ievms Windows tarafgndan datlan VM grselleri ile VirtualBox bir araya getirerek, 6dan Edgee kadar ok eitli IE versiyonlarnn kurulumunu ve test edilmesini otomatikletiren bir yardmc script sunuyor.

  • Kasm 2015, ThoughtWorks, Inc. Tm haklar sakldr. TEKNOLOJ RADARI KASIM 2015 | 14

    Her geen gn daha fazla sitenin HTTPSyi uygulayarak kendi kullanclarnn korunmasna yardmc olmay ve web sitesinin bir btn olarak salamln korumay amalamasna ramen bu ilere henz balamam daha birok site var. Ayrca giderek daha fazla kiinin, iletmelerinde ilave gvenlik garantisi salama amacyla HTTPS kullandn gryoruz. HTTPSnin daha geni apta benimsenmesinin nndeki nemli engellerden biri ncelikle bir sertifika alma prosesidir. Maliyetin dnda prosesin kendisi dzgn ilemekten ok uzak. Yeni bir Sertifika Otoritesi olan Lets Encrypt, btn bunlar zmeyi amalyor. Birincisi sertifikalar cretsiz veriyor. kincisi, belki de daha nemlisi, ayn zamanda son derece kolay kullanlan bir komut satr APIsi vererek sertifika karma, ykseltme ve kurma prosesini tam otomatik hale getirmeyi kolaylatrmasdr. u anda beta srmnde olan Lets Encryptin giderek daha fazla web sitesinin HTTPSye gemesine yardmc olmak asndan devrimci bir etki yapma ve ayn zamanda gvenlie nem verenler iin iyi ve otomatikletirilebilir aralarn nasl olmas gerektiini gsterme ansna sahip olduunu dnyoruz.

    UI otomasyon testleri iin sayfa nesneleri ina etmek amacyla kullanlan bir Ruby ktphanesi olan Pageify daha hzl test uygulamas ve kod okunabilirliine odaklanyor. Sayfa nesnelerini dinamik bir ekilde tanmlamak, iletmek ve aklamak iin basit APIler sunuyor ve unsurlar DOMda karmak hiyerariler iinde ele alrken bile okunabilir kod yazmna imkan veriyor. WebDriver ve Capybara entegrasyonunu birlikte sunuyor.

    SoundCloud, izleme ve alarm verme ara kiti olan Prometheusu ksa bir sre nce ak kaynak haline getirdi. retim sistemlerindeki Graphite ile yaanan zorluklara tepki olarak gelitirilen Prometheus, ncelikle pull tabanl bir HTTP modelini destekliyor (ancak daha Graphite benzeri bir push tabanl modeli de destekleniyor. Ayrca alarmlara da destek vermesi, onu operasyonel ara setinizin aktif bir paras haline getiriyor. Bu metin yazld srada Prometheus henz sadece 0.15.1 srmndeydi ancak hzla dnyordu. En yeni rnn temel zaman serisi DB ve ok boyutlu endeksleme olanaklarna odaklanrken, daha geni bir n yz grafik aralar yelpazesine aktarabilmeye izin verdiini memnuniyetle grdk.

    RESTful APIler sunun hizmetlerin says arttka bunlarn belgelenmesi de giderek nem kazanyor. Daha nce Swaggerden sz etmitik. Bu Teknoloji Radarnda da RESTful API modelleme diline (RAML) dikkat ekmek istiyoruz. Ekiplerimiz bunun Swaggerdan daha hafif olduunu ve odak noktasn mevcut APIlere belge eklemekten yeni APIler tasarlamaya tadn dnyorlar.

    Sleepy Puppy Netflixin yakn gemite ak kaynak olarak sunduu bir geciktirilmi siteler aras skript yazma (XSS) i yk ynetimi erevesidir. Saldrgan altyapdaki ikinci bir sisteme saldrmak istediinde XSS hedefi ama uygulamasnn zaaflarn test etmenize olanak salar. XSS, OWASP Top10 listesinde yer alrken, bu frameworkn eitli uygulamalar iin otomatik gvenlik kontrollerine yardm ettiini gryoruz. XSS yaylmasn uzun dnemler boyunca yakalamay, ynetmeyi ve izlemeyi kolaylatryor ve i yk ayarlanabiliyor. Sleepy Puppy ayn zamanda ZAP gibi zaaf kontrol aralaryla entegre edilerek otomatik gvenlik kontrollerinde kullanlan bir API ortaya karyor.

    Visual Studio Code, Microsoftun platformlar arasnda kullanma ak cretsiz IDE editrdr. Git ile versiyon kontrol entegrasyonunu, srekli entegrasyon uygulamalarn desteklemek iin ok yararl buluyoruz. Visual Studio Code ayn zamanda grevler zerinde harici aralarla entegrasyon iin de bir yntem sunuyor. Grunt/gulp grevleri otomatik olarak tespit ediliyor ve bu grevlerin terminaller zerinden yaplma ihtiyac ortadan kaldrlarak sadece editr kullanlarak yaplyor. Docker ekosisteminin bymesiyle birlikte bu IDE, dockerfile iin geerli komutlarn kk paralar ve tanmlaryla destek salyor.

    Birok kurulu hl datk veya farkl lkelerdeki gelitirme ekiplerini gelitirme iin Citrix uzak masast kullanmaya zorluyorlar. Bu, basit bir gvenlik modeli salasa da varlklarn kuruluun sunucularndan hi kmad varsaylyor gelitirme iin uzak masast kullanlmasnn gelitiricilerin verimliliini azaltt kesindir. Gelitiricilere hem datk olmann hem de uzak masa stnn maliyetini aktaracaksanz onlara daha ucuz saatlik cretler demenin ok fazla anlam yoktur ve giderek daha fazla yurtd tedarikinin mterilerine kar bu ekinceleri itiraf edeceklerini umuyoruz. Bir temiz oda ile gvenlik salanm, yerel gelitirmenin yaplabilecei bir yurtd ortam veya bir Hosted IDE (rnein ievms) kullanmak daha iyidir.

    ARALAR devam

  • Kasm 2015, ThoughtWorks, Inc. Tm haklar sakldr. TEKNOLOJ RADARI KASIM 2015 | 15

    Uzun yllarn ardndan, JavaScript dnyada en yaygn kullanlan programlama dili haline geldi. Yine de, bu dilin birka sournu var ve birok kii bu sorunlar ktphaneler kurarak veya hatta JaveScriptin zerinde alan kendi dillerini uygulayarak (bunlardan CoffeeScript ve ClojureScripte daha nce deinmitik) zmeye altlar. JavaScriptin yeni versiyonu olan ECMAScript 6, halen kullanmda olan eski versiyonlarn sorunlarnn birouna mdahale ediyor. Tarayc destei nadir olmakla birlikte Babel gibi olgun derleyicilerin destei sayesinde daha eski tarayclarda ECMAScript 6 yazabiliyorsunuz desteklenmesini salayabiliyorsunuz. Yeni projeler iin ilk gnden itibaren ECMAScript 6 ile balamanz tavsiye ediyoruz.

    Kamuoyuna sunulmasnn zerinden bir yl geen Swift artk bizim Apple ekosistemindeki ilk tercihimiz haline geldi. Yakn gemite Swift 2nin de yaynlanmasyla birlikte bu dil projelerin ou iin gerekli stabilite ve performans salayan bir olgunluk seviyesine yaklayor. Swiftin, zellikle ara detei, refaktoring ve test konularnda hl baz sorunlar var. Ancak bunlarn Swiftten kanma uyars yapmay gerektirecek kadar nemli olmadn dnyoruz. Ayn zamanda nemli bir konu da mevcut Objective-C kod temellerinin beklentileri karlama ihtimalinin dk olmasdr. Swiftin ak kaynak yazlm olaca duyurusu olumlu bir iarettir. Bunun bir kez daha irket iinde gelitirilmi bir kodun kamu havuzuna atlmasndan ibaret kalmayacan umuyoruz nk Apple, kamuoyundan gelecek katklar tevik ve kabul edeceklerini ak bir ekilde belirtti.

    Mustache veya FreeMarker gibi ablon frameworkler kod ile biimlendirmeleri tek bir dosya da birletirerek, karmak ve dinamik ierii uygulamay amalyor. Enlive, programlama dilini HTML biimlendirmesinden tamamen ayran ve belgenin baz ksmlarn bulmak ve deitirmek iin CSS seicileri kullanan bir ambol frameworkdr. Enlive, fonksiyonel programlamann, karmak hareketleri uygulama gcn, ortak bir soyutlama zerinde alan bir dizi basit ve birletirilebilir fonksiyon zerinden sergiliyor. Clojurede alan ekiplerimiz bunun ok yararl ve dzgn bir ara olduunu saptadlar.

    DLLER VE FRAMEWORKLER

    HTML5 WebSockets kullanmyla ilgili birok ekincemiz var. Sunucunun tarayc zerinde aksiyonlar balatmasna izin vererek WebSockets, lugn World Wide Webin altnda yatan balantsz talep/cevap modelinden ayrlm oluyor. Gvenlik de WebSockets iin ayr bir risk oluturuyor. rnein bu standart hibir kkeni aan talep politikas getirmiyor. Ancak, baz izleme veya alarm uygulamalarnda WebSocketsin ok yararl olabileceini kabul ediyoruz. Eer bir .NET WebSockets sunucusu ina etmeniz gerekiyorsa, SignalR, gl bir retim uygulamas iin ihtiyacnz olan ilave kodlarn birounu rahatlkla uyguluyor. Bu kapsamda, balant jetonlarnn validasyonu ve ifreleme gerektiinde SSLnin aktive edilmesi gibi baz tavsiye edilen gvenlik uygulamalar da bulunuyor. ThoughtWorks ekiplerinin SignalRden ok memnun olmasna ramen, WebSockets konusunda kollar svamadan nce dnmeniz gereken baz temel sorunlar hl var.

    DURDURDURDUR DEERLENDRDEERLENDR PLOT KULLANIMPLOT KULLANIM BENMSEBENMSE

    32

    38

    49

    37

    3133

    54

    3552

    51

    39

    36

    34

    40

    41

    44

    48

    43

    42

    46

    45

    64

    59

    86

    85

    75

    65

    58

    60

    67

    78

    6362

    68

    72

    56

    57

    66

    79

    70

    80

    77

    73

    74

    87 92

    94

    89

    91

    88

    95

    93

    90

    82

    8469

    61

    71

    47

    1

    3

    24

    5

    6

    26

    23

    11

    30

    28

    15

    7

    8

    9

    10

    12

    13

    1416

    17

    18

    19

    20

    21

    22

    29

    24

    25

    27

    76

    83

    81

    50

    53

    55

    96

    97

    98

    99

    100

    101

    102

    BENMSE87. ECMAScript 688. Nancy89. Swift

    PLOT KULLANIM90. Enlive yeni91. React.js92. SignalR yeni93. Spring Boot

    ASSESS94. Axon yeni95. Ember.js96. Frege yeni97. HyperResource yeni98. Material U yeni I99. OkHttp yeni100. React Native yeni101. TLA+ yeni102. Traveling Ruby yeni

    DURDUR

  • Kasm 2015, ThoughtWorks, Inc. Tm haklar sakldr. TEKNOLOJ RADARI KASIM 2015 | 16

    Spring Boot tek bana Springbased uygulamalarnn kolay kurulumunu salyor. Yeni mikroservisler oluturmak iin ideal olan Spring Bootun konulandrlmas da kolay. Veri eriiminin zahmetini de Hibernate eleme sayesinde ok daha az klie kod kullanarak azaltyor. Spring Bootun Java hizmetlerini basitletirmesi houmuza gidiyor ancak birok bamllk hakknda kukulu olmay rendik. Spring henz yzeyin hemen altnda pusuya yatyor. Eer Java ile mikroservisler yazyorsanz, DropWizard veya Spark gibi bir mikro framework kullanarak, Spring ar arlna katlanmakszn Spring Bootun iyi yanlarndan faydalanmay dnebilirsiniz.

    Genel bir model olarak CQRS hakknda hl kayglarmz olmasna ramen, bu yaklam belli yerlerde ok iyi ileyebiliyor. Ancak bu spesifik durumlarda, CQRSyi gerektii gibi altrmak iin gelitiriciye ok fazla i dyor. Axon, JVM zerinde bu konuda yardmc olabilecek bir frameworktr ve biz de bunu belli bir baaryla kullandk. u anda mkemmel bir zm saylmazsa da geliimini srdryor ve her eyi sfrdan yazmaktan ok daha anlaml olabilir.

    Birok baka programlama dilinin ardndan dil kurtlarnn mutlak favorilerinden biri olan Haskell, artk JVM zerinde ve Frege formunda da sunuluyor. Bylece platforma tamamen fonksiyonel bir programlama dili geliyor ve dier JVM dilleri ve ktphaneleriyle karlkl almay kolaylatryor.

    HyperResource, RESTful API istemcisi ina etmekte kullanlan bir Ruby frameworkdr. Bu framework, JSONu HAL formatnda kabul ediyor ve dinamik bir ekilde hipermedya linkleri de bulunan bir model nesne oluturuyor. Bu framework henz ocukluk anda olmakla birlikte, hizmetlerin kefedilebilirliini artrmak ve zbelgelemeli protokoller salamak amacyla Richardson seviye 3 RESTi benimsemesini beeniyoruz.

    Material UI, Googlen Material Design dilini kullanan React uygulamalarnda kullanlmak zere yeniden kullanlabilir bileenler salyor. Twitter Bootstrap ile benzer bir yeri dolduran Material UI, hzla dzgn ve sorunsuz almaya balamanz salyor ancak uygulamanzn bymesiyle birlikte ayn ekinceler bulunmuyor. Elemental UI bir alternatif olarak dnmeye deer.

    Squarein sunduu bir Java HTTP balant ktphanesi olan OkHttp, balantlar kurmak ve daha hzl olan HTTP/2 protokoln desteklemek iin akc bir arayz

    salar. HTTP/1.1 kullanrken bile, OkHttp balant havuzu oluturarak ve effaf gzip sktrma yaparak performans art salayabiliyor. Hem engelleyici e zamanl arlar hem de engelleyici ve ezamanl olmayan arlar destekleyen OkHttp, ok yaygn kullanlan Apache HttpClient yerine hazr bir yedek olarak da kullanlabiliyor.

    Platformlar aras mobil gelitirme dnyasna yeni girenlerden, Facebookun React Nativei, React.js programlama modelini iOS ve Android gelitiricilere getiriyor. React Native programlar JavaScript ile yazlyor ancak Ionic gibi hibrit bir frameworkn aksine React Native gelitiricilere hedef platform zerindeki yerli UI bileenlerine eriim hakk veriyor. Bu daha nce grdmz bir yaklam (rnein Calatrava), Ancak React Native imdiden nemli byklkte bir gelitirici topluluu ve yapya React.jsnin yaratt ivme konusunda ilham vermi durumda. Bu platform mobil uygulama gelitirmenin geleceinde nemli bir rol oynayabilir.

    Mikroservisleri kullanan sistemler ina etmek, arza izolasyonu ve testi konularnda daha derin dnmemizi gerektirir. TLA+ bu senaryolarn her ikisinde yararl olabilecek bir formel spesifikasyon dilidir. Arza izolasyonu iin TLA+ sisteminizdeki dorudan izlenebilecek deimez deerleri tanmlamak iin de kullanlabilir. Bir deimez deer, rnein bir servise ynelik taleplerin bir baka serviye ynelik taleplere oran olabilir. Bu orandaki herhangi bir deiim bir alarm verilmesine yol aar. TLA+ ayn zamanda datk sistemlerdeki hemen gze arpmayan tasarm kusurlarn saptamak iin de kullanlyor. rnein Amazon, TLA+ta yazlm bir formel spesifikasyona dayanan model kontroln kullanarak, Dynamo DBdeki hemen gze arpmayan hatalar, yaynlanmadan nce tespit etti. Sistemlerin ou iin formel spesifikasyonu yaratmak ve model kontroln yapmak iin gerekli yatrm muhtemelen fazlasyla byk olacaktr; ancak kritik sistemler iin karmak veya ok kullancl olanlar iin alet kutumuzda baka bir aracn bulunmasnn ok deerli olduunu dnyoruz.

    Traveling Ruby tanabilir, altrlmaya hazr, programlardan bamsz Ruby ikililerini, yorumlamal bir program, paketler veya ilave gem kurmaya gerek olmakszn datmay mmkn hale getiriyor. almakta olan Ruby uygulamalarn, iinde altklar gelitirme ortamndan ayrtryor.

    DLLER VE FRAMEWORKLER devam

  • Kasm 2015, ThoughtWorks, Inc. Tm haklar sakldr. TEKNOLOJ RADARI KASIM 2015 | 17

    ThoughtWorks, yazlm danmanl, retimi ve rnleri konusunda uzmanlam tutkulu ve hedef sahibi bireylerin oluturduu bir topluluk ve yazlm irketidir. Mterilerimize yaadklar en byk zorluk ve mcadelelerde yardmc olmak zere allmn dnda dnrken IT sektrnde bir devrim yapmann ve olumlu bir sosyal deiiklik yaratmann yolunu aryoruz. Harika olmay ok isteyen yazlm ekipleri iin nc aralar yapyoruz.

    rnlerimiz, kurulularn srekli gelimelerine ve en kritik ihtiyalar iin kaliteli yazlmlar retmelerine yardmc oluyor. 20 Yl nce kurulan ThoughtWorks, Chicagodaki kk bir irketten 12 lkedeki (Avustralya, Brezilya, Kanada, in, Ekvador, Almanya, Hindistan, Singapur, Gney Afrika, Trkiye, Birleik Krallk ve ABD) 35 ofiste 3500den fazla alan olan bir irkete dnmtr.