𝗖𝗹𝗼𝘂𝗱 𝗔𝗿𝗰𝗵𝗶𝘁𝗲𝗰𝘁𝘂𝗿𝗲 𝗮𝗻𝗱 𝗦𝗲𝗰𝘂𝗿𝗶𝘁𝘆: 𝗧𝗵𝗲 𝗡𝗲𝘅𝘁 𝗟𝗲𝘃𝗲𝗹 𝗳𝗼𝗿 𝗗𝗲𝘃𝗲𝗹𝗼𝗽𝗲𝗿𝘀
உங்கள் வெப் அப்ளிகேஷன் உங்கள் லோக்கல் மெஷினில் இயங்குகிறது. வேலை முடிந்துவிட்டது என்று நீங்கள் நினைக்கலாம். ஆனால் அது இல்லை.
உங்கள் ஆப் எங்கு இயங்க வேண்டும் என்பதை நீங்கள் முடிவு செய்ய வேண்டும். அதை எவ்வாறு பாதுகாப்பது என்பதையும் நீங்கள் முடிவு செய்ய வேண்டும். ஆயிரக்கணக்கான மக்கள் ஒரே நேரத்தில் அதைப் பயன்படுத்தும்போது என்ன நடக்கும் என்பதையும் நீங்கள் முடிவு செய்ய வேண்டும்.
கிளவுடிற்கு மாறுவது என்பது வெறும் கோடை (code) அப்லோட் செய்வது மட்டுமல்ல. நீங்கள் ஆர்க்கிடெக்சர் மற்றும் பாதுகாப்பைப் புரிந்துகொள்ள வேண்டும்.
டெவலப்பர்களுக்கு PaaS (Platform as a Service) ஒரு சிறந்த தொடக்கப் புள்ளியாகும். PaaS மூலம், கிளவுட் வழங்குநர் (cloud provider) சர்வர்கள், இயங்குதளங்கள் (operating systems) மற்றும் நெட்வொர்க்கிங் ஆகியவற்றை நிர்வகிக்கிறார். நீங்கள் உங்கள் கோட் மற்றும் பயனர் அனுபவத்தில் (user experience) கவனம் செலுத்தலாம்.
சிறந்த PaaS விருப்பங்கள்:
• AWS App Runner: கன்டெய்னரைஸ் செய்யப்பட்ட (containerized) வெப் ஆப்ஸ்களுக்கு சிறந்தது. இது டெப்ளாய்மென்ட் மற்றும் ஸ்கேலிங்கை கையாள்கிறது. • Azure App Service: நீங்கள் GitHub Actions அல்லது Azure DevOps போன்ற மைக்ரோசாஃப்ட் கருவிகளைப் பயன்படுத்தினால் இது மிகச்சிறந்தது. • Google Cloud Run: சர்வர்லெஸ் கன்டெய்னர்களுக்கு (serverless containers) சிறந்தது. யாரும் பயன்படுத்தாத போது செலவைக் குறைக்க இது ஸ்கேலிங்-ஐ பூஜ்ஜியத்திற்கு (scale to zero) கொண்டு செல்லும்.
கிளவுட் பாதுகாப்பு என்பது உங்கள் பொறுப்பு. வழங்குநர் உங்களுக்கு கருவிகளை வழங்குகிறார், ஆனால் நீங்கள் அவற்றைச் சரியாகப் பயன்படுத்த வேண்டும்.
இந்த பாதுகாப்பு விதிகளைப் பின்பற்றுங்கள்:
- குறைந்தபட்ச அதிகாரக் கொள்கையைப் (principle of least privilege) பயன்படுத்துங்கள். பயனர்களுக்கும் சேவைகளுக்கும் அவர்களுக்குத் தேவையான அனுமதிகளை மட்டும் வழங்கவும். AWS-இல் IAM, Azure-இல் Microsoft Entra ID அல்லது Google Cloud-இல் Cloud IAM ஆகியவற்றைப் பயன்படுத்தவும்.
- பாஸ்வேர்டுகளை (passwords) ஒருபோதும் ஹார்ட்கோட் (hardcode) செய்யாதீர்கள். உங்கள் கோடில்
const password = "123"என்று பயன்படுத்துவது ஆபத்தானது. - அதற்குப் பதிலாக என்விரான்மென்ட் வேரியபிள்களைப் (environment variables) பயன்படுத்துங்கள். உங்கள் கோடில்
process.env.DB_PASSWORDஎன்பதைப் பயன்படுத்தவும். - உங்கள்
.envகோப்பை எப்போதும்.gitignore-இல் சேர்க்கவும். - உங்கள் உண்மையான ரகசியங்களை (secrets) கிளவுட் வழங்குநர் டேஷ்போர்டில் அமைக்கவும், உங்கள் ரிப்போசிட்டரியில் (repository) அமைக்க வேண்டாம்.
தரவு இறையாண்மை (data sovereignty) பற்றி சிந்தியுங்கள். உங்கள் தரவு எங்குள்ளது மற்றும் அதற்கு எந்தச் சட்டங்கள் பொருந்தும் என்பதை நீங்கள் அறிந்திருக்க வேண்டும். உங்களுக்கு ஐரோப்பிய பயனர்கள் இருந்தால், நீங்கள் GDPR விதிகளைப் பின்பற்ற வேண்டும்.
டிராஃபிக் அதிகரிப்பிற்கு (traffic spikes) தயாராக இருங்கள். ஒரு இன்ஃப்ளூயன்சர் (influencer) உங்கள் லிங்கைப் பகிர்ந்தால், உங்கள் சர்வர் செயலிழக்கக்கூடும். ஸ்கேலிங் மூலம் இதைத் தடுக்கலாம்:
• Vertical Scaling: அதிக CPU அல்லது RAM மூலம் உங்கள் மெஷினை அதிக சக்திவாய்ந்ததாக மாற்றவும். • Horizontal Scaling: உங்கள் ஆப்பின் கூடுதல் இன்ஸ்டன்ஸ்களை (instances) உருவாக்கி, டிராஃபிக்கைப் பரப்ப ஒரு லோட் பேலன்சரைப் (load balancer) பயன்படுத்தவும்.
உங்கள் தளம் எப்போதும் HTTPS பயன்படுத்துவதை உறுதி செய்யவும். இது தகவல் பரிமாற்றத்தை என்க்ரிப்ட் (encrypted) செய்து பாதுகாப்பாக வைத்திருக்கும்.
பயிற்சி செய்வது எப்படி:
- ஒரு எளிய வெப் ஆப்பிற்கான ரிப்போசிட்டரியை (repository) உருவாக்கவும்.
- உங்கள் கோடில் எந்தத் முக்கியமான தரவும் (sensitive data) இல்லை என்பதை உறுதிப்படுத்தவும்.
- அதை டெப்ளாய் செய்ய Vercel அல்லது Netlify ஐப் பயன்படுத்தவும்.
- உங்கள் தளம் HTTPS பயன்படுத்துவதைச் சரிபார்க்கவும்.
Source: https://dev.to/xinlin25/arquitectura-y-seguridad-en-la-nube-el-proximo-nivel-del-desarrollador-1bnd