CTOcast # 1: किरिल सफोनोव (RuTarget)

आईटी कंपनियों में प्रौद्योगिकी, प्रक्रियाओं, बुनियादी ढांचे और लोगों पर पॉडकास्ट के पहले मुद्दे का परिचय (आप यहां शून्य मुद्दे को सुन और पढ़ सकते हैं )। आज, CTOcast पर जाने वाले RuTarget के तकनीकी निदेशक किरिल सफोनोव हैं।



पॉडकास्ट सुनो



हमारे वार्ताकार और RuTarget के बारे में कुछ शब्द:



किरिल सफोनोव रूस के सेंट पीटर्सबर्ग में रहते हैं और काम करते हैं। सेंट पीटर्सबर्ग स्टेट पॉलिटेक्निक यूनिवर्सिटी (2004) से स्नातक, भौतिक और गणितीय विज्ञान (2007) के उम्मीदवार। 2001-2004 में उन्होंने 2004-2006 में सॉफ्ट-इम्पैक्ट में C ++ डेवलपर के रूप में काम किया। - बोरलैंड में प्रोग्रामर। स्विफ्टटेम्स में 2006 से 2010 तक (सीटीओ के रूप में 2010 से)। 2011-2013 में - JetBrains में डेवलपर। अप्रैल 2013 से, वह RuTarget में CTO रहे हैं।

RuTarget कंपनी की स्थापना 2011 में यूजीन इजी द्वारा की गई थी, तब पहले निवेश आकर्षित हुए थे। कंपनी कस्टम RTB समाधान विकसित कर रही है। RuTarget द्वारा प्रदान किया गया RTB बुनियादी ढांचा एजेंसियों और विज्ञापनदाताओं को विज्ञापन और डेटा को स्वचालित रूप से खरीदने और बेचने की अनुमति देता है। सबसे प्रसिद्ध समाधान सेगमेंटो (RuTarget से निकटता से जुड़ा हुआ) के लिए मंच है, जो विज्ञापनदाताओं और विज्ञापन एजेंसियों के लिए RTB सेवाएं प्रदान करता है।



पॉडकास्ट का पाठ संस्करण (पहला भाग)



अलेक्जेंडर अस्टापेंको: कृपया बताएं कि आरटीबी (वास्तविक समय की बोली) क्या है और इस प्रणाली के विभिन्न प्रतिभागियों के बीच बातचीत कैसे व्यवस्थित होती है: विज्ञापनदाताओं, साइटों, डेटा प्रदाताओं।



किरिल सफोनोव: बिल्कुल। RTB, या एक वास्तविक समय की नीलामी, ऑनलाइन विज्ञापन प्रदर्शित करने के लिए एक योजना है, जिसका सार यह है कि वेब पेज लोड करने की प्रक्रिया में, वास्तविक समय में, विज्ञापन नेटवर्क (एक पृष्ठ इससे जुड़ा होता है) और कई पुनर्निर्धारित प्रतिभागियों (RuTarget) के बीच एक नीलामी होती है। उनमें से)।



नेटवर्क एक विज्ञापन स्लॉट प्रदान करता है और, सबसे महत्वपूर्ण, एक निश्चित उपयोगकर्ता आईडी। और प्रतिभागी निर्धारित करते हैं कि वे नेटवर्क ऑफ़र में कितनी रुचि रखते हैं, उपयोगकर्ता और साइट कितनी आकर्षक हैं, और यह तय करते हैं कि विज्ञापन अभियानों के बैनर में से एक को दिखाना है कि वे इस उपयोगकर्ता को ट्विस्ट करते हैं या नहीं। यदि निर्णय सकारात्मक है, तो प्रतिभागी को विज्ञापन नेटवर्क बोली प्रदान करनी होगी। अधिकतम बोली जीतता है और अंतिम उपयोगकर्ता विजेता का बैनर देखता है।



तकनीकी रूप से, यह विज्ञापन नेटवर्क सर्वर और बाय बैक पार्टियों के बीच बातचीत के रूप में होता है। वास्तविक समय में, एक अनुरोध भेजा जाता है, जिसे रिडीम करने वाली पार्टी को थोड़े समय के भीतर जवाब देना होगा - 100 मिलीसेकंड। विज्ञापन नेटवर्क प्रतिक्रियाएँ एकत्र करता है, उन्हें एक निश्चित तरीके से फ़िल्टर करता है, अधिकतम बोली चुनता है और एक बैनर प्रदर्शित करता है। इस प्रकार, आरटीबी योजना में, वेब पेज लोड करने की प्रक्रिया में किस बैनर को दिखाना है, इसका निर्णय किया जाता है।



