రాక్‌లపై సర్వర్‌లెస్

రాక్‌లపై సర్వర్‌లెస్
సర్వర్‌లెస్ అనేది సర్వర్‌ల భౌతిక లేకపోవడం గురించి కాదు. ఇది కంటైనర్ కిల్లర్ లేదా పాసింగ్ ట్రెండ్ కాదు. క్లౌడ్‌లో సిస్టమ్‌లను నిర్మించడానికి ఇది కొత్త విధానం. నేటి కథనంలో మేము సర్వర్‌లెస్ అప్లికేషన్‌ల నిర్మాణాన్ని తాకుతాము, సర్వర్‌లెస్ సర్వీస్ ప్రొవైడర్ మరియు ఓపెన్ సోర్స్ ప్రాజెక్ట్‌లు ఏ పాత్ర పోషిస్తాయో చూద్దాం. చివరగా, సర్వర్‌లెస్‌ని ఉపయోగించడంలో సమస్యల గురించి మాట్లాడుదాం.

నేను అప్లికేషన్ యొక్క సర్వర్ భాగాన్ని వ్రాయాలనుకుంటున్నాను (లేదా ఆన్‌లైన్ స్టోర్ కూడా). ఇది చాట్ కావచ్చు, కంటెంట్ పబ్లిషింగ్ సర్వీస్ కావచ్చు లేదా లోడ్ బ్యాలెన్సర్ కావచ్చు. ఏదైనా సందర్భంలో, చాలా తలనొప్పి ఉంటుంది: మీరు మౌలిక సదుపాయాలను సిద్ధం చేయాలి, అప్లికేషన్ డిపెండెన్సీలను నిర్ణయించాలి మరియు హోస్ట్ ఆపరేటింగ్ సిస్టమ్ గురించి ఆలోచించాలి. అప్పుడు మీరు మిగిలిన ఏకశిలా యొక్క ఆపరేషన్ను ప్రభావితం చేయని చిన్న భాగాలను నవీకరించాలి. బాగా, లోడ్ కింద స్కేలింగ్ గురించి మర్చిపోవద్దు.

మనం ఎఫెమెరల్ కంటైనర్‌లను తీసుకుంటే, అందులో అవసరమైన డిపెండెన్సీలు ఇప్పటికే ముందే ఇన్‌స్టాల్ చేయబడి ఉంటాయి మరియు కంటైనర్‌లు ఒకదానికొకటి మరియు హోస్ట్ OS నుండి వేరుచేయబడి ఉంటే? మేము మోనోలిత్‌ను మైక్రోసర్వీస్‌లుగా విభజిస్తాము, వీటిలో ప్రతి ఒక్కటి నవీకరించబడవచ్చు మరియు ఇతరులతో సంబంధం లేకుండా స్కేల్ చేయవచ్చు. అటువంటి కంటైనర్‌లో కోడ్‌ను ఉంచడం ద్వారా, నేను దానిని ఏదైనా ఇన్‌ఫ్రాస్ట్రక్చర్‌లో అమలు చేయగలను. ఇప్పటికే మెరుగ్గా ఉంది.

మీరు కంటైనర్‌లను కాన్ఫిగర్ చేయకూడదనుకుంటే ఏమి చేయాలి? నేను అప్లికేషన్ స్కేలింగ్ గురించి ఆలోచించడం ఇష్టం లేదు. సేవలో లోడ్ తక్కువగా ఉన్నప్పుడు నిష్క్రియంగా నడుస్తున్న కంటైనర్‌ల కోసం నేను చెల్లించాలనుకోవడం లేదు. నేను కోడ్ రాయాలనుకుంటున్నాను. వ్యాపార లాజిక్‌పై దృష్టి పెట్టండి మరియు కాంతి వేగంతో ఉత్పత్తులను మార్కెట్‌కి తీసుకురండి.

