Author Archives: கலாராணி

அமேசான் இணையச்சேவைகள் – பாதுகாப்புக்குழுக்கள்

சொந்த தரவுநிலையங்களிலிருந்து இயக்கினாலும் சரி, மேகக்கணினியிலிருந்து இயக்கினாலும் சரி, நம் செயலிகளின் பாதுகாப்பை உறுதிசெய்யவேண்டியது நமது கடமை. பத்தடி அகலமுள்ள சுவர்களுக்குள் வைத்து, உலகத்தரம்வாய்ந்த பூட்டுகளைகொண்டு பூட்டிவைத்தெல்லாம், இவற்றைப் பாதுகாக்கமுடியாது. நமது செயலியின் சேவையகங்களையும், தரவுதளங்களையும், யாரெல்லாம் அணுகமுடியும், எங்கிருந்து அணுகமுடியும் என்பதுபோன்ற விதிகளை சரியானமுறையில் கட்டமைத்தால் மட்டுமே இது சாத்தியமாகும். அமேசானிலுள்ள மேகக்கணினிகளைப் பாதுகாப்பதற்கான வழிமுறைகள்: மெய்நிகர் தனிப்பட்ட மேகக்கூட்டம் (Virtual Private Cloud – VPC) துணை இணையங்கள் (Subnet) பாதுகாப்புக்குழுக்கள் (Security Groups)… Read More »

அமேசான் இணையச்சேவைகள் – EC2 – மேகத்திலிருந்து ஒரு வலைத்துளி

சென்ற பதிவில் நாம் உருவாக்கிய புதிய மேகக்கணினியின் நிலையென்ன என்பதை அமேசான் தளத்திற்குள் சென்று, EC2 பிரிவின் முகப்புப்பக்கத்தில் காணலாம். நமது கணினி நல்லநிலையில் ஓடிக்கொண்டிருக்கிறது என காண்கிறோம். இப்பதிவில், அக்கணினிக்குள் நுழைந்து, ஒரு சிறிய வலைப்பக்கத்தை இயக்கிப்பார்க்கலாம். மேகக்கணினிக்குள் நுழைதல்: லினக்ஸ், யுனிக்ஸ் குடும்பக்கணினிகளில் பிறகணினிகளுக்குள் பாதுகாப்பான முறையில் நுழைந்து, வேலைசெய்வதற்கு SSH (Secure SHell) என்ற நெறிமுறையைப் பயன்படுத்தலாம். இருகணினிகளுக்கிடையே பாதுகாப்பாக, தரவுகளைப் பரிமாறிக்கொள்வதற்கான வழிகளில் திறப்பிணைகளும் ஒன்று. மேகக்கணினியை உருவாக்கும்போது, கடைசிப்படிநிலையில் ஒரு… Read More »

அமேசான் இணையச்சேவைகள் – EC2 – நெகிழக்கூடிய மேகக்கணினி

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

அமேசான் இணையச்சேவைகள் – அறிமுகம் – உலகளாவிய உட்கட்டமைப்பு

AWS உருவானகதை அமேசான் இணையச்சேவைகள் தொடங்கப்பட்டு பதினைந்தாண்டுகள் முடிந்துவிட்ட நிலையில், அதுகடந்துவந்த பாதையினை சற்றே திரும்பிப்பார்க்கலாம். 2003ம்ஆண்டு: அமேசானின் தொழில்நுட்பக்கட்டமைப்பு (Infrastructure) எப்படியிருக்கவேண்டும் என விவரித்து, கிறிஸ் பின்க்ஹ்மன், பெஞ்சமின் பிளாக் என்ற இருபொறியாளர்கள், தொலைநோக்குப்பார்வையுடன் ஒரு கட்டுரை எழுதினர். இதைத்தொடர்ந்து இம்மாதிரியான உட்கட்டமைப்பு வசதிகளை, ஒரு சேவையாக வழங்குவதற்கும், அதாவது விற்பதற்கும், பரிந்துரைக்கப்பட்டது. இது அமேசான் மேலிடத்தின் கவனத்தை ஈர்க்கவே, அதனைச் செயல்படுத்தும் திட்டத்தில் அமேசான் இறங்கியது. 2004ம்ஆண்டு: அமேசானின் முதல் சேவையாக எளிய வரிசைச்சேவை… Read More »

மேகக்கணிமை – அறிமுகம்

இன்று, மேகக்கணிமையின் (Cloud Computing) வளர்ச்சியால், இணையசெயலிகள் / சேவைகளை (Web Applications / Services) உருவாக்கும் பலருக்கும் அதை எங்கிருந்து இயக்குவது என்ற அடிப்படைச் சிக்கல் இருப்பதில்லை. தமக்கென சொந்தமாக வன்பொருள்களும் (Hardware), நினைவகங்களும் (Storage), நிரந்தரமான தடையற்ற இணைய இணைப்பும் இல்லாமலேயே, நம்மால் செயலிகளையும், சேவைகளையும் வழங்கமுடிகிறது. அமேசான், கூகுள், மைக்ரோசாஃப்ட் உள்ளிட்ட பல முன்னனி நிறுவனங்கள் மேகக்கணிமைக்கான கட்டமைப்பை ஒரு சேவையாக வழங்குகின்றன. இவற்றை சேவை வழங்குநர்கள் (Service Providers) என அழைக்கிறோம்.… Read More »

செயற்கூறிய நிரலாக்கம் – செயற்கூறிய ஜாவாஸ்கிரிப்ட்டு – பகுதி 10