ऐसी योजना अच्छी है जिसमें विज्ञापनदाताओं और उपयोगकर्ताओं दोनों के लिए विज्ञापन अधिक कुशलता से काम करता है। विज्ञापनदाता उपयोगकर्ता-प्रासंगिक विज्ञापन प्रदर्शित कर सकते हैं जिनमें क्लिकों और समग्र प्रतिक्रियाओं का प्रतिशत अधिक होगा। और उपयोगकर्ताओं को उनके इरादों या हितों के आधार पर विज्ञापन दिखाए जाते हैं। तो यह एक तरह से जीत-जीत है।



यह स्पष्ट है कि उपयोगकर्ता के बारे में जितनी अधिक नीलामी प्रतिभागी (रिडीमिंग पार्टी) जानती है, उतनी ही कुशलता से वह (प्रतिभागी - लगभग।) बजट खर्च कर सकती है: विज्ञापन पर क्लिक करने वालों पर उच्चतर बोली लगाएं और उन उपयोगकर्ताओं पर न डालें। जो उसके लिए दिलचस्प नहीं हैं। यहां गणित, गणितीय मॉडल शुरू होते हैं जो उपयोगकर्ताओं के बारे में जानकारी एकत्र करते हैं, तदनुसार इसे पचाते हैं और संकेतों का एक सेट बनाते हैं, जिसके उपयोग से आप समझ सकते हैं या भविष्यवाणी कर सकते हैं कि कोई व्यक्ति क्या करेगा: वह विज्ञापन पर क्लिक करता है या नहीं।



अलेक्जेंडर अस्टापेंको: एक उत्पाद के रूप में इस श्रृंखला में RuTarget क्या है?



किरिल सफोनोव: RuTarget एक प्लेटफ़ॉर्म है, DSP (डिमांड-साइड प्लेटफ़ॉर्म), यानी एक बाय-बैक साइड जो विज्ञापन नेटवर्क से कनेक्ट हो सकता है (हमारे क्षेत्र में उन्हें SSP - सप्लाई-साइड प्लेटफ़ॉर्म, सेलिंग साइड) और प्लेस बेट्स कहा जाता है। साथ ही, सिस्टम उपयोगकर्ता डेटा एकत्र करने, उसे संग्रहित करने और बोलियों को सबसे अधिक कुशलता से बनाने के लिए इसे संसाधित करने में सक्षम है।



पावेल पावलोव: आपके ग्राहक कौन हैं और RuTarget मंच के साथ उनकी बातचीत कैसे आयोजित की जाती है?



किरिल सफोनोव: एंड कस्टमर्स आमतौर पर सेगमेंटो के साथ बातचीत करते हैं, जो एक तरह का बिजनेस फ्रंट-एंड है। सेगमेंटो ग्राहकों के विज्ञापन अभियानों को मोड़ने में सक्षम है, जिससे उन्हें क्लिक, रूपांतरण आदि की आवश्यक मात्रा प्रदान की जा सके। सेगमेंटो इन अभियानों को हटाने के लिए RuTarget प्लेटफॉर्म का उपयोग करता है। मान लीजिए कि कोई ग्राहक सेगमेंटो में आता है, या सेगमेंटो एक ग्राहक पाता है और उसके साथ एक अनुबंध में प्रवेश करता है, और RuTarget द्वारा सभी तकनीकी कार्य किए जाते हैं।



पावेल पावलोव: यह पता चला है कि RuTarget और अंतिम ग्राहक के बीच कोई बातचीत नहीं है?



किरिल सफोनोव: अभी नहीं। हालाँकि, RuTarget प्लेटफ़ॉर्म को लोगों के सामने लाने की योजना है, ताकि उपयोगकर्ताओं के पास प्रौद्योगिकी मंच के साथ सीधे संवाद करने का अवसर हो, उदाहरण के लिए, एपीआई के माध्यम से इसे कनेक्ट करें।