అలాంటి ఆలోచనలు నన్ను సర్వర్‌లెస్ కంప్యూటింగ్‌కి నడిపించాయి. ఈ సందర్భంలో సర్వర్‌లెస్ అంటే సర్వర్లు భౌతికంగా లేకపోవడం కాదు, మౌలిక సదుపాయాల నిర్వహణ తలనొప్పి లేకపోవడం.

అప్లికేషన్ లాజిక్ స్వతంత్ర విధులుగా విభజించబడిందనే ఆలోచన. వారు ఈవెంట్ నిర్మాణాన్ని కలిగి ఉన్నారు. ప్రతి ఫంక్షన్ ఒక "మైక్రోటాస్క్" నిర్వహిస్తుంది. డెవలపర్ నుండి కావలసిందల్లా, క్లౌడ్ ప్రొవైడర్ అందించిన కన్సోల్‌లోకి ఫంక్షన్‌లను లోడ్ చేయడం మరియు వాటిని ఈవెంట్ సోర్స్‌లతో సహసంబంధం చేయడం. కోడ్ స్వయంచాలకంగా సిద్ధం చేయబడిన కంటైనర్‌లో డిమాండ్‌పై అమలు చేయబడుతుంది మరియు నేను అమలు చేసే సమయానికి మాత్రమే చెల్లిస్తాను.

అప్లికేషన్ డెవలప్‌మెంట్ ప్రక్రియ ఇప్పుడు ఎలా ఉంటుందో చూద్దాం.

డెవలపర్ వైపు నుండి

ఇంతకుముందు మేము ఆన్‌లైన్ స్టోర్ కోసం అప్లికేషన్ గురించి మాట్లాడటం ప్రారంభించాము. సాంప్రదాయిక విధానంలో, వ్యవస్థ యొక్క ప్రధాన తర్కం ఏకశిలా అప్లికేషన్ ద్వారా నిర్వహించబడుతుంది. మరియు లోడ్ లేనప్పటికీ, అప్లికేషన్‌తో సర్వర్ నిరంతరం నడుస్తుంది.

సర్వర్‌లెస్‌కి తరలించడానికి, మేము అప్లికేషన్‌ను మైక్రోటాస్క్‌లుగా విభజిస్తాము. వాటిలో ప్రతిదానికి మేము మా స్వంత విధిని వ్రాస్తాము. విధులు ఒకదానికొకటి స్వతంత్రంగా ఉంటాయి మరియు రాష్ట్ర సమాచారాన్ని నిల్వ చేయవు (స్టేట్లెస్). అవి వివిధ భాషలలో కూడా వ్రాయబడి ఉండవచ్చు. వాటిలో ఒకటి "పడిపోతే", మొత్తం అప్లికేషన్ ఆగదు. అప్లికేషన్ ఆర్కిటెక్చర్ ఇలా ఉంటుంది:

రాక్‌లపై సర్వర్‌లెస్
సర్వర్‌లెస్‌లో ఫంక్షన్‌లుగా విభజించడం మైక్రోసర్వీస్‌తో పనిచేయడం లాంటిది. కానీ మైక్రోసర్వీస్ అనేక పనులను చేయగలదు మరియు ఒక ఫంక్షన్ ఆదర్శంగా ఒకదానిని నిర్వహించాలి. గణాంకాలను సేకరించడం మరియు వినియోగదారు అభ్యర్థన మేరకు వాటిని ప్రదర్శించడం పని అని ఊహించుకుందాం. మైక్రోసర్వీస్ విధానంలో, ఒక పనిని రెండు ఎంట్రీ పాయింట్లతో ఒక సేవ నిర్వహిస్తుంది: రాయడం మరియు చదవడం. సర్వర్‌లెస్ కంప్యూటింగ్‌లో, ఇవి ఒకదానికొకటి సంబంధం లేని రెండు వేర్వేరు విధులు. ఉదాహరణకు, గణాంకాలు డౌన్‌లోడ్ చేయబడిన దానికంటే ఎక్కువగా నవీకరించబడినట్లయితే, డెవలపర్ కంప్యూటింగ్ వనరులను ఆదా చేస్తాడు.