செயற்கூறிய நிரலாக்க அடிப்படைகள் குறித்து கடந்தசிலவாரங்களாக படித்துவருகிறோம். இதனை அன்றாட பயன்பாட்டில் எப்படி பொருத்துவது? இன்றளவிலும் கூட, செயற்கூறிய நிரலாக்கமொழிகளைப் பயன்படுத்தி நிரலெழுதும் வாய்ப்பு நம்மில் பலருக்கு கிடைப்பதில்லை. ஆனால், பெரும்பாலான வலைச்செயலிகள் உருவாக்கும் நிரலர்கள் ஜாவாஸ்கிரிப்ட்டை அன்றாடம் பயன்படுத்தி நிரலெழுதுகின்றனர். எனவே, நாம் இதுவரை கற்ற கோட்பாடுகளை ஜாவாஸ்கிரிப்ட்டில் எப்படி பயன்படுத்துவது என இப்பகுதியில் காணலாம். செயற்கூறிய ஜாவாஸ்கிரிப்ட்டு செயற்கூறிய முறையில் நிரலெழுத ஏதுவான, நிலைமாறாத்தன்மை போன்ற, சில அம்சங்களை ஜாவாஸ்கிரிப்ட்டு நமக்குத்தருகிறது. மேலும் சிலவற்றை… Read More »

செயற்கூறிய நிரலாக்கம் – தரவின வரையறை – பகுதி 9

இயல்நிலைமொழிகளில் (Static languages) ஒரு செயற்கூற்றின் வரையறையோடு, தரவினங்களும் (data types) பிணைக்கப்பட்டுள்ளதை, பின்வரும் எடுத்துக்காட்டில் காணலாம். public static String quote(String str) { return “‘” + str + “‘”; } பொதுப்படையான தரவினங்களைக் (generic types) குறிக்கும்போது, இது இன்னும் சிக்கலானதாகிறது. private final Map<Integer, String> getPerson(Map<String, String> people, Integer personId) { // … } இயங்குநிலைமொழிகளில் (dynamic languages) இந்தச்சிக்கல் இருப்பதில்லை. ஜாவாஸ்கிரிப்ட்டிலேயே, நாம் பின்வருமாறு… Read More »

செயற்கூறிய நிரலாக்கம் – இயங்குவரிசை – பகுதி 8

பெரும்பாலான நிரல்கள் அல்லது செயலிகள் ஒற்றைஇழையைக் (single-threaded) கொண்டவையாகவே இருக்கின்றன. பலவிழைகளைக் (multi-threaded) கொண்ட நிரல்களில், இவ்விழைகள், ஒருகோப்பினை அணுகவோ, இணையத்திற்காகவோ காத்திருப்பதிலேயே நேரத்தை செலவழிக்கின்றன. இயல்பாகவே மனிதமூளை தான்செய்யவேண்டிய செயல்களை ஒன்றன்பின் ஒன்றாக செய்யவே திட்டமிடுகிறது. நம் எல்லோருக்கும் பரிச்சயமான சுவையானவொரு ரொட்டி தயாரிக்கும் எடுத்துக்காட்டுடன் இதைப்புரிந்துகொள்ளலாம். இதற்கான படிநிலைகள்: [code lang=”javascript”] ரொட்டியை எடுக்கவேண்டும். இருதுண்டுகளை வாட்டுவதற்கான சாதனத்தில் இடவேண்டும். வாட்டுமளவைத் தெரிவுசெய்யவேண்டும். வாட்டுவதைத்தொடங்குவதற்கான பொத்தானை அழுத்தவேண்டும். வாட்டப்பட்ட ரொட்டி குதித்துவரும்வரை பொறுத்திருக்கவேண்டும். ரொட்டித்துண்டுகளை… Read More »

செயற்கூறிய நிரலாக்கம் – பொதுவான செயற்கூறிய செயற்கூறுகள் – பகுதி 7

செயற்கூறிய நிரலாக்கமொழிகளில் பரவலாகப் பயன்படுத்தப்படும் மூன்று முக்கியசெயற்கூறுகளைப்பற்றி இப்பதிவில் தெரிந்துகொள்ளலாம். நமக்கு நன்கு பரிச்சயமான, எளிமையான ஜாவாஸ்கிரிப்ட்டு நிரலிலிருந்து தொடங்கலாம். [code lang=”javascript”] for (var i = 0; i < something.length; ++i) { // do stuff } [/code] இந்நிரலில் வழுவேதுமில்லை. ஆனால், இதற்குள் பெரும்பிரச்சனையொன்று அடங்கியிருக்கிறது. அதென்னவென்று கண்டறிய முடிகிறதா? இதுவொரு வார்ப்புநிரல் (Boilerplate code). ஒரு தீர்வைச்செயல்படுத்துவதற்கு இவை உதவுகின்றனவேயன்றி, இவற்றால் தீர்வினைத்தரமுடியாது. ஆனாலும் இதுபோன்ற கட்டளைகளை நாம்… Read More »

செயற்கூறிய நிரலாக்கம் – ஒற்றைஉள்ளீட்டாக்கம் – பகுதி 6

முந்தைய பகுதியில் mult மற்றும் add என்ற இருசெயற்கூறுகளைகளின் உள்ளீட்டுஉருபுகளின் எண்ணிக்கையின் வேறுபாட்டால், அவற்றைக்கொண்டு செயற்கூற்றுக்கலவையை உருவாக்கமுடியாமல் போனது. [code lang=”javascript”] var add = (x, y) => x + y; var mult5 = value => value * 5; var mult5AfterAdd10 = y => mult5(add(10, y)); [/code] இங்கே add செயற்கூறு இரண்டு உள்ளீட்டுஉருபுகளை ஏற்கிறது. எனவே அதனை ஒற்றை உள்ளீட்டுஉருபை ஏற்கும் mult என்ற செயற்கூறோடு… Read More »