Author Archives: நித்யா

எளிய தமிழில் DevOps-8

Kafka   நிகழ் நேரத்தில் அதிக அளவு உற்பத்தியாகும் (throughput) தரவு ஊட்டங்களை (data feed) குறைந்த காலதாமதத்தில் (low latency) பெற்று ப்ராசஸ் செய்வதற்கான ஒரு கட்டமைப்பே kafka ஆகும். இது scala மொழியில் எழுதப்பட்ட திறந்த மூல மென்பொருள் கருவி ஆகும். ப்ரொடியூசர் கன்ஸ்யூமர் என்னும் இருவேறு அப்ளிகேஷன்களுக்கு இடையே செய்திகளைத் தாங்கிச் செல்லும் இடைத்தரகர் போன்று இக்கருவி செயல்படும். IOT சென்சார் தரவுகள், சேவை மையங்களில் தினசரி மேற்கொள்ளப்படும் தொலைபேசி அழைப்புகள், ஒரு… Read More »

எளிய தமிழில் DevOps-7

Jenkins   ஒரு மென்பொருள் உருவாக்கத்தின் பல்வேறு நிலைகளான அப்ளிகேஷனின் உருவாக்கம், சோதனை, பல்வேறு சர்வர்களில் நிறுவுதல் போன்ற வெவ்வேறு தனித்தனி செயல்களை தானியக்க முறையில் தொடர்ச்சியாக நிகழ்த்த உதவும் கருவியே ஜென்கின்ஸ் என்று அழைக்கப்படுகிறது. எனவேதான் இது தொடர்ச்சியான ஒருங்கிணைப்பு(CI) மற்றும் தொடர்ச்சியான வழங்குதலுக்கான(CD) கருவி என்று அழைக்கப்படுகிறது. டெவலப்பர் ஒவ்வொருமுறை மூல நிரலில் மாற்றம் செய்து கமிட் செய்யும்போதும், அதற்கான அப்ளிகேஷனை சுலபமாக சர்வரில் நிறுவி சோதித்துப் பார்க்க உதவும் ஒரு கருவியாக ஜென்கின்ஸ்… Read More »

எளிய தமிழில் DevOps-6

Docker Volume   கீழ்க்கண்ட உதாரணத்தில் என்னென்ன தரவுகள் மங்கோவிற்குள் செலுத்தப்பட்டன என்பதை ஒரு log ஃபைல் போன்று சேமிப்பதற்கான நிரல் இணைக்கப்பட்டுள்ளது. ஆனால் இக்கோப்பு கன்டெய்னருக்குள்ளேயே சேமிக்கப்படும். கண்டெய்னர் தனது இயக்கத்தை நிறுத்தும் போது இதுவும் அழிந்துவிடும் அபாயம் உள்ளது. ஆகவே கன்டெய்னருக்குள்ளேயே சேமிக்கப்படும் இதுபோன்ற தரவுகளை வெளியே எடுத்து லோக்கலில் அணுகுவதற்கு volume என்ற ஒன்று பயன்படுகிறது. இதனைக் கையாள்வது பற்றி கம்போஸ் ஃபைலில் பார்க்கலாம். This file contains hidden or bidirectional… Read More »

எளிய தமிழில் DevOps-5

Docker Compose   Develop, Ship & Run multi-container application என்பதே டாக்கர் கம்போஸ்ன் தத்துவம் ஆகும். இதுவரை flask மூலம் ஒரே ஒரு அப்ளிகேஷனை உருவாக்கி, கன்டெய்னரில் இட்டு சர்வரில் deploy செய்வது எப்படி என்று பார்த்தோம். ஆனால் நிஜத்தில் வெறும் அப்ளிகேஷன் மட்டும் உருவாக்கப்படாது. ப்ராஜெக்ட் கட்டமைப்பு என்பது அப்ளிகேஷன், அதற்குரிய டேட்டாபேஸ் என அனைத்தும் சேர்ந்தே வரும். ஆகவே இவை ஒவ்வொன்றுக்கும் தனித்தனி கன்டெய்னரை உருவாக்கி அவற்றை ஒன்றோடொன்று தொடர்பு கொள்ளுமாறு… Read More »

எளிய தமிழில் DevOps-4

Docker Develop, Ship & Run anywhere என்பதே docker-ன் தத்துவம் ஆகும். ஓரிடத்தில் உருவாக்கப்படும் அப்ளிகேஷனை, இடம் மாற்றி, எங்கு வேண்டுமானாலும் நிறுவி தங்கு தடையின்றி இயங்க வைக்குமாறு செய்ய docker உதவுகிறது. Cloud சிஸ்டம் தனது சேவைகளை மூன்று விதங்களில் வழங்குகிறது. அவை PaaS ( P -Platfrom), SaaS ( S -Software), IaaS ( I -Infrastructure) என்று அழைக்கப்படுகின்றன. இதில் Platform as a service என்பதை வழங்குவதற்குத் தேவையான… Read More »

எளிய தமிழில் DevOps-3

 GIT பலரும் இணைந்து ஒரு மென்பொருளை உருவாக்கும்போது, அதன் மூல நிரலில் ஏற்பட்ட மாறுதல்கள், யார் எப்போது மாற்றியது, ஒரே நேரத்தில் யார் யாரெல்லாம் திருத்தியது, எது சமீபத்தியது போன்ற அனைத்தையும் வரலாறு போன்று சேமிக்க உதவும் version control சிஸ்டமே GIT ஆகும். நம்முடைய நிரல்கள் சேமிக்கப்பட்டுள்ள பகுதியில் .git எனும் ஃபோல்டரை உருவாக்கி அதற்குள் இத்தகைய மாற்றங்களை சேமித்துக் கொண்டே வரும். மாற்றங்கள் மட்டுமே இங்கு சேமிக்கப்படுவதால், அதிக இடம் தேவையில்லை. GitHub, GitLab,… Read More »

எளிய தமிழில் DevOps-2

Application Development இங்கு இரண்டு விதமான அப்ளிகேஷனை நாம் உருவாக்கப்போகிறோம் . முதலில் ஒரு எடுத்துக்காட்டுக்காக சிம்பிளான ஒரு அப்பிளிக்கேஷன்.. அடுத்து நிஜத்தில் ஒரு நோக்கத்துக்காக உருவாக்கப்படும் சற்று கடினமான அப்பிளிக்கேஷன். Sample Application ‘Hello World’ என்பதனை பிரிண்ட் செய்யும் ஒரு சாதாரண புரோகிராம் பின்வருமாறு.. sample.py print (“Hello world”) இவ்வார்த்தையை வெறும் திரையில் பிரிண்ட் செய்யாமல், ஏதாவதொரு port-ல் வெளியிடுமாறு செய்ய வேண்டும். அப்போதுதான் வேறு ஏதாவது அப்ளிகேஷன் நம்முடைய அப்ளிகேஷனுடன் தொடர்புகொண்டு… Read More »

எளிய தமிழில் DevOps-1

Development மற்றும் operations இரண்டும் இணைந்து ஒருசேர நடைபெறும் நிகழ்வுகளின் தொடர்ச்சிகளே DevOps என்று அழைக்கப்படுகிறது. வாடிக்கையாளர்கள் கேட்கின்ற விஷயத்தை உருவாக்கித் தருபவருக்கு developer என்று பெயர். இவர் தம்முடைய இடத்தில் (local server) உருவாக்கிய ஒன்றை, வாடிக்கையாளர்களுடைய இடத்தில் (Production server) சிறப்பாக இயங்குமாறு செய்யும் குழுவிற்கு Operations team என்று பெயர். இவ்விரண்டு வேலையையும் ஒருவரே செய்தால் அவரே Devops Engineer என்று அழைக்கப்படுவார். எடுத்துக்காட்டாக உணவகங்களில் நாம் கேட்கின்ற இட்லி, தோசை போன்றவற்றை… Read More »

Deep Learning – 18 – Reinforcement Learning

கணினிக்கோ அல்லது கணினியால் உருவாக்கப்பட்ட கருவிக்கோ ஒரு விஷயத்தை திரும்பத் திரும்பச் சொல்லிக் கொடுப்பதன் மூலம் அதனைப் பயிற்றுவிக்க முயலும் முறைக்கு ‘Reinforcement Learning’ என்று பெயர். சுயமாக ஓடக்கூடிய மகிழ் ஊர்தி(self-driving cars), கணினியோடு மக்களை விளையாடச் செய்யும் gaming industry போன்றவற்றில் ஒரு கருவிக்குத் திறம்பட பயிற்சி அளிக்க இத்தகைய முறை பயன்படுத்தப்படுகிறது. சமீபத்தில் உருவாக்கப்பட்ட ‘Deepmind’ என்பது இதற்கு ஒரு சிறந்த உதாரணம் ஆகும். இத்தகைய Reinforcement Learning எவ்வாறு நடைபெறுகிறது என்பது… Read More »

Deep Learning – 17 – Autoencoders

Autoencoder என்றால் தரவுகளைத் தானாகவே ஏதோ ஒரு முறையில் குறியிட்டு சுருக்கி அமைக்கக் கற்றுக் கொள்ளுகின்ற ஒரு விஷயம் என்று பொருள். எனவேதான் dimensionality reduction, feature representation போன்ற இடங்களில் இது பெரும்பங்கு வகிக்கிறது. Machine learning-க்கான அறிமுகக் கற்றலில் PCA-ஐப் பற்றிப் பார்த்தோம் அல்லவா, அதே வேலையைச் செய்வதற்காக நியூரல் நெட்வொர்கில் பயன்படுத்தப்படும் ஒரு விஷயமே autoencoder ஆகும். PCA என்பது நேர்கோடு முறையில் அமையும் தரவுகளின் dimension-ஐக் குறைக்கப் பயன்படுகிறதெனில் , Autoencoder… Read More »