ওয়েবের ত্রিশ বছর, এর পরে কী?

তথ্য ব্যবস্থাপনা সিস্টেম নিয়ে আমার মূল প্রস্তাব থেকে ত্রিশ বছর পর বিশ্বের অর্ধেক মানুষ আজ ইন্টারনেটের সঙ্গে যুক্ত। এই সময়ে আমরা অনেক দূর এসেছি। এখন এটি ভাবার সময় যে, আর কতদূর আমাদের যেতে হবে।

ওয়েব এখন আর শুধু তথ্য আদান-প্রদানের মাধ্যম নয়। ওয়েব এখন পাবলিক স্কয়ার, লাইব্রেরি, দোকান, সিনেমা, হাসপাতাল, ডাক্তারের অফিস, স্কুল, ডিজাইন স্টুডিও, ব্যাংক ইত্যাদিসহ আরো অনেক কিছু। হ্যাঁ, প্রত্যেকটি নতুন ওয়েবসাইট, নতুন ফিচারের মাধ্যমে অনলাইন ও অফলাইন মানুষের মধ্যে ব্যবধান বাড়ছে। এই ব্যবধানকে দূর করতেই ওয়েবকে সবার উপযোগী করে তুলতে হবে, ওয়েবকে সবার কাছে পৌঁছাতে হবে।

ওয়েব আমাদের দৈনন্দিন জীবনকে সহজ করেছে, প্রান্তিক জনগোষ্ঠীকে দিয়েছে বলার মাধ্যম, সৃষ্টি করেছে বিভিন্ন সুযোগ। কিন্তু একই সাথে সাইবার অপরাধ করার চমৎকার সুযোগও সৃষ্টি হয়েছে। ঘৃণা ছড়ানোর সবচেয়ে সহজ ও কার্যকর মাধ্যম এখন ওয়েব। প্রতারণা করার আদর্শ স্থান হচ্ছে এই ওয়েব, যেখানে প্রতারকেরা প্রতিনিয়তই বিভিন্ন প্রকার অপরাধে লিপ্ত হচ্ছে।

ওয়েবের নানান অপব্যবহার নিয়ে খবরগুলো দেখে সহজেই অনুমান করা যায় যে কিছু মানুষ ওয়েবকে ভয় পায় এবং ওয়েব আসলেই ভালো কি না তা নিয়ে অনিশ্চয়তায় ভোগে। গত ত্রিশ বছরে ওয়েবের পরিবর্তন লক্ষ করে এটা অস্বীকার করার উপায় নেই যে বর্তমানের ওয়েবকে আগামী ত্রিশ বছরে ভালোর দিকে নিয়ে যাওয়া যাবে না। আমরা যদি এখন ওয়েবকে ভালো করার দিকে মনোযোগ না দিই, তো এর দায় ওয়েবের নয়, সম্পূর্ণ আমাদের হবে।

কোনো সমস্যা সমাধান করতে হলে প্রথমে সমস্যাটিকে ভালো করে চিহ্নিত করতে হবে। আমি মোটামুটি নিচের তিনটি সমস্যা দেখতে পাই যেগুলো আজকের ওয়েবকে কলুষিত করছে:
১) বিদ্বেষপূর্ণ ইচ্ছা – রাষ্ট্র নির্দেশিত সাইবার হামলা, হ্যাকিং, সাইবার অপরাধ, হয়রানি ইত্যাদি।
২) বিকৃত উদ্দীপনা সৃষ্টিকারী সিস্টেম – যেখানে ব্যবহারকারীর মূল্যবোধকে বলি দেওয়া হয়। যেমন: ক্লিকবেট জাতীয় বাণিজ্য এবং অপতথ্য প্রচার।
৩) ভালো কোনো সিস্টেমের অনাকাঙ্ক্ষিত নেতিবাচক পরিস্থিতি – কোনো বিষয়ের ওপর ব্যক্তি/দলের ক্রোধান্বিত ও একপেশে বক্তব্য।

