మిథ్యాకలనం
మేఘ కలనం (cloud computing) అనే భావం బాగా ప్రచారంలోకి వచ్చిన ఇటీవలి కాలంలో ఒకే గుక్కలో “మేఘ కలనం, మిథ్యా కలనం” అనే పదబంధాలు వాడుతున్నారు. మేఘ కలనంకీ మిథ్యా కలనంకీ మధ్య తేడా ఉందని గుర్తిస్తూ, మిథ్యా కలనం (virtual computing) అనే భావాన్ని మేఘ కలనంలో విరివిగా ఉపయోగిస్తారు కనుక ముందు మిథ్యా కలనం గురించి తెలుసుకుందాం. తరువాత మేఘ కలనం గురించి మాట్లాడుకోవచ్చు.
ఇంగ్లీషులో virtual అంటే నిజం కాకపోయినా నిజమని భ్రమింపజేసేది అని అర్థం. కంప్యూటరు రంగంలో ఈ మాట వాడినప్పుడు “నిజం కాకపోయినా కంప్యూటరు క్రమణికల ద్వారా నిజం అని భ్రమింపజేసేది” అన్న అర్థంతో వాడుతున్నారు. మన వేదాంత తత్త్వంలో కూడా ఇదే కదా చెబుతున్నారు – చూసేదంతా నిజం కాదు, ఇదంతా ఒక మిథ్య అని. కనుక – మిథ్యా కలనం అంటే సూక్ష్మకాయం సహాయంతో మనకి ఏ కలన వాతావరణం (computational environment) కావలిస్తే ఆ వాతావరణాన్ని సృష్టించడం. ఒక అడుగు వెనక్కి వేసి ఈ పద్ధతిని కొంచెం విశదంగా పరిశీలిద్దాం.
ముందు కంప్యూటర్ల గురించి కొన్ని ముఖ్యమైన మాటల అర్థాలు, అర్థభేదాలు, నిర్వచనాలు నెమరు వేసుకుందాం. ప్రతి జీవికీ ఒక శరీరం, ఆ శరీరంలో ఒక ఆత్మ (ప్రాణం) ఉన్నట్లే, ప్రతి కంప్యూటరు లోను రెండు భాగాలు ఉంటాయి: స్థూలకాయం (hardware), సూక్ష్మకాయం (software). స్థూలకాయం మన పార్థివ దేహం లాంటిది; అంటే, ఇది సిలికాన్ చితుకులవంటి సామగ్రులతో చేసిన కలన కలశం (processing unit), దత్తాంశాలని దాచుకునే కొట్టు (store), దత్తాంశాలు ఇటూ, అటూ ప్రయాణించడానికి కావలసిన రాజమార్గాలు (buses), రాజమార్గాల వెంబడి దత్తాంశాలని లోపలికి రవానా చెయ్యడానికి వెసులుబాటుగా మీటల ఫలకం (keyboard), మూషికం (mouse), వగైరాలు, లోపల నుండి బయటకి వచ్చే దత్తాంశాలని చూపడానికి తెర (screen), ముద్రాపకి (printer) – ఈ సరంజామా అంతటినీ కలగలపి స్థూలకాయం అంటారు. స్థూలకాయం ప్రాణం లేని శరీరం లాంటిది. ఈ స్థూలకాయానికి చైతన్యం వచ్చి, చలాకీగా పని చెయ్యాలంటే – కట్టెకి ప్రాణం పోసినట్లు – ఇందులోకి ఒక రకం సూక్ష్మకాయాన్ని ప్రవేశపెట్టాలి. ఏ రకం? మనం ప్రవేశపెట్టిన సూక్ష్మకాయం ప్రతిభ వల్ల స్థూలకాయంలో ఉన్న విడి విడి భాగాలకి ఒక దానితో మరొకటి సంభాషించగలిగే స్తోమత వస్తుంది. ప్రాణం ఉంటేనే కదా కళ్లు విప్పి చూడగలం, చెవులతో వినగలం, ఆకలేస్తే ఏడవగలం, తిన్న తిండిని అరాయించుకోగలం. ఇలా స్థూలకాయానికి కనీస ప్రాథమిక ప్రతిభలని ప్రసాదించగల సూక్ష్మకాయాన్ని నిరవాకి (operating system) అంటారు; కలన కలశం మీద, కొట్టు మీద, రాజమార్గాల మీద, మీటల ఫలకం మీద, మూషికం మీద, తెర మీద, ముద్రాపకి మీద – ఇలా స్థూలకాయం లోని భాగాలన్నిటి మీద నిరవాకం చేసేది కనుక దీనిని నిరవాకి అన్నాం. టూకీగా ఇదీ కంప్యూటరు నిర్మాణ శిల్పం.
ఇప్పుడు అంచెల మీద మిథ్యా కలనం అంటే ఏమిటో సోదాహరణంగా విశదీకరిస్తాను. మిథ్యా కలనంలో స్థూలకాయం (hardware) కీ, నిరవాకి (software) కీ, అనువర్తనాలు (applications) కీ మధ్య ఉండే గట్టి అవినాభావ బంధాలని తెగగొట్టి స్వతంత్ర ప్రతిపత్తిని ప్రసాదిస్తాము. ఈ వాక్యం అందరికీ గభీమని అర్థం కాదు కనుక ఒక ఉదాహరణ చెబుతాను.
ఈ రోజుల్లో “ఇ-టపా” (e-mail) అంటే తెలియని వారు ఉండరు. ఈ "ఇ-టపా" ఎలా పనిచేస్తుందో చూద్దాం. మన దగ్గర ఉన్న ఒక కంప్యూటరుకి “అభ్యాగతి” (host) అని పేరు పెడదాం. ఈ అభ్యాగతి పరిచర్యలు చేసేది కనుక దీనిని పరిచారిక (server) అని కూడా అంటారు. ఈ అభ్యాగతిలో, ప్రారంభ దశలో, ఉండేది ప్రాణం లేని స్థూలకాయం మాత్రమే. దీనికి ప్రాణం పొయ్యాలంటే దీని మీదకి (లేదా లోపలికి) ప్రత్యేక శక్తులు గల ఒక సూక్ష్మకాయాన్ని ఎక్కించాలి. (గుర్రం మీదకి రౌతుని ఎక్కించినట్లు). ఈ రకం సూక్ష్మకాయాన్ని నిరవాకి (operating system) అంటారు అని పైన చెప్పుకున్నాం. నిర్ధిష్టతకి ఈ నిరవాకి మైక్రోసాఫ్ట్ కంపెనీవారు తయారు చేసే “విండోస్ ఎన్. టి. 4” (Windows NT 4) అనుకుందాం. ఇప్పుడు మన ఎదురుగా ఒక “సజీవమైన” కంప్యూటరు ఉంది. ఈ సజీవమైన స్థూలకాయం-నిరవాకి అనే జంట మీద మనకి కావలసిన అనువర్తనం (application) పెట్టుకోవచ్చు. (గుర్రం ఎక్కిన రౌతు చేతికి ఉత్తరం ఇచ్చి పక్క ఊరు వార్త పంపినట్లు అనుకొండి. లేదా, రౌతు చేతికి కత్తి ఇచ్చి యుద్ధానికి పంపినట్లు అనుకొండి.) ఉదాహరణకి, ఇక్కడ, “ఇ-టపా” పంపడానికి వీలుగా స్థూలకాయం మీద "కూర్చున్న" విండోస్ ఎన్. టి. 4 "మీద" “మైక్రోసాఫ్ట్ ఎక్‌స్చేంజ్ సెర్వర్” (Microsoft Exchange Server) అనే అనువర్తనాన్ని "కూర్చో" పెడదాం. అంటే ఏమిటన్న మాట? అడుగున స్థూలకాయం, ఆ స్థూలకాయం మీద నిరవాకి, ఆ నిరవాకి మీద “ఎక్‌స్చేంజ్ సెర్వర్” అనే అనువర్తనం – ఒక దాని వీపు మీద మరొకటి కూర్చుని సవారీ చేస్తున్నాయి. ఈ త్రయం సరిగ్గా అనుకున్నట్టు పని చేస్తే టపా ఇటు నుండి అటు వెళుతుంది. ఈ త్రయాన్ని "టపా పరిచారిక" (mail server) అందాం. (పరిచారిక అంటే తెలుసుకోవాలని ఉంటే ఇక్కడ చూడండి.)
పైన చెప్పిన అమరిక వల్ల చిక్కు ఏమిటి? ఏ కారణం వల్లనైనా స్థూలకాయం పని చెయ్యడం మానేస్తే (ఉ. విద్యుత్తు సరఫరా భంగపడితే, చల్లబరచే పంకా భంగపడితే, వగైరా). అప్పుడు మన “ఇ-టపా” ఎక్కడకీ వెళ్లదు. ఏ కారణం వల్లనైనా నిరవాకి సరిగ్గా పని చెయ్యకపోతే (ఉ. వైరస్ తిష్ట వెయ్యవచ్చు, కొట్టులో దత్తాంశాలని దాచుకునే వ్యవస్థ భంగపడవచ్చు, వగైరా) మన “ఇ-టపా” ఎక్కడకీ వెళ్లదు. ఇక్కడ “ఇ-టపా” అనే పరిచర్య (service) ఆగిపోడానికి కారణం ఈ పరిచర్య వెనక వాహనంలా ఉన్న ఎక్‌స్చేంజ్ సర్వర్ అనే అనువర్తనానికీ, ఆ అనువర్తనానికి వాహనమైన నిరవాకికీ, ఆ నిరవాకికి వాహనమైన స్థూలకాయానికి మధ్య విడదీయలేని బంధం ఉండడమే. ఈ బంధాన్ని సడలించి విడదీయడమే మిథ్యా కలనం (తదౄపేణా, మేఘ కలనం) అనే ఊహ వెనక ఉన్న ప్రధాన ఆలోచన.
ఈ సమస్యని పరిష్కరించడానికి మిథ్యా కలనం (virtual computing) అనే కొత్త భావం ఎలా ఉపయోగపడుతుందో నఖచిత్రంలా చెబుతాను. ఒక కంప్యూటరులో ఉన్న స్థూలకాయం-నిరవాకి-అనువర్తనం అనే త్రయంలో స్థూలకాయం భంగపడిందని (failed) అనుకుందాం. అప్పుడు నిరవాకి-అనువర్తనం అనే జంటని ఆ స్థూలకాయం మీద నుండి తీసేసి, పక్కని ఉన్న, బాగా పనిచేస్తూన్న, మరొక స్థూలకాయం మీదకి మార్చుదాం. (అనగా, పరకాయ ప్రవేశం చేయించేమన్నమాట!) ఈ ఉపాయం అర్థం చేసుకోడానికి చిన్న ఉదాహరణని చూద్దాం. ఈ ఉదాహరణలో మూడు అభ్యాగతులు లేదా పరిచారికలు (servers) క1, క2, క3 అనేవి ఉమ్మడిగా పనిచేస్తున్నాయని అనుకుందాం. వీటిలో మొదటి అభ్యాగతి మీద చ1 అనే నిరవాకి, దాని మీద ట1 అనే అనువర్తనం పనిచేస్తున్నాయని అనుకుందాం. ఇప్పుడు {క1, చ1, ట1} ల మధ్య బంధం, బిగుతుగా కాకుండా, జారుగా ఉందని అనుకుందాం. ఇప్పుడు ఏదో కారణం వల్ల క1 భంగపడిందని (fail అయిందని) అనుకుందాం. అప్పుడు క1 మీద సవారీ చేస్తూన్న {చ1-ట1} జంటని క1 నుండి విడదీసి – పరకాయ ప్రవేశం చేయించినట్లు - క2 మీదకి వాలేలా చేసేమనుకుందాం. ఇప్పుడు {క2-చ1-ట1} త్రయం ఏ ఇబ్బందీ లేకుండా పని కొనసాగించుకుంటూ చేసుకుంటూ పోవాలి. ఈ రకం పరకాయ ప్రవేశం సాధ్యపడాలంటే స్థూలకాయానికీ, నిరవాకికీ మధ్య ఉండే బంధం జారుజారుగా, ఒదులుగా ఉండాలి; గట్టిగా ఉండకూడదు. ఇది మిథ్యా కలనం వెనక ఉన్న సూత్రం. ఈ భాగాన్ని చూసే చాల మంది మేఘ కలనం అన్నా, మిథ్యా కలనం అన్నా ఒక్కటే అని పొరపాటు పడుతూ ఉంటారు. మేఘ కలనం అనే వ్యవస్థలో మిథ్యా కలనం అనేది కేవలం ఒక అంశం మాత్రమే.
ఒక పరిచారిక (server) యొక్క స్థూలకాయం (hardware) నుండి నిరవాకి (operating system) ని, అనువర్తన క్రమణికలని (application programs), అవి ప్రస్తుతం నడుస్తూన్న స్థితిగతులని తెలిపే పరిస్థితి (state) ని ఏకాండీగా పైకి ఎత్తి మరొక కంప్యూటరు యొక్క స్థూలకాయం మీద ప్రతిష్ఠించడం అనే ప్రక్రియని "మిథ్యాకరణం" (virtualization) అంటారు. ఈ ప్రక్రియని రెండు మార్గాల గుండా సాధించవచ్చు: ఒకదానిని "అతిథి స్థాపిత పరిచారిక" (Client installed server) ద్వారా అనిన్నీ, రెండవదానిని ఉపద్రష్ట (hypervisor) ద్వారా అనిన్నీ అంటారు.
ఉదాహరణకి, అతిథి స్థాపిత పరిచారిక (Client installed server) పద్ధతిలో, మన కంప్యూటరు యొక్క స్థూలకాయం మీద "విండోస్" నిరవాకి ప్రతిష్ఠించబడి ఉందనుకుందాం. దీని మీదకి "అతిథి మిథ్యాకరణ సూక్ష్మకాయం" (Client Virtualization Software) అనే క్రమణికని ఎక్కిస్తాం. ఈ క్రమణిక "చదునుగా ఉన్న ఒక తీనె లాంటి ప్రదేశాన్ని" తయారు చేస్తున్నట్లు ఊహించుకొండి. ఈ "తీనె" మీద మనకి ఏ నిరవాకి కావలిస్తే ఆ నిరవాకిని సృష్టించి వాడుకోవచ్చు.
ఈ రకం అవసరం ఎప్పుడు వస్తుందో చెబుతాను. మన దగ్గర గత 5 ఏళ్లబట్టీ ఒక PC, దాని మీద మైక్రోసాఫ్ట్ కంపెనీవారి విండోస్ నిరవాకి ఉండేవని అనుకుందాం. ఆ 5 ఏళ్లల్లో మనం ఏవేవో కథలు, కాకరకాయలు తెలుగు లిపిలో రాసుకుని దాచుకున్నాం. మిత్రుల ప్రోద్బలం వల్ల ఈసారి మేకింతాష్ కంప్యూటరు కొన్నాం. పూర్వం PC మీద పనిచేసిన అనువర్తనాలు ఈ కొత్త మేకింతాష్ మీద పని చెయ్యడం లేదు. ఏమి చెయ్యడం? ఒక పరిష్కార మార్గం ఏమిటంటే మన కొత్త మేకింతాష్ కంప్యూటరు స్థూలకాయం మీద మేకింతాష్ కంపెనీవారు తయారు చేసిన నిరవాకి ఒకటి (OS X అనుకొండి) ఉంటుంది కదా. ఈ నిరవాకి మీద "అతిథి మిథ్యాకరణ సూక్ష్మకాయం" (Client Installed Virtualization Software) అనే క్రమణికని ఎక్కించి, ప్రతిష్ఠాపన చెయ్యాలి. ఉదాహరణకి VMWare కంపెనీ వారి VMWare Fusion ఈ రకం పనిచేసిపెడుతుంది. ఇప్పుడు ఈ "అతిథి మిథ్యాకరణ సూక్ష్మకాయం" మీద (అనగా, ఇక్కడ VMWare Fusion మీద) మన పాత PC ని నడిపిన విండోస్ (Windows) నిరవాకిని స్థాపిస్తాం. ఇప్పుడు VMWare Fusion అర్చ (icon) తెర మీద కనబడుతుంది. ఈ అర్చ మీద రెండు సార్లు వత్తితే (click చేస్తే) మనకి పూర్వం పరిచయణ్ ఉన్న విండోస్ కిటికీ లాంటిది ఒకటి తెరుచుకుంటుంది. అది చూడడానికి మన పాత PC మీద కనిపించే కిటికీ లాగే ఉంటుంది: Start Menu వగైరా హంగులతో!.
రెండవ పద్ధతి ఉపద్రష్ట (hypervisor) ఉపయోగించి. ఇది చాల శక్తివంతమైన పద్ధతి. అనగా, అతిథి స్థాపిత పరిచారికని సృష్టించడం కంటే ఈ మార్గం శక్తిమంతమైనది. ఈ మార్గం గుండా వెళ్లాలంటే రెండు కంప్యూటర్లు కావాలి; ఒకటి పరిచారిక (server) గా పని చెయ్యడానికి, మరొకటి అతిథి (client) గా పని చెయ్యడానికి. పరిచారిక మీద స్థాపించడానికి ఉపద్రష్ట (hypervisor) అనే సూక్ష్మకాయం (software) కావాలి. ఉపద్రష్ట అంటే యాగాలు, క్రతువులు చేసేటప్పుడు యాగశాలలో సమావేశమైన ఋత్విక్కులందరి మీద అజమాయిషీ చేసే వ్యక్తి. అంటే, నిరవాకం చేసేవాడన్నమాట. కనుక ఈ ఉపద్రష్ట నిజానికి మరొక రకం నిరవాకి (operating system). సందర్భం మారింది కనుక పేరు మార్చేరు.
ముందు నిరవాకం చేసే కంప్యూటరు స్థూలకాయం మీద ఈ ఉపద్రష్టని ప్రతిష్ఠిస్తాం. (ఇంతవరకు స్థూలకాయం మీద Windows వంటి నిరవాకిని ప్రతిష్ఠించేవాళ్లం. ఇప్పుడు దానికి బదులు ఉపద్రష్ట వాడుతున్నాం.) ఇక్కడ మనకి కావలసిన ఉపద్రష్ట పేరు VMWare కంపెనీవారు తయారు చేసిన ESXi. ఈ ESXi తిన్నగా స్థూలకాయం మీదకి వెళుతుంది. ప్రతిష్ఠాపన కార్యక్రమం అంతా మామూలే. ఈ కార్యక్రమం అయిన తరువాత, తెర మీద పంచ రంగుల అర్చలు కనబడవు; సాదా సీదాగా రెండు, మూడు వరసల అక్షరాలు, అంకెలు (IP address లాంటివి) కనిపిస్తాయి. ఏమిటి చెయ్యడం? ఇలా దరిదాపు ఖాళీగా ఉన్న తెర కనిపించడానికి కారణం ఏమిటంటే మన ఉపద్రష్ట నిరవాకం చేసే కంప్యూటరు మీద కేవలం మిథ్యా కలన వాతావరణం సృష్టిస్తుంది; దాని మీద అజమాయిషీ చెయ్యదు; ఈ అజమాయిషీని మనం (అంటే, వాడుకరులు) మన సొంత కంప్యూటరు (ఉదా. ఉరోపరి) ద్వారా చేస్తాం. మనం ఎక్కడ ఉన్నాం? మన ఇంట్లో? లేదా, మన ఆఫీసులో! పరిచారిక ఎక్కడుంది? ఎక్కడుందో మనకి తెలియక్కర లేదు. అంతర్జాలంలో ఎక్కడో (మేఘంలో) ఉంది! ఈ మేఘానికీ, మన ఇంటికీ మధ్య అంతర్జాలం ద్వారా లంకె ఉంటుంది. కనుక మన ఇంట్లో ఉన్న ఉరోపరి ముందు కూర్చుని మేఘంలో ఉన్న పరిచారికలో ఉన్న ఉపద్రష్ట ద్వారా మనం అజమాయిషీ చెయ్యొచ్చు. ఈ రకం అజమాయిషీ చెయ్యడానికి వెసులుబాటు కల్పించడానికి మనకి మరొక పనిముట్టు కావాలి. ఈ పనిముట్టు పేరు VSphere. దీనిని కూడా VMWare కంపెనీ వారే చేస్తారు. వారు ESXi ఉచితంగా ఇచ్చేస్తారు. ఆ ESXi ని "నడపడానికి" కావలసిన VSphere కి మనం డబ్బు కట్టాలి. ఈ VSphere లేకుండా ఆ ESXi పని చెయ్యదు! (కారు ఫ్రీగా ఇచ్చేస్తారు. చక్రానికి లక్ష రూపాయలు కట్టి మా దగ్గరే కొనుక్కోవాలి ఆన్నట్లు ఉంది కదూ?)
ఇప్పుడు మనం ఏమి చెయ్యొచ్చంటే మన ఇంట్లో ఉన్న ఉరోపరి దగ్గర కూర్చుని, VSphere ద్వారా మేఘంలో ఉన్న ESXi దగ్గరకి, అక్కడనుండి VMWare అనే ఉపద్రష్ట దగ్గరకి వెళ్లి, “నాకు ఒక విండోస్ 2008 లాంటి మిథ్యా కంప్యూటరు వాతావరణం కావాలి" అని అడిగితే అది మనకి మేఘంలో ఉన్న పరిచారికలో Windows 2008 వాతావరణం సృష్టించి పెడుతుంది. ఎలా? ఈ పని చెయ్యడానికి మేఘంలో ఉన్న పరిచారికలో ఉన్న కొట్టు (hard drive) లో ఒక భాగం విండోస్ 2008 (Windows 2008) కి కేటాయించి, ఈ వాతావరణం సజావుగా నడవడానికి కావల్సిన హంగులతో ఒక "తీనె"ని కేటాయించి, దాని మీద విండోస్ 2008 ని స్థాపిస్తుంది. ఇప్పుడు మన విండోస్ 2008 అనే నిరవాకిని VMWare అనే ఉపద్రష్ట మీద ఒక చిన్న ప్రమిదలా ఊహించుకోవచ్చు. అదే ఉపద్రష్ట మీద మరొకరు వేరొక ప్రమిదని "వెలిగించి" పెట్టుకోవచ్చు. ఆ ఉపద్రష్ట అనే తీనె మీద ఎన్ని ప్రమిదలు పడితే అన్ని పెట్టుకోవచ్చు.
పైన చెప్పిన నిరవాకి ఒక్కటే ఉండాలని ఏముంది? ఉదాహరణకి ఒక గుచ్ఛంలో 20 నిరవాకులు ఉన్నాయనుకుందాం. ఇవన్నీ కలిసిగట్టుగా పనిచేస్తున్నాయని అనుకుందాం. ఇప్పుడు ఒక నిరవాకి మీద "బరువు" (load) ఎక్కువ అయిపోతే దాని మీద ఉన్న ప్రమిదని ఆ పళంగా పైకి ఎత్తి మరొక నిరవాకి మీదకి చేర్చవచ్చు. ఈ పద్ధతిని "భార తులీకరణ" (load balancing) అందాం. ఒక నిరవాకి భంగపడినా ఇదే పద్ధతిలో భంగపడిన నిరవాకి మీద ఉన్న ప్రమిదని తీసి పనిచేస్తూన్న నిరవాకి మీదకి బదిలీ చేస్తాం.
ఈ కార్యక్రమం అంతా సజావుగా సాగడానికి గుచ్ఛంలో ఉన్న నిరవాకులన్నిటి మీద ESXi ని ప్రతిష్ఠాపించాలి. అప్పుడు మేఘంలో ఉన్న ఈ గుచ్ఛం అంతటినీ మన ఇంట్లో ఉన్న ఉరోపరి దగ్గర కూర్చుని VSphere ఉపయోగించి నియంత్రించవచ్చు.
ఇంతటితో మిథ్యా కలనం మీద చర్చ పూర్తి అయింది. మనకి తెలీయకుండానే మేఘ కలనం లోగిట్లోకి వచ్చేసేం.