अलेक्जेंडर अस्टापेंको: और RuTarget उत्पाद के गठन के लिए कौन जिम्मेदार है, एपीआई के लिए क्या होता है? क्या वर्तमान ग्राहक उत्पाद विकास के चालक हैं? यह RuTarget के अंदर कैसे होता है? कौन निर्णय लेता है और प्रक्रिया का प्रबंधन करता है?



किरिल सफोनोव: हमारे पास एक उत्पाद प्रबंधक है, एक व्यक्ति जो सेगमेंटो और RuTarget के बीच है और हमारे बग ट्रैकर में आने वाले सभी सुविधाओं और अनुरोधों को जमा करता है, और यह भी निगरानी रखता है कि उत्पाद कहां चल रहा है। दूसरी ओर, मेरे नेतृत्व में एक विकास दल है, जो इन सुविधाओं के अनुरोधों का विश्लेषण करता है, यह निर्धारित करता है कि उन्हें किस बिंदु पर निष्पादित किया जा सकता है। और फिर सामान्य समन्वय और प्राथमिकता आती है, अगले पुनरावृत्ति के लिए कुछ कार्य।



अलेक्जेंडर अस्टापेंको: फिर भी, मैं इस विषय को "खोदना" चाहता हूं। क्या सुविधाओं को प्राथमिकता देने के लिए किसी प्रकार की प्रक्रिया है? इन सुविधाओं को आपके किराने के बैकलॉग में प्राप्त करने की प्रक्रिया?



किरिल सफोनोव: एक तरफ, ये हमेशा आने वाली विशेषताएं हैं, उत्पाद प्रबंधक से आने वाले अनुरोध। दूसरी ओर, यह समझा जाता है कि यह कब तक किया गया है और यह वर्तमान वास्तुकला में कैसे फिट बैठता है, इसे फिर से बनाने की आवश्यकता है। अगला चर्चा है, और हम इस कार्य के व्यावसायिक महत्व पर और इसे पूरा करने में लगने वाले समय के आधार पर एक संयुक्त निर्णय लेते हैं। संचार के परिणामस्वरूप, वह कुछ समय पहले या बाद में बैकलॉग में रहती है। इसके अलावा, जब हम ऑपरेशन की योजना बनाते हैं, तो हम अगले टुकड़े को बैकलॉग से लेते हैं, उन विशेषताओं का चयन करते हैं जो इस ऑपरेशन में आते हैं, और इसे निष्पादित करते हैं।



पावेल पावलोव: साइरिल, आपने कुछ समय पहले 100 मिलीसेकंड का उल्लेख किया था। किसी को यह आभास हो जाता है कि आरटीबी समाधान के लिए उच्च आवश्यकताएं हैं। विशेष रूप से गति के लिए। मुझे बताएं, आप इन आवश्यकताओं को पूरा करने के लिए कैसे प्रबंधन करते हैं और क्या कोई अन्य तकनीकी कठिनाइयों का सामना करना पड़ता है जो आपको प्लेटफॉर्म को विकसित करने, बनाने और बनाए रखने के दौरान होता है?



किरिल सफोनोव: "तकनीकी कठिनाइयाँ" - यह थोड़ा निराशावादी लगता है, मैं इसे दिलचस्प बिंदु कहूंगा। पहला दिलचस्प बिंदु लोड और कम प्रतिक्रिया समय, एक अनूठी आवश्यकता है। हमारे पास अनुरोधों की एक आने वाली धारा है (प्रति सेकंड लगभग 10-20 हजार अनुरोध) और हमारे पास, वास्तव में, 100 मिलीसेकंड से भी कम है - निर्णय लेने के लिए 20 से 30 मिलीसेकंड तक कहीं: एक बैनर दिखाएं एक व्यक्ति या नहीं, जो बैनर, क्या बोली, और इतने पर। हमने इस समस्या को हल किया, वास्तुकला का निर्माण किया ताकि यह क्षैतिज रूप से मापनीय हो, ताकि लोड बढ़ने पर हम अतिरिक्त सर्वर जोड़ दें। अब हम विभिन्न कैलिबर के दस स्थानीय नेटवर्क से जुड़े हैं और सभी के साथ सफलतापूर्वक काम कर रहे हैं।