প্রথম প্রকারের সমস্যা পুরোপুরি দূর করা অসম্ভব। একে নিয়ন্ত্রণ করতে বিধিনিষেধ ও আইন প্রয়োগ করা যেতে পারে, সাধারণ অপরাধের জন্য যে রকম আইন থাকে। দ্বিতীয় প্রকারের সমস্যা দূর করতে আমাদের এমন সিস্টেম ডিজাইন করতে হবে যা আমাদের এসব উদ্দীপনা থেকে দূরে রাখবে। তৃতীয় প্রকারের সমস্যা দূর করতে আমাদের গবেষণা করতে হবে। প্রয়োজনে সম্ভাব্য নতুন সিস্টেম বানাতে হবে বা বর্তমান সিস্টেমে যথাযথ পরিবর্তন আনতে হবে।

শুধু সরকার, সামাজিক যোগাযোগ মাধ্যম বা মানুষের প্রকৃতিকে দোষ দিলে হবে না। সমস্যার লক্ষণগুলোর পেছনে ছুটলে আমাদের হতাশা ছাড়া আর কিছুই আসবে না। আমাদের নজর দিতে হবে সমস্যার গোড়ায়। আর এটি করতে হলে পুরো বিশ্বকে একত্রে এগিয়ে আসতে হবে।

যুগ পরিবর্তনের সন্ধিক্ষণে আমাদের পূর্বের প্রজন্ম একটি সুন্দর ভবিষ্যতের জন্য একসাথে কাজ করতে এগিয়ে এসেছিল। সার্বজনীন মৌলিক অধিকার ঘোষণার সময় নানা জাতের মানুষ প্রয়োজনীয় নীতিতে একমত হওয়ার সুযোগ পেয়েছিল। সমুদ্র আইন ও মহাকাশ চুক্তির মাধ্যমে আমরা সবার স্বার্থে নতুন সীমানা নির্ধারণ করতে পেরেছি। এখন যেহেতু ওয়েব পৃথিবীকে নতুন রূপ দিতে যাচ্ছে, আমাদের দায়িত্ব হচ্ছে একে মানুষের অধিকার হিসেবে প্রতিষ্ঠা করা এবং সকলের কল্যাণের জন্য তৈরি করা। এই উদ্দেশ্যে একটি নতুন চুক্তি তৈরি করার জন্য ওয়েব ফাউন্ডেশন বিভিন্ন সরকার, কোম্পানি ও সাধারণ মানুষজনের সাথে কাজ করে যাচ্ছে।

এই চুক্তিটি লিসবনের ওয়েব সামিটে উত্থাপিত হয়েছিল যা এমন কিছু মানুষকে একত্র করেছে যারা মনে করে আমাদের ওয়েবকে নিয়ম-শৃঙ্খলা, নির্দিষ্ট মানদণ্ড ও আইনের অধীনে আনতে হবে। যারা এই চুক্তির পক্ষে আছেন তারা এর বিভিন্ন প্রাথমিক নীতি মেনে নিয়ে নিজ নিজ ক্ষেত্রে নীতিগুলোকে বাস্তবায়ন করতে কাজ করে যাচ্ছেন। এই কাজ কোনো দল একা করবে না এবং এতে সবার মতামত সাদরে গ্রহণ করা হবে। বিভিন্ন সরকার, কোম্পানি এবং সাধারণ মানুষ এতে অংশ নিচ্ছে। এই বছরের শেষের দিকে আমরা একটা ফলাফল আশা করছি।

প্রত্যেক সরকারকে অবশ্যই সকল নিয়ম-নীতি ও আইন ডিজিটাল যুগের উপযোগী করে তুলতে হবে। তাদের লক্ষ্য রাখতে হবে যেন বাজার প্রতিযোগিতামূলক, উদ্ভাবনমুখী ও সবার জন্য খোলা হয়। অনলাইনে জনগণের অধিকার ও স্বাধীনতা রক্ষা করাও সরকারের দায়িত্ব। সরকারের মাঝে আমাদের কিছু কর্মচারী ও নির্বাচিত প্রতিনিধি তৈরি করতে হবে যারা ওয়েবকে নিরাপদ রাখতে সব ধরনের পদক্ষেপ নেবে। কোনো ব্যক্তি বা কোম্পানির স্বার্থ যদি জনসাধারণের ক্ষতির কারণ হয়/হওয়ার আশঙ্কা তৈরি করে তো সেটা প্রতিরোধ করা হবে তাদের অন্যতম কাজ।