సర్వర్‌లెస్ ఫంక్షన్‌లు తప్పనిసరిగా తక్కువ వ్యవధిలో (సమయం ముగిసింది) అమలు చేయబడాలి, ఇది సేవా ప్రదాతచే నిర్ణయించబడుతుంది. ఉదాహరణకు, AWS కోసం గడువు 15 నిమిషాలు. దీనర్థం దీర్ఘకాలిక ఫంక్షన్‌లను అవసరాలకు అనుగుణంగా మార్చవలసి ఉంటుంది - ఈ రోజు ఇతర ప్రసిద్ధ సాంకేతికతల నుండి సర్వర్‌లెస్‌ను వేరు చేస్తుంది (కంటైనర్‌లు మరియు ప్లాట్‌ఫారమ్‌గా ఒక సేవ).

మేము ప్రతి ఫంక్షన్‌కి ఒక ఈవెంట్‌ను కేటాయిస్తాము. ఈవెంట్ ఒక చర్యకు ట్రిగ్గర్:

ఈవెంట్
ఫంక్షన్ చేసే చర్య

ఉత్పత్తి చిత్రం రిపోజిటరీకి అప్‌లోడ్ చేయబడింది.
చిత్రాన్ని కుదించండి మరియు డైరెక్టరీకి అప్‌లోడ్ చేయండి

భౌతిక స్టోర్ చిరునామా డేటాబేస్‌లో నవీకరించబడింది
మ్యాప్‌లలో కొత్త స్థానాన్ని లోడ్ చేయండి

క్లయింట్ వస్తువులకు చెల్లిస్తుంది
చెల్లింపు ప్రాసెసింగ్‌ను ప్రారంభించండి

ఈవెంట్‌లు HTTP అభ్యర్థనలు, స్ట్రీమింగ్ డేటా, సందేశ క్యూలు మొదలైనవి కావచ్చు. ఈవెంట్ మూలాలు డేటా యొక్క మార్పులు లేదా సంఘటనలు. అదనంగా, విధులు టైమర్ ద్వారా ప్రేరేపించబడతాయి.

ఆర్కిటెక్చర్ పని చేయబడింది మరియు అప్లికేషన్ దాదాపు సర్వర్‌లెస్‌గా మారింది. తరువాత మేము సర్వీస్ ప్రొవైడర్ వద్దకు వెళ్తాము.

ప్రొవైడర్ వైపు నుండి

సాధారణంగా, సర్వర్‌లెస్ కంప్యూటింగ్‌ను క్లౌడ్ సర్వీస్ ప్రొవైడర్లు అందిస్తారు. వాటిని విభిన్నంగా పిలుస్తారు: అజూర్ ఫంక్షన్‌లు, AWS లాంబ్డా, Google క్లౌడ్ ఫంక్షన్‌లు, IBM క్లౌడ్ ఫంక్షన్‌లు.

మేము ప్రొవైడర్ కన్సోల్ లేదా వ్యక్తిగత ఖాతా ద్వారా సేవను ఉపయోగిస్తాము. ఫంక్షన్ కోడ్‌ని క్రింది మార్గాలలో ఒకదానిలో డౌన్‌లోడ్ చేసుకోవచ్చు:

  • వెబ్ కన్సోల్ ద్వారా అంతర్నిర్మిత సంపాదకులలో కోడ్ వ్రాయండి,
  • కోడ్‌తో ఆర్కైవ్‌ను డౌన్‌లోడ్ చేయండి,
  • పబ్లిక్ లేదా ప్రైవేట్ git రిపోజిటరీలతో పని చేయండి.

ఇక్కడ మేము ఫంక్షన్‌ని పిలిచే ఈవెంట్‌లను సెటప్ చేస్తాము. ఈవెంట్‌ల సెట్‌లు వేర్వేరు ప్రొవైడర్‌లకు భిన్నంగా ఉండవచ్చు.

రాక్‌లపై సర్వర్‌లెస్