एक और, शायद अद्वितीय नहीं है, लेकिन महत्वपूर्ण बिंदु सिस्टम की उच्च उपलब्धता है: घड़ी के आसपास, उच्च प्रतिशत के साथ। आर्किटेक्चर घटकों के डिजाइन में, हमें ब्लॉक विफलता की स्थिति में घटकों की स्थिरता और दोहराव के बारे में सोचना होगा।



एक और दिलचस्प जगह गणितीय मॉडल है, जो सबसे प्रभावी रूप से हमारे पास मौजूद डेटा के आधार पर उपयोगकर्ताओं के बारे में भविष्यवाणियां करना चाहिए। और यह एक खुला क्षेत्र है, बिना किसी स्पष्ट ढांचे के। यहाँ यह नहीं कहा जा सकता है कि हम आवश्यकताओं को पूरा करते हैं या नहीं, क्योंकि इस मामले में पूर्णता की सीमा नहीं पाई जा सकती है। यह एक निरंतर काम है, निरंतर सोच, परीक्षण, तुलना, नए संस्करणों को रोल आउट करना, वापस रोल करना, गणित खेलना, मान लीजिए, एक मॉडल खेलना है। यह शायद सबसे दिलचस्प जगह है, सबसे गैर-तुच्छ।



पावेल पावलोव: दिलचस्प है, मैं यहां थोड़ा रुकना चाहूंगा। "डेटा साइंस" जैसी कोई चीज है, और आप इस क्षेत्र के विशेषज्ञ हैं। यह विज्ञान कितना सत्य है? या "गणित का खेल," अपनी परिभाषा से? विज्ञान या प्रोग्रामिंग के करीब? आप आधुनिक आईटी प्रौद्योगिकी में इस आला को कैसे परिभाषित करते हैं?



किरिल सफोनोव: हमारे पास एक डेटा माइनिंग विभाग है - कुछ लोग जो इन मॉडलों को विकसित करते हैं और उनके पास एक वास्तविक विज्ञान है: बड़ी मात्रा में डेटा का विश्लेषण, मॉडल बनाना, परीक्षण चलाना। जब वे कहते हैं कि कुछ विचार है जो प्रभावी होने की आवश्यकता है, तो हम इसे अपने सिस्टम में लागू करते हैं, अनुरोधों या विज्ञापन अभियानों के प्रतिशत के लिए परीक्षण को रोल आउट करते हैं, और जांचें कि यह काम करता है या नहीं। फिर हमारे लोग देखते हैं कि यह कैसे हुआ, लॉग और परिणाम का विश्लेषण करें। हम पुष्टि करते हैं कि नया मॉडल और दृष्टिकोण स्वीकार्य है, हम इसे अन्य सभी विज्ञापन अभियानों तक बढ़ाते हैं। या हम इसे मना करते हैं, वापस जाओ और कुछ और प्रयास करें। यही है, एक तरफ, यह उस अर्थ में डेटा विज्ञान है जिसमें हर कोई इसे समझता है: बड़े डेटा का विश्लेषण, पैटर्न की खोज, मॉडल का निर्माण। और यह किसी तरह का प्रयोग है जो सिस्टम में लगातार हो रहा है।



पावेल पावलोव: आपने बड़े डेटा, स्केलिंग और लोड के स्तर के बारे में बात की। आपने इस तरह की वास्तुकला को प्राप्त करने का प्रबंधन कैसे किया, सही समाधान के लिए आया था? पिछली परियोजनाओं या टीम वर्क में व्यक्तिगत अनुभव?



किरिल सफोनोव: शायद पिछले अनुभव ने मेरी बहुत मदद नहीं की, क्योंकि इससे पहले मैं या तो डेस्कटॉप प्रोजेक्ट या सर्वर पर काम कर रहा था, लेकिन इस तरह के लोड और आवश्यकताओं के साथ नहीं। साहित्य पढ़ना, इंटरनेट ने मदद की। हाल ही में, बहुत सारे लेख, उत्पाद जिनसे आप एक प्रणाली बना सकते हैं। इस क्षेत्र में बाजार में अन्य लोगों के साथ संचार। अजीब तरह से पर्याप्त, अक्सर प्रतिस्पर्धी कंपनियों या भागीदारों के इंजीनियरों के साथ कुछ तकनीकी मुद्दों पर चर्चा करना आवश्यक है। इस प्रकार, एक निश्चित समझ है कि वास्तव में काम करता है, जिसे लागू किया जा सकता है और जो एक रिटर्न देगा।