কোম্পানিগুলো যেন জনগণের অধিকার, গণতন্ত্র বা জনসাধারণের নিরাপত্তার বিনিময়ে সাময়িক লাভের আশা না করে। প্লাটফর্ম এবং প্রডাক্টগুলো অবশ্যই গোপনীয়তা, বৈচিত্র্য ও নিরাপত্তার দিক চিন্তা করে ডিজাইন করতে হবে। এ বছর আমরা দেখেছি কিছু প্রযু্ক্তিকর্মী নৈতিকতা বজায় রেখে ব্যবসা চর্চার পক্ষে শক্ত অবস্থান গ্রহন করেছে। এই সাহসকে আমাদের উৎসাহিত করা প্রয়োজন।

এবং সবচেয়ে গুরুত্বপূর্ণ যেটি, জনগণকে অবশ্যই সরকার ও কোম্পানিগুলোকে জবাবদিহিতার আওতায় আনতে হবে। তারা যে প্রতিশ্রুতি দেয়, তা যেন রক্ষা করে। পাশাপাশি ওয়েবকে তারা যেন একটি বৈশ্বিক সম্প্রদায় হিসেবে সম্মান করে। আমরা যদি এমন কাউকে নির্বাচিত না করি, যে মুক্ত ও নিরাপদ ওয়েবকে সমর্থন করে, এর জন্য কাজ করে, আমরা যদি ইন্টারনেটে গঠনমূলক ও সুস্থ আলোচনা করার অভ্যাস না করি, আমাদের তথ্য অধিকার রক্ষায় নিশ্চিত না হয়ে যদি কোম্পানিগুলোর শর্তাবলী (terms and conditions) মেনে নিতে থাকি, তাহলে এগুলোকে সরকারের গুরুত্বপূর্ণ এজেন্ডায় পরিণত করার দায়িত্ব থেকে আমরা সরে যাচ্ছি।

ওয়েবের জন্য এই লড়াই আমাদের সময়ের একটি অতি গুরুত্বপূর্ণ বিষয়। আজ অর্ধেক বিশ্ব অনলাইনে। বাকি অর্ধেক যেন অফলাইনে না থাকে সেটা নিশ্চিত করার এখনই সময়। সবাইকে সমতা, সুযোগ ও সৃজনশীলতার দিকে নিয়ে যায় এমন ওয়েবে যেন সবাই অবদান রাখে।

ওয়েবের এই চুক্তি যেন কোনো সাময়িক সমাধান না হয়। অনলাইন কমিউনিটির সাথে আমাদের সম্পর্ককে আমরা কীভাবে দেখি তার পরিবর্তনের দিকে ইঙ্গিত করার প্রক্রিয়া এই চুক্তি। এটি মনে হয় পরিষ্কার যে সামনের দিনের পথপ্রদর্শকের ভূমিকা নিতে হবে, কিন্তু এমনভাবে, যেন দ্রুত পরিবর্তনশীল প্রযুক্তির সাথে তাল মেলানো যায়। এটি আমাদের ডিজিটাল কৈশোর থেকে আরো পরিণত ও দায়িত্বশীল ভবিষ্যতের দিকে যাত্রা।

ওয়েব সবার জন্য এবং সমষ্টিগতভাবে আমরাই একে পরিবর্তনের ক্ষমতা রাখি। এটি হয়তো সহজ হবে না। তবে আমরা যদি অল্প স্বপ্ন দেখি এবং অনেক বেশি কাজ করি, তাহলেই আমরা আমাদের কাঙ্ক্ষিত ওয়েবকে পাব।