ప్రొవైడర్ దాని ఇన్‌ఫ్రాస్ట్రక్చర్‌పై ఫంక్షన్‌ను సర్వీస్ (FaaS) సిస్టమ్‌గా నిర్మించి, ఆటోమేట్ చేసారు:

  1. ఫంక్షన్ కోడ్ ప్రొవైడర్ వైపు నిల్వలో ముగుస్తుంది.
  2. ఈవెంట్ సంభవించినప్పుడు, సర్వర్‌లో సిద్ధం చేయబడిన వాతావరణంతో కంటైనర్‌లు స్వయంచాలకంగా అమలు చేయబడతాయి. ప్రతి ఫంక్షన్ ఉదాహరణకి దాని స్వంత వివిక్త కంటైనర్ ఉంటుంది.
  3. నిల్వ నుండి, ఫంక్షన్ కంటైనర్‌కు పంపబడుతుంది, లెక్కించబడుతుంది మరియు ఫలితాన్ని అందిస్తుంది.
  4. సమాంతర సంఘటనల సంఖ్య పెరుగుతోంది - కంటైనర్ల సంఖ్య పెరుగుతోంది. సిస్టమ్ స్వయంచాలకంగా స్కేల్ అవుతుంది. వినియోగదారులు ఫంక్షన్‌ను యాక్సెస్ చేయకపోతే, అది నిష్క్రియంగా ఉంటుంది.
  5. ప్రొవైడర్ కంటైనర్‌ల కోసం నిష్క్రియ సమయాన్ని సెట్ చేస్తుంది - ఈ సమయంలో ఫంక్షన్‌లు కంటైనర్‌లో కనిపించకపోతే, అది నాశనం అవుతుంది.

ఈ విధంగా మేము బాక్స్ నుండి సర్వర్‌లెస్‌ను పొందుతాము. మేము చెల్లింపు-యాజ్-యు-గో మోడల్‌ని ఉపయోగించి సేవ కోసం చెల్లిస్తాము మరియు ఉపయోగించిన ఆ ఫంక్షన్‌లకు మాత్రమే మరియు అవి ఉపయోగించిన సమయానికి మాత్రమే.

సేవకు డెవలపర్‌లను పరిచయం చేయడానికి, ప్రొవైడర్లు 12 నెలల వరకు ఉచిత పరీక్షను అందిస్తారు, అయితే మొత్తం గణన సమయం, నెలకు అభ్యర్థనల సంఖ్య, నిధులు లేదా విద్యుత్ వినియోగాన్ని పరిమితం చేస్తారు.

ప్రొవైడర్‌తో పనిచేయడం యొక్క ప్రధాన ప్రయోజనం ఏమిటంటే, మౌలిక సదుపాయాల (సర్వర్‌లు, వర్చువల్ మెషీన్‌లు, కంటైనర్‌లు) గురించి చింతించకుండా ఉండగల సామర్థ్యం. దాని భాగానికి, ప్రొవైడర్ దాని స్వంత అభివృద్ధిని ఉపయోగించి మరియు ఓపెన్ సోర్స్ సాధనాలను ఉపయోగించి FaaSని అమలు చేయవచ్చు. వాటి గురించి మరింత మాట్లాడుకుందాం.

ఓపెన్ సోర్స్ వైపు నుండి

ఓపెన్ సోర్స్ సంఘం గత రెండు సంవత్సరాలుగా సర్వర్‌లెస్ సాధనాలపై చురుకుగా పని చేస్తోంది. అతిపెద్ద మార్కెట్ ప్లేయర్‌లు కూడా సర్వర్‌లెస్ ప్లాట్‌ఫారమ్‌ల అభివృద్ధికి దోహదం చేస్తాయి:

  • గూగుల్ డెవలపర్‌లకు దాని ఓపెన్ సోర్స్ సాధనాన్ని అందిస్తుంది - నేటివ్. IBM, RedHat, Pivotal మరియు SAP దాని అభివృద్ధిలో పాల్గొన్నాయి;
  • IBM సర్వర్‌లెస్ ప్లాట్‌ఫారమ్‌లో పనిచేశారు ఓపెన్ విస్క్, ఇది అపాచీ ఫౌండేషన్ యొక్క ప్రాజెక్ట్‌గా మారింది;
  • మైక్రోసాఫ్ట్ ప్లాట్‌ఫారమ్ కోడ్‌ను పాక్షికంగా తెరిచింది అజూర్ విధులు.