पावेल पावलोव: चूंकि फैसले बाहर से आए थे, शायद ऐसे व्यंजन हैं जिन्हें आप साझा करने के लिए तैयार हैं? ऐसे लोगों को किस तरह के तकनीकी स्टैक के साथ काम करना चाहिए जो इस तरह के वर्कलोड और अपटाइम एक्सप्लोसिव वाले उद्योग में काम करने की कोशिश कर रहे हैं?



किरिल सफोनोव: बड़े डेटा के संबंध में, हम स्पष्ट रूप से Hadoop और घटकों का उपयोग करते हैं, जैसे HBase, MapReduce कार्य। अत्यधिक भरी हुई सीमा के रूप में, नग्नेक्स हमारे लिए बहुत अच्छा काम करता है। हम उससे बहुत खुश हैं और लगभग उसे कस्टमाइज़ नहीं किया है। वह बिना किसी असफलता के बहुत बड़े भार का सामना कर रहा है। काफी अब उच्च प्रदर्शन NoSQL डेटाबेस हैं जिसके साथ आप विभिन्न कैश व्यवस्थित कर सकते हैं। शायद मैं कोई विशिष्ट सलाह नहीं दे सकता, क्योंकि मेरे पास जो जानकारी है वह इंटरनेट से ली गई है, और दो घंटे के भीतर आप कुछ बुनियादी विचार प्राप्त कर सकते हैं कि क्या हो रहा है और कैसे।



पावेल पावलोव: सैद्धांतिक समाधानों के आधार पर, आप व्यावहारिक तरीके से आए हैं कि यह पूरा गुच्छा - हडोप, नोएसक्यूएल, नग्नेक्स - काम करता है और पूरी तरह से गंभीर उत्पादन में फिट बैठता है।



किरिल सफोनोव: हाँ, सब कुछ बदल जाता है।



पावेल पावलोव: अच्छी तरह से, और विश्वसनीयता के उच्च स्तर के विषय को बंद करते हुए, क्या आप एसएलए (सेवा-स्तरीय समझौता) साझा कर सकते हैं? इस तरह के फैसलों के लिए विश्वसनीयता की आवश्यकताएं कितनी हैं?



किरिल सफोनोव: बेशक, निन्स के साथ विश्वसनीयता के लिए कोई औपचारिक आवश्यकताएं नहीं हैं। लेकिन एक ही समय में, जैसे ही कुछ अचानक टूट जाता है, तो तुरंत विज्ञापन नेटवर्क या डेटा प्रदाताओं के साथी शिकायत करते हैं कि कुछ गलत है। इसलिए, सिस्टम को यथासंभव विश्वसनीय बनाया गया था। इतना है कि भले ही बैकएंड ने जवाब देना बंद कर दिया हो, स्टब के साथ सामने का अंत एक प्रतिक्रिया बनाता है जो सभी के अनुरूप होगा।



पावेल पावलोव: जाहिर है, आपके पास जो रिक्तियां हैं, वे जावा विकास और प्रौद्योगिकी पर जोर देते हैं। इस पसंद का कारण क्या है? क्या यह आपके अनुभव से संबंधित है, आईटी बाजार में विशेषज्ञों की खोज करने की क्षमता के साथ?



किरिल सफोनोव: मुझे ऐसा लगता है कि जावा एक निश्चित मध्य मैदान का प्रतिनिधित्व करता है। उसने एक ओर, पुष्टि की कि वह एक उत्पादन भाषा है जिसमें उच्च-लोड और उच्च-गति के निर्णय किए जा सकते हैं। दूसरी ओर, यह कौशल और प्रशिक्षण के स्तर, भाषा के मामले में काफी सरल और व्यापक है। इसके अलावा, हम Hadoop का उपयोग करते हैं। किसी भी स्थिति में, क्लाइंट अनुप्रयोग, Hadoop के लिए घटक जावा में बनाए जाएंगे।



पॉडकास्ट का पाठ संस्करण आने वाले दिनों में भी जारी रहेगा।



पॉडकास्ट के लिए साइन अप करें



All Articles