– অনুবাদঃ মোশারফ হোসেন [ইংরেজি থেকে অনূদিত। স্যার টিম বার্নার্স-লি রচিত মূল লেখাটি আছে এখানে – https://bit.ly/2VRCKWb]

এইচটিএমএল কিভাবে শিখব?

এইচটিএমএল (html) একটি অত্যন্ত সহজ কিন্তু গুরুত্বপূর্ণ জিনিস, যা তথ্যপ্রযুক্তিতে আগ্রহী যেকারো জানা উচিত। একাদশ-দ্বাদশ শ্রেণীর জন্য আমি বেশ কিছু ভিডিও লেকচার তৈরি করেছিলাম, যেগুলো ভালোভাবে দেখে নিলে (এবং সেই সঙ্গে প্র্যাকটিস করলে) এইচটিএমএল-এর বেসিক শেখা হয়ে যাবে।

এইচটিএমএল জানার আগে ওয়েবসাইট সম্পর্কে একটু ধারণা থাকা প্রয়োজন। তাই প্রথম ভিডিওতে ওয়েব ডিজাইন সম্পর্কে আলোচনা করেছি।

দ্বিতীয়, তৃতীয় ও চতুর্থ ভিডিওতে এইচটিএমএল-এর বিভিন্ন জিনিস দেখানো হয়েছে।

আশা করি, ভিডিওগুলো অনেকের কাজে আসবে। কোনো মতামত থাকলে পোস্টের নিচে কমেন্টে জানানোর অনুরোধ রইল।

দ্রুপাল কোর আপডেট

drupal_branding_2012আমার মূল ওয়েবসাইট (subeen.com) দ্রুপাল দিয়ে তৈরি। কেন দ্রুপাল বেছে নিয়েছিলাম, তার কারণ হচ্ছে ওইসময় একটা প্রজেক্টে কাজ করতাম যেখানে দ্রুপাল ব্যবহার করতে হয়েছিল, সম্ভবত সেখান থেকে দ্রুপাল ব্যবহার করার উৎসাহ পেয়েছিলাম। ওয়েবসাইটটা মাঝে মাঝে আপডেট করার প্রয়োজন হয়। এর মধ্যে দ্রুপাল কোর যখন আপডেট করতে হয়, সেটা ম্যানুয়ালি করতে হয় এবং আমার গুগল সার্চ করে বের করতে হয়ে কীভাবে আপডেট করে। তাই নিজের ব্লগে বাংলা ভাষায় লিখে রাখলাম, যেন পরবর্তী সময়ে গুগল না করে আমার ব্লগেই আমি সার্চ করতে পারি।

কীভাবে দ্রুপাল (ভার্শন ৭) কোর আপডেট করতে হয়?

দ্রুপাল কোর ম্যানুয়ালি আপডেট করতে হলে নিচের স্টেপগুলো অনুসরণ করতে হবে :

) ডাটাবেজেের ব্যাকআপ নিতে হবে।

) দ্রুপালের বর্তমান ভার্শনের সর্বশেষ রিলিজ ডাউনলোড করে সাইটে আপলোড করতে হবে।

) সাইটে আপলোড করার পরে দ্রুপাল প্যাকেজ আনজিপ করতে হবে।

) ওয়েবসাইটের [yourdrupalsitename]/admin/config/development/maintenance এ গিয়ে সাইটে মেইনটেনেন্স মোডে নিয়ে যেতে হবে।

) দ্রুপালের বর্তমান ব্যবহৃত ইনস্ট্যান্সের /sites ডিরেক্টরি ছাড়া বাকী সব ফাইল ও ডিরেক্টরি মুছে ফেলে নতুন ভার্শনের ফাইল ও ডিরেক্টরিগুলো পেস্ট করে দিতে হবে (sites ডিরেক্টরি ব্যাতীত)

) এরপর সাইটে এডমিন হিসেবে লগিন করে আপডেট স্ক্রিপ্ট চালাতে হবে। ব্রাউজারের এড্রেসবারে সরাসরি এই লিঙ্ক পেস্ট করলে আপডেট স্ক্রিপ্ট চলবে : http://[yourdrupalsitename]/update.php

) আপডেট করা শেষ হলে ওয়েবসাইটকে মেইনটেনেন্স মোড থেকে ফিরিয়ে স্বাভাবিক অবস্থায় আনতে হবে।

বি.দ্র. [yourdrupalsitename] এর জায়গায় নিজের ওয়েবসাইটের নাম দিতে হবে। যেমন আমার ওয়েবসাইটের ক্ষেত্রে subeen.com

ওয়েবসাইট বিপর্যয় ও মুক্তির উপায় – পর্ব ২

প্রথম পর্বের লিঙ্ক এখানে

২০১১ সালের ডিসেম্বর মাসে সাস্ট (SUST) থেকে শিক্ষক রুহুল আমিন সজীবের নেতৃত্বে একটি দল ঢাকায় আসে প্রায় দুই সপ্তাহের জন্য। মিশন জাতীয় বিশ্ববিদ্যালয়ের ভর্তি পরীক্ষার ফলাফল প্রসেস করে রেজাল্ট তৈরি করা। চার লক্ষ পরীক্ষার্থীর জন্য এই কাজটি এক বিশাল আয়োজন। এর মধ্যে একটি ছোট্ট অংশ হচ্ছে রেজাল্ট তৈরি করার পরে সেটি ওয়েবসাইটে প্রকাশ করা।

সজীবকে বললাম, ‘সজীব, চল ওয়েবসাইটটা ক্লাউডে হোস্ট করি, আর এমনভাবে করি যেন সেটা ডাউন না হয়।‘
সজীব উত্তর দিল, ‘আরে সুবিন ভাই, সব ব্যবস্থা করে ফেলছি, রেকস্পেস ক্লাউড সাইটে ওয়েবসাইট হোস্ট করবো, সেটা অনেক লোড সামলাতে পারবে‘।
– ‘লোড সামলাতে পারলে ভালো, কিন্তু সেটা তো যথেষ্ট নয়। ডাটাবেজ কানেকশনতো একটা মূল ইস্যু।‘
– ‘তাহলে কী করতে বলেন?’
– ‘মেমক্যাশ (memcached) ব্যবহার করি।‘
– ‘কোনো সমস্যা হবে না?’
– ‘না, সমস্যা নাই, সবার রেজাল্ট মেমোরিতে ক্যাশ করা থাকবে, আর কোনো কারণে সেটা ফেইল করলে মাইএসকিউএল ডাটাবেজ থেকে রেজাল্ট আনা হবে।‘
– ‘ঠিক আছে, আপনে যা ভালো বুঝেন করেন। আর টাকা–পয়সা সমস্যা না, সার্ভারে যত টাকা খরচ করতে হয় করবো, আপনে খালি দেখবেন, মান–ইজ্জত যেন না ডুবে।‘

আমি খুশিমনে তিনদিনের জন্য ওদের সাথে থেকে গেলাম।

নতুন সিস্টেমের আর্কিটেকচার: আমরা সিদ্ধান্ত নিলাম, ক্লাউড সাইটের পেছনে আটটি সার্ভার ব্যবহার করবো। প্রতিটি সার্ভারে সব পরীক্ষার্থীর ফলাফল থাকবে। ফলাফল প্রতিটি সার্ভারের ডাটাবেজে (এক্ষেত্রে MySQL) থাকবে। সেই সাথে প্রতিটি সার্ভারে মেমক্যাশ ইনস্টল করা হবে এবং মেমক্যাশেও সবার রেজাল্ট লোড করা থাকবে।

এখন আমরা যে আটটি সার্ভার ব্যবহার করবো, সেখানে কখন কোন সার্ভারে রিকোয়েস্ট যাবে, সেটা নির্ধারণ করা হবে কীভাবে? আমরা সহজ একটা সিদ্ধান্তে আসলাম। একটা ভেরিয়েবল N নেই। N-এর মান ৮। N ভেরিয়েবল হওয়ার সুবিধা হচ্ছে আমরা ইচ্ছামতো সার্ভার মূল সিস্টেমে যুক্ত করতে পারবো, আবার বাদও দিতে পারবো। এখন পরীক্ষার্থীদের রোল নাম্বারকে ৮ দিয়ে মড করা হবে (মড করলে সেটা হবে ০ থেকে ৭–এর ভিতরে)। মড করলে যেই সংখ্যাটি পাওয়া যাবে তার সাথে ১ যোগ করে তত নম্বর সার্ভারে রিকোয়েস্ট করা হবে। তাহলে প্রতিটি সার্ভারকে গড়ে ৫০ হাজার স্টুডেন্টের ফলাফল প্রসেস করতে হবে, যেহেতু মোট পরীক্ষার্থী ৪ লক্ষ! লোড অনেক কমে গেলো।

তারপরে কাজ হচ্ছে প্রতিটি সার্ভার যেন একসাথে যত বেশি সম্ভব রিকোয়েস্ট হ্যান্ডেল করতে পারে। সার্ভারগুলোয় ওয়েব সার্ভার হিসেবে এপাচি (Apache) ইনস্টল করা ছিলো। সেটার কনফিগরেশন ফাইল এদিক–সেদিক করে দেখলাম আগের চেয়ে বেশি রিকোয়েস্ট হ্যান্ডেল করা যাচ্ছি। কিন্তু আমি জানতাম যে ইঞ্জিন–এক্স নামে আরেকটি ওয়েব সার্ভার আছে যেটা আরো বেশি কনকারেন্ট (concurrent) রিকোয়েস্ট হ্যান্ডেল করতে পারে। তাই এপাচি বাদ দিয়ে ইঞ্জিনএক্স (Nginx) ইনস্টল করলাম। সেটার কনফিগারেশন ফাইল একটু এদিক–সেদিক করলাম। পরীক্ষা করে দেখলাম এপাচির চেয়ে ৫ গুণ বেশি কনকারেন্ট রিকোয়েস্ট হ্যান্ডেল করা যাচ্ছিল। সার্ভারের সবকিছু সিদ্ধান্ত চূড়ান্ত করে সেগুলো দেখাশোনার দায়িত্ব পড়ল সাস্টের ছাত্র শিব্বির হোসেনের উপর।

ারপরে সব সার্ভারে মেমক্যাশ ইনস্টল করা হলো। পিএইচপি স্ক্রিপ এমনভাবে লেখা হলো যে কোনো স্টুডেন্টের রেজাল্টের জন্য রিকোয়েস্ট আসলে সেটি প্রথমে মেমোরিতে খোঁজা হবে (মেমক্যাশে)। যদি পাওয়া যায়, তাহলে সেটি প্রসেস করে পাঠিয়ে দেওয়া হবে, আর পাওয়া না গেলে ডাটাবেজে কুয়েরি করা হবে এবং সেটি মেমক্যাশে সেভ করে রেখে তারপরে পাঠিয়ে দেওয়া হবে। এটি একটি বাড়তি নিরাপত্তা আর কী। কারণ রেজাল্ট একবার তৈরি হয়ে গেলে সেখানে পরিবর্তনের সম্ভাবনা খুবই কম। বিকাশ (সাস্টের শিক্ষক আবু নাসের বিকাশ) পিএইচপি‘র কোড করেছিল। সে তো মেমক্যাশের পারফরমেন্স দেখে হতবাক এবং আনন্দিত!

সব সেটআপ করা শেষ। এবারে লোড টেস্টিংয়ের পালা। সজীব অবশ্য চিন্তিত, আমরা যত বেশি টেস্ট করবো, তার বিল তত বেশি আসবে। কিন্তু বেচারা তো টেস্টিং করতে না বলতে পারে না। আমরা টেস্ট করে বললাম, আল্লাহ্ ভরসা। তিনদিনের মধ্যেই টেস্টিং সহ সব কাজ হয়ে গিয়েছিল।

এখন শেষ আরেকটা ইস্যু। সজীব বললো, ‘সুবিন ভাই, ক্লাউড সাইট কিন্তু শুরুতে বেশি রিকোয়েস্ট হ্যান্ডেল করতে পারে না। লোড যখন বেশি পড়ে তখন সেটা অটোমেটিক একটা উন্নত পারফরম্যান্সের সার্ভারে ট্রান্সফার হয়। তাই শুরুতে রেজাল্ট দেখায় একটু সমস্যা হতে পারে, তবে কয়েক ঘণ্টা পরে ঠিক হয়ে যাবে‘। আমি বললাম, ‘এটা শুরু থেকেই ঠিক করে দেই। তাওয়া গরম করার ব্যাপারই তো।‘ আমরা একটা স্ক্রিপ্ট লেখে অনেকগুলো সার্ভারে আর আমাদের ল্যাপটপে চালিয়ে দিলাম। স্ক্রিপ্টের কাজ ছিল ওয়েবসাইটে অটোমেটিক হিট করতে থাকা। তাওয়া গরম হয়ে গেল‌ো! আমরা রাত ১১টায় ওয়েবসাইটে রেজাল্ট পাবলিশ করলাম। আমার মনে আছে রাত ১টা থেকে ২টার মধ্যে দুই লক্ষ হিট হয়েছিল। এত রাতে লোকজনের ওয়েবসাইটে রেজাল্ট দেখার আগ্রহ দেখে অবাক হলাম। তো আমরা সিস্টেম সার্বক্ষণিক মনিটর করছিলাম। প্রথম দিনে এক মিলিয়ন (দশ লক্ষ) হিট হয়েছিল। দ্বিতীয় দিনের শেষে আমরা আটটি সার্ভারের মধ্যে ছয়টি বাদ দিয়ে কেবল দুইটি রাখি কারণ তখন একসাথে আর খুব বেশি হিটের সম্ভাবনা নাই। শেষমেষ আমাদের কাজটি সফল হয়েছিল। প্রথমদিনে আমাদের সিস্টেম এক সেকেন্ডের জন্যও ডাউন হয় নি। ৭২ ঘণ্টার সফল পরিশ্রম শেষে আনন্দ নিয়ে বাসায় চলে আসলাম। সজীব ও তাঁর দলকে ধন্যবাদ এমন একটি গুরুত্বপূর্ণ কাজে আমাকে কাজ করার সুযোগ করে দেওয়ার জন্য।

মেমক্যাশড নিয়ে আরো জানা যাবে এই লেখায়

ওয়েবসাইট বিপর্যয় ও মুক্তির উপায় – পর্ব ১

বাংলাদেশে বিভিন্ন পাবলিক পরীক্ষায় ফল প্রকাশের সাথে সাথেই একটি বিপর্যয় শুরু হয়ে যায়। তবে সেটি কিন্তু ফলাফল বিপর্যয় নয়, সেটি হচ্ছে ওয়েবসাইট বিপর্যয়। ওয়েবসাইটে পরীক্ষার ফলাফল প্রকাশ করা হলেও বেশিরভাগ মানুষই ওয়েবসাইট থেকে রেজাল্ট দেখতে পারে না। মনে হয় ওয়েবসাইটটি যেন হ্যাং হয়ে আছে।

এই সমস্যা হওয়ার কারণ হচ্ছে ওয়েবসাইটের আর্কিটেকচার। সাধারণত ওয়েবসাইটগুলো বানানো হয় এভাবে : সবার পরীক্ষার ফলাফল ডাটাবেজে সংরক্ষিত থাকে। ওয়েবসাইটে কোনো ফর্ম সাবমিট করা হলে (যেমন বোর্ড এবং রোল নাম্বার সিলেক্ট করে সাবমিট করলে) সেই রিকোয়েস্ট সার্ভারের কাছে যায়। সার্ভার তখন ডাটাবেজে কুয়েরি করে রেজাল্ট আনে নিজের কাছে। তারপর সেটা প্রসেসিং করে পাঠিয়ে দেয়। তখন ব্যবহারকারি ওয়েবসাইটে পরীক্ষার ফল দেখতে পারে।

এখানে দুটো জিনিস লক্ষ করতে হবে। ওয়েবসাইট থেকে রিকোয়েস্ট প্রথমে যখন সার্ভারের কাছে যায়, সেখানে একটি ওয়েব অ্যাপ্লিকেশন সার্ভার (যেমন : এপাচি কিংবা ইঞ্জিন-এক্স) সেটি হ্যান্ডেল করে। সেই ওয়েব অ্যাপ্লিকেশন সার্ভারের রিকোয়েস্ট হ্যান্ডেল করার একটি ক্যাপাসিটি থাকে, যেই ক্যাপাসিটির বেশি রিকোয়েস্ট সে হ্যান্ডেল করতে পারে না। দ্বিতীয়ত হচ্ছে ডাটাবেজ সার্ভার (যেমন : মাইএসকিউএল, পোস্টজিআরই এসকিউল, ওরাকল)। সেটিরও রিকোয়েস্ট বা কানেকশন হ্যান্ডেল করার একটা সীমা থাকে। একই সাথে একটি নির্দিষ্ট সংখ্যক কানেকশনের বেশি সে হ্যান্ডেল করতে পারে না। তাই ফলাফল প্রকাশের পর যখন লাখ লাখ পরীক্ষার্থী ও তাদের অভিভাবক ওয়েবসাইটে ফল দেখার চেষ্টা করতে থাকে, সার্ভারের ওপর তৈরি হয় প্রচন্ড চাপ, যেই চাপ সে সামলাতে পারে না এবং ওয়েবসাইটি থেকে আর ফলাফল দেখা সম্ভব হয় না।

এই সমস্যা থেকে মুক্তি পাওয়ার উপায় কী? উপায় হচ্ছে ডিসট্রিবিউটেড কম্পিউটিং (distributed computing), যা ক্লাউড কম্পিউটিং (cloud computing) ব্যবহার করে সহজে করা যায়। আগামী পর্বে লিখব ২০১১-২০১২ সালের জাতীয় বিশ্ববিদ্যালয়ের ভর্তি পরীক্ষার ফল প্রকাশের ওয়েবসাইটের জন্য ক্লাউড কম্পিউটিং ব্যবহারের অভিজ্ঞতার কথা।

পরের পর্বের লিঙ্ক এখানে