సర్వర్‌లెస్ ఫ్రేమ్‌వర్క్‌ల దిశలో కూడా అభివృద్ధి జరుగుతోంది. కుబేరుడు и విచ్ఛిత్తి ముందుగా సిద్ధం చేసిన కుబెర్నెటెస్ క్లస్టర్‌ల లోపల మోహరించారు, OpenFaaS కుబెర్నెటెస్ మరియు డాకర్ స్వార్మ్‌తో కలిసి పని చేస్తుంది. ఫ్రేమ్‌వర్క్ ఒక రకమైన కంట్రోలర్‌గా పనిచేస్తుంది - అభ్యర్థనపై, ఇది క్లస్టర్ లోపల రన్‌టైమ్ వాతావరణాన్ని సిద్ధం చేస్తుంది, ఆపై అక్కడ ఒక ఫంక్షన్‌ను ప్రారంభిస్తుంది.

ఫ్రేమ్‌వర్క్‌లు మీ అవసరాలకు అనుగుణంగా సాధనాన్ని కాన్ఫిగర్ చేయడానికి స్థలాన్ని వదిలివేస్తాయి. కాబట్టి, Kubelessలో, డెవలపర్ ఫంక్షన్ ఎగ్జిక్యూషన్ గడువును కాన్ఫిగర్ చేయవచ్చు (డిఫాల్ట్ విలువ 180 సెకన్లు). విచ్ఛిత్తి, కోల్డ్ స్టార్ట్ సమస్యను పరిష్కరించే ప్రయత్నంలో, కొన్ని కంటైనర్‌లను ఎల్లవేళలా రన్నింగ్‌లో ఉంచాలని సూచిస్తుంది (అయితే ఇది రిసోర్స్ డౌన్‌టైమ్ ఖర్చులను కలిగి ఉంటుంది). మరియు OpenFaaS ప్రతి రుచి మరియు రంగు కోసం ట్రిగ్గర్‌ల సమితిని అందిస్తుంది: HTTP, Kafka, Redis, MQTT, Cron, AWS SQS, NATలు మరియు ఇతరులు.

ప్రారంభించడానికి సూచనలను ఫ్రేమ్‌వర్క్‌ల అధికారిక డాక్యుమెంటేషన్‌లో చూడవచ్చు. వారితో పని చేయడానికి ప్రొవైడర్‌తో పనిచేసేటప్పుడు కంటే కొంచెం ఎక్కువ నైపుణ్యాలను కలిగి ఉండటం అవసరం - ఇది CLI ద్వారా కుబెర్నెట్స్ క్లస్టర్‌ను ప్రారంభించగల సామర్థ్యం. గరిష్టంగా, ఇతర ఓపెన్ సోర్స్ సాధనాలను చేర్చండి (ఉదాహరణకు, కాఫ్కా క్యూ మేనేజర్).

మేము సర్వర్‌లెస్‌తో ఎలా పని చేస్తున్నామో - ప్రొవైడర్ ద్వారా లేదా ఓపెన్ సోర్స్ ఉపయోగించి, మేము సర్వర్‌లెస్ విధానం యొక్క అనేక ప్రయోజనాలు మరియు అప్రయోజనాలను అందుకుంటాము.

ప్రయోజనాలు మరియు అప్రయోజనాల కోణం నుండి

సర్వర్‌లెస్ కంటైనర్ ఇన్‌ఫ్రాస్ట్రక్చర్ మరియు మైక్రోసర్వీస్ విధానం యొక్క ఆలోచనలను అభివృద్ధి చేస్తుంది, దీనిలో బృందాలు ఒక ప్లాట్‌ఫారమ్‌తో ముడిపడి ఉండకుండా బహుభాషా మోడ్‌లో పని చేయవచ్చు. వ్యవస్థను నిర్మించడం సరళీకృతం చేయబడింది మరియు లోపాలను సరిదిద్దడం సులభం. మైక్రోసర్వీస్ ఆర్కిటెక్చర్ ఒక మోనోలిథిక్ అప్లికేషన్ విషయంలో కంటే చాలా వేగంగా సిస్టమ్‌కు కొత్త కార్యాచరణను జోడించడానికి మిమ్మల్ని అనుమతిస్తుంది.

సర్వర్‌లెస్ అభివృద్ధి సమయాన్ని మరింత తగ్గిస్తుంది, డెవలపర్ అప్లికేషన్ యొక్క వ్యాపార లాజిక్ మరియు కోడింగ్‌పై మాత్రమే దృష్టి పెట్టడానికి అనుమతిస్తుంది. ఫలితంగా, అభివృద్ధి కోసం మార్కెట్ సమయం తగ్గుతుంది.

బోనస్‌గా, మేము లోడ్ కోసం ఆటోమేటిక్ స్కేలింగ్‌ని పొందుతాము, మరియు మేము ఉపయోగించిన వనరులకు మాత్రమే చెల్లిస్తాము మరియు అవి ఉపయోగించబడిన సమయంలో మాత్రమే.

ఏదైనా సాంకేతికత వలె, సర్వర్‌లెస్‌కు ప్రతికూలతలు ఉన్నాయి.

ఉదాహరణకు, అటువంటి ప్రతికూలత చల్లని ప్రారంభ సమయం కావచ్చు (జావాస్క్రిప్ట్, పైథాన్, గో, జావా, రూబీ వంటి భాషలకు సగటున 1 సెకను వరకు).

ఒక వైపు, వాస్తవానికి, కోల్డ్ స్టార్ట్ టైమ్ అనేక వేరియబుల్స్‌పై ఆధారపడి ఉంటుంది: ఫంక్షన్ వ్రాయబడిన భాష, లైబ్రరీల సంఖ్య, కోడ్ మొత్తం, అదనపు వనరులతో కమ్యూనికేషన్ (అదే డేటాబేస్‌లు లేదా ప్రామాణీకరణ సర్వర్లు). డెవలపర్ ఈ వేరియబుల్స్‌ని నియంత్రిస్తున్నందున, అతను ప్రారంభ సమయాన్ని తగ్గించగలడు. కానీ మరోవైపు, డెవలపర్ కంటైనర్ యొక్క ప్రారంభ సమయాన్ని నియంత్రించలేరు - ఇది అన్ని ప్రొవైడర్‌పై ఆధారపడి ఉంటుంది.

మునుపటి ఈవెంట్ ద్వారా ప్రారంభించబడిన కంటైనర్‌ను ఫంక్షన్ మళ్లీ ఉపయోగించినప్పుడు కోల్డ్ స్టార్ట్ వెచ్చని ప్రారంభం అవుతుంది. ఈ పరిస్థితి మూడు సందర్భాలలో తలెత్తుతుంది:

  • క్లయింట్లు తరచుగా సేవను ఉపయోగిస్తుంటే మరియు ఫంక్షన్‌కు కాల్‌ల సంఖ్య పెరుగుతుంది;
  • ప్రొవైడర్, ప్లాట్‌ఫారమ్ లేదా ఫ్రేమ్‌వర్క్ కొన్ని కంటైనర్‌లను అన్ని సమయాలలో అమలు చేయడానికి మిమ్మల్ని అనుమతిస్తే;
  • డెవలపర్ టైమర్‌లో ఫంక్షన్‌లను అమలు చేస్తే (ప్రతి 3 నిమిషాలకు చెప్పండి).

అనేక అనువర్తనాలకు, చల్లని ప్రారంభం సమస్య కాదు. ఇక్కడ మీరు సేవ యొక్క రకాన్ని మరియు విధులను రూపొందించాలి. సెకను ప్రారంభం ఆలస్యం అనేది వ్యాపార అనువర్తనానికి ఎల్లప్పుడూ కీలకం కాదు, కానీ వైద్య సేవలకు ఇది కీలకం కావచ్చు. ఈ సందర్భంలో, సర్వర్‌లెస్ విధానం బహుశా ఇకపై అనుకూలంగా ఉండదు.

సర్వర్‌లెస్ యొక్క తదుపరి ప్రతికూలత ఫంక్షన్ యొక్క స్వల్ప జీవితకాలం (ఫంక్షన్ తప్పనిసరిగా అమలు చేయబడాలి).

కానీ, మీరు దీర్ఘకాలిక పనులతో పని చేయవలసి వస్తే, మీరు హైబ్రిడ్ నిర్మాణాన్ని ఉపయోగించవచ్చు - సర్వర్‌లెస్‌ను మరొక సాంకేతికతతో కలపండి.

సర్వర్‌లెస్ స్కీమ్‌ని ఉపయోగించి అన్ని సిస్టమ్‌లు పని చేయవు.

కొన్ని అప్లికేషన్‌లు ఇప్పటికీ అమలు సమయంలో డేటా మరియు స్థితిని నిల్వ చేస్తాయి. కొన్ని నిర్మాణాలు ఏకశిలాగా ఉంటాయి మరియు కొన్ని లక్షణాలు దీర్ఘకాలం ఉంటాయి. అయితే (క్లౌడ్ టెక్నాలజీలు మరియు కంటైనర్‌ల వంటివి), సర్వర్‌లెస్ అనేది గొప్ప భవిష్యత్తుతో కూడిన సాంకేతికత.

ఈ పంథాలో, నేను సర్వర్‌లెస్ విధానాన్ని ఉపయోగించే సమస్యకు సజావుగా వెళ్లాలనుకుంటున్నాను.

అప్లికేషన్ వైపు నుండి

2018కి, సర్వర్‌లెస్ వినియోగం శాతం ఒకటిన్నర రెట్లు పెరిగింది. తమ సేవలలో ఇప్పటికే సాంకేతికతను అమలు చేసిన కంపెనీలలో ట్విట్టర్, పేపాల్, నెట్‌ఫ్లిక్స్, టి-మొబైల్, కోకాకోలా వంటి మార్కెట్ దిగ్గజాలు ఉన్నాయి. అదే సమయంలో, సర్వర్‌లెస్ సర్వరోగ నివారిణి కాదని, నిర్దిష్ట శ్రేణి సమస్యలను పరిష్కరించడానికి ఒక సాధనం అని మీరు అర్థం చేసుకోవాలి:

  • వనరుల పనికిరాని సమయాన్ని తగ్గించండి. తక్కువ కాల్‌లు ఉన్న సేవల కోసం నిరంతరం వర్చువల్ మెషీన్‌ను ఉంచాల్సిన అవసరం లేదు.
  • ఫ్లైలో డేటాను ప్రాసెస్ చేయండి. చిత్రాలను కుదించండి, నేపథ్యాలను కత్తిరించండి, వీడియో ఎన్‌కోడింగ్‌ని మార్చండి, IoT సెన్సార్‌లతో పని చేయండి, గణిత కార్యకలాపాలను నిర్వహించండి.
  • "జిగురు" ఇతర సేవలు కలిసి. అంతర్గత ప్రోగ్రామ్‌లతో Git రిపోజిటరీ, జిరా మరియు క్యాలెండర్‌తో స్లాక్‌లో చాట్ బాట్.
  • లోడ్ బ్యాలెన్స్ చేయండి. ఇక్కడ నిశితంగా పరిశీలిద్దాం.

50 మందిని ఆకర్షించే సేవ ఉందనుకుందాం. దాని కింద బలహీనమైన హార్డ్‌వేర్‌తో కూడిన వర్చువల్ మెషీన్ ఉంది. కాలానుగుణంగా, సేవపై లోడ్ గణనీయంగా పెరుగుతుంది. అప్పుడు బలహీనమైన హార్డ్వేర్ భరించలేకపోతుంది.

మీరు సిస్టమ్‌లో బ్యాలెన్సర్‌ని చేర్చవచ్చు, అది మూడు వర్చువల్ మెషీన్‌లపై లోడ్‌ను పంపిణీ చేస్తుంది. ఈ దశలో, మేము లోడ్‌ను ఖచ్చితంగా అంచనా వేయలేము, కాబట్టి మేము నిర్దిష్ట మొత్తంలో వనరులను "రిజర్వ్‌లో" ఉంచుతాము. మరియు మేము పనికిరాని సమయానికి అధికంగా చెల్లిస్తాము.

అటువంటి పరిస్థితిలో, మేము హైబ్రిడ్ విధానం ద్వారా సిస్టమ్‌ను ఆప్టిమైజ్ చేయవచ్చు: మేము లోడ్ బ్యాలెన్సర్ వెనుక ఒక వర్చువల్ మెషీన్‌ను వదిలివేసి, ఫంక్షన్‌లతో సర్వర్‌లెస్ ఎండ్‌పాయింట్‌కి లింక్‌ను ఉంచుతాము. లోడ్ థ్రెషోల్డ్‌ను మించి ఉంటే, బ్యాలెన్సర్ అభ్యర్థన ప్రాసెసింగ్‌లో కొంత భాగాన్ని తీసుకునే ఫంక్షన్ ఇన్‌స్టాన్స్‌లను ప్రారంభిస్తుంది.

రాక్‌లపై సర్వర్‌లెస్
అందువల్ల, పెద్ద సంఖ్యలో అభ్యర్థనలను చాలా తరచుగా కాకుండా తీవ్రంగా ప్రాసెస్ చేయడానికి అవసరమైన చోట సర్వర్‌లెస్‌ను ఉపయోగించవచ్చు. ఈ సందర్భంలో, వర్చువల్ మెషీన్ లేదా సర్వర్‌ను ఎల్లవేళలా నిర్వహించడం కంటే 15 నిమిషాల పాటు అనేక విధులను అమలు చేయడం మరింత లాభదాయకంగా ఉంటుంది.

సర్వర్‌లెస్ కంప్యూటింగ్ యొక్క అన్ని ప్రయోజనాలతో, అమలు చేయడానికి ముందు, మీరు మొదట అప్లికేషన్ లాజిక్‌ను అంచనా వేయాలి మరియు ఒక నిర్దిష్ట సందర్భంలో సర్వర్‌లెస్ ఏ సమస్యలను పరిష్కరించగలదో అర్థం చేసుకోవాలి.

సర్వర్‌లెస్ మరియు సెలెక్టెల్

Selectel వద్ద మేము ఇప్పటికే ఉన్నాము కుబెర్నెట్స్‌తో సరళీకృత పని మా నియంత్రణ ప్యానెల్ ద్వారా. ఇప్పుడు మేము మా స్వంత FaaS ప్లాట్‌ఫారమ్‌ని నిర్మిస్తున్నాము. డెవలపర్‌లు అనుకూలమైన, సౌకర్యవంతమైన ఇంటర్‌ఫేస్ ద్వారా సర్వర్‌లెస్‌ని ఉపయోగించి వారి సమస్యలను పరిష్కరించగలరని మేము కోరుకుంటున్నాము.

మీకు ఆదర్శవంతమైన FaaS ప్లాట్‌ఫారమ్ ఎలా ఉండాలి మరియు మీరు మీ ప్రాజెక్ట్‌లలో సర్వర్‌లెస్‌ని ఎలా ఉపయోగించాలనుకుంటున్నారు అనే దానిపై మీకు ఆలోచనలు ఉంటే, వాటిని వ్యాఖ్యలలో భాగస్వామ్యం చేయండి. ప్లాట్‌ఫారమ్‌ను అభివృద్ధి చేసేటప్పుడు మేము మీ కోరికలను పరిగణనలోకి తీసుకుంటాము.
 
వ్యాసంలో ఉపయోగించిన పదార్థాలు:

మూలం: www.habr.com

ఒక వ్యాఖ్యను జోడించండి