Author Archives: நித்யா

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

Schedule using Airflow இனிவரும் பகுதியில் இதற்கு முன் பகுதியில் கண்ட அதே விஷயத்தை Airflow கொண்டு உருவாக்கித் திட்டமிடுவது பற்றிக் காணலாம். கீழ்கண்ட கட்டளைகள் Airflow இயங்குவதற்குத் தேவையான விஷயத்தை இன்ஸ்டால் செய்யும். $ sudo pip3 install apache-airflow $ sudo pip3 install flask $ sudo pip3 install flask_bcrypt $ sudo pip3 install kombu==4.5.0 இவை இயங்கி முடிந்தவுடன் நமது கணினியின் ஹோம் டைரக்டரியில் airflow எனும் டைரக்டரி… Read More »

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

Airflow   Airflow என்பது அப்பாச்சி நிறுவனம் வழங்குகின்ற திறந்த மூல மென்பொருள் கருவி ஆகும். கணினியில் நடைபெறும் ஒரு சில செயல்கள் தொடர்ச்சியாக எப்போதெல்லாம் நடைபெற வேண்டும் எனத் திட்டமிடுவது workflow scheduling எனப்படும். இவ்வாறு அதிக அளவில் திட்டமிடப்பட்ட பணிகளின் எண்ணிக்கை உயர உயர அவற்றைக் கண்காணிப்பது கடினமாகி விடுகிறது. இப்பிரச்சினைக்காக Airbnb என்ற நிறுவனம் முதன்முதலில் Airflow என்ற கருவியை உருவாக்கியது. இக்கருவி திட்டமிடப்பட்டு நடைபெற்றுக்கொண்டிருக்கும் பல்வேறு பணிகளை UI எனும் இடைமுகப்புத்… Read More »

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

MongoDB MongoDB என்பது திறந்த மூல மென்பொருள் கருவி ஆகும். இது NoSQL-ஐ அடிப்படையாகக் கொண்டு இயங்குகின்ற டேட்டாபேஸ் சேவையகம் ஆகும். அதாவது அட்டவணைகளில் சேமிக்க இயலாத தரவு அமைப்புகளையும் சேமிக்க வழிவகை செய்யும் டேட்டாபேசுக்கு NoSQL என்று பெயர். இதில் கீழ்க்கண்டவாறு பல்வேறு வகைகள் உள்ளன. Document oriented – MongoDB,CouchDB column oriented – Cassandra,Hbase key value – Redis, Riak graph – Neo4j,GraphDB இவற்றுள் Mongo DB- ஐப் பற்றி… Read More »

எளிய தமிழில் 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 »