എന്റെ ടെറാഫോർം എഴുതാൻ ഞാൻ AI- നെ ആവശ്യപ്പെട്ടു. യാഥാര് ത്ഥ്യ പരിശോധന
ശരിയായി കാണപ്പെടുന്നു, നന്നായി പ്രവർത്തിക്കുന്നു, നിങ്ങളുടെ ഡാറ്റാബേസ് ലോകത്തിനു തുറക്കുന്നു. ആ ഐ. ഐ. ക്ക് കിട്ടാത്ത എന്തെല്ലാം വിരലുകൾ.
ശരിയായി കാണപ്പെടുന്നു, നന്നായി പ്രവർത്തിക്കുന്നു, നിങ്ങളുടെ ഡാറ്റാബേസ് ലോകത്തിനു തുറക്കുന്നു. ആ ഐ. ഐ. ക്ക് കിട്ടാത്ത എന്തെല്ലാം വിരലുകൾ.

അകത്ത് AI എന്റെ DevOps ജോലി എടുക്കുമോ? ഞാൻ മുന്നറിയിപ്പ് നല് കി, ഐ. ഐ. തികഞ്ഞ രൂപം കാണിക്കുന്നതും, പക്ഷേ, വളരെ സൂക്ഷ്മമായി തകർന്നതുമായ ക്രമീകരണങ്ങൾ എഴുതുന്നു. വളരെ തുറന്ന ഒരു അനുമതി. ടെസ്റ്റില് പ്രവർത്തിക്കുന്ന ഒരു ക്രമീകരണം, യഥാർത്ഥ ട്രാഫിക്കില് വീഴും.
അത് പറയാൻ എളുപ്പമാണ്. ഈ പോസ്റ്റ് യഥാർത്ഥത്തിൽ എങ്ങനെയാണെന്ന് കാണിക്കുന്നു, അത് ഉല്പാദനത്തിലേക്ക് പ്രവേശിക്കുന്നത് തടയാൻ ഞാൻ ഉപയോഗിക്കുന്ന വർക്ക്ഫ്ലോയും.
ഒരു സാധാരണ ദിവസം ഒരു AI അസിസ്റ്റന്റിന് ഞാൻ ചോദിക്കുന്ന ഒരു കാര്യം ഇതാ:
"ഒരു ചെറിയ വെബ് ആപ്ലിക്കേഷന് വേണ്ടി ഒരു AWS PostgreSQL ഡാറ്റാബേസിനായി ടെറാഫോർം എഴുതുക, ഒപ്പം ആപ്ലിക്കേഷൻ കണക്ട് ചെയ്യാവുന്ന ഒരു സുരക്ഷാ ഗ്രൂപ്പും".
ചുരുക്കവും യാഥാര് ത്ഥ്യബോധവും, സന്ദര് ശനത്തില് നിന്ന് വളരെ കുറവുള്ളതും. നമ്മളിൽ മിക്കവരും ആ വഴിക്കാണ് കുറിപ്പുകൾ എഴുതുന്നത്.
ഉത്തരം സാധാരണയായി ഒരു വൃത്തിയുള്ള, നന്നായി ഫോർമാറ്റ് ചെയ്ത ടെറാഫോർം ബ്ലോക്കാണ്. ഇത് ഒരു RDS ഇൻസ്റ്റൻസും ഒരു സെക്യൂരിറ്റി ഗ്രൂപ്പും ചില വേരിയബിളുകളും സൃഷ്ടിക്കുന്നു. ആദ്യ ശ്രമത്തിൽ തന്നെ അത് ഫലിക്കും. പക്ഷെ പലപ്പോഴും ഈ പ്രശ്നങ്ങളില് ചിലത് ഉൾപ്പെടുന്നു:
resource "aws_security_group" "db" {
name = "db-sg"
ingress {
from_port = 5432
to_port = 5432
protocol = "tcp"
cidr_blocks = ["0.0.0.0/0"] # anyone on the internet
}
}
resource "aws_db_instance" "main" {
engine = "postgres"
instance_class = "db.t3.micro"
allocated_storage = 20
username = "admin"
password = "ChangeMe123!" # hardcoded secret
publicly_accessible = true
skip_final_snapshot = true
}
ഇവിടെ ഒരു സിന്റാക്സ് പിശകും ഇല്ല. terraform plan സന്തോഷവതിയാണ്. എന്നിട്ടും:
0.0.0.0/0 5432 തുറമുഖത്ത്, കൂടാതെ publicly_accessible = true. ആപ്ലിക്കേഷന് ആക്സസ് വേണം, ലോകത്തിന് വേണ്ടിയല്ല.storage_encrypted കാണുന്നില്ല).skip_final_snapshot = true അതായത് റിസോഴ്സ് ഇല്ലാതാക്കുന്നത് നിങ്ങളുടെ ഡാറ്റ സ്നാപ്പ്ഷോട്ട് ഇല്ലാതെ ഇല്ലാതാക്കുന്നു.terraform destroy അത് പോയി.സത്യസന്ധമായി പറഞ്ഞാൽ, നിങ്ങൾ AI- യോട് ചോദിച്ചാൽ "ഇത് സുരക്ഷിതമാണോ? ", അത് സാധാരണയായി ഈ പ്രശ്നങ്ങളിൽ മിക്കതും കണ്ടെത്തും. പക്ഷെ അതാണു കാര്യം. ആദ്യം അത് നിങ്ങൾക്ക് സുരക്ഷിതമല്ലാത്ത ഒരു പതിപ്പ് തന്നു, ആത്മവിശ്വാസത്തോടെ.
ഒരു ട്യൂട്ടോറിയൽ പോലെ തന്നെ AI Terraform എഴുതുന്നു: ആദ്യ ശ്രമത്തിൽ തന്നെ പ്രവർത്തിക്കാൻ ഒപ്റ്റിമൈസ് ചെയ്തു, ഒരു ഓഡിറ്റിന് ശേഷമല്ല.
ഇവിടെയാണ് വിരസമായ ഉപകരണങ്ങള് ക്ക് അവരുടെ സ്ഥാനം ലഭിക്കുന്നത്. ഞാന് ഈ കോഡ് ഓടിച്ചു.
terraform validate ഒപ്പം terraform fmt: സിന്റാക്സും ഫോർമാറ്റിംഗും. ആവശ്യമായ, പക്ഷേ മുകളിലുള്ള സുരക്ഷാ പ്രശ്നങ്ങൾ ഒന്നും തന്നെ അവർ കണ്ടില്ല.നിങ്ങളുടെ കമ്പനിയുടെ ആവശ്യങ്ങൾക്ക് ഡിസൈന് അനുയോജ്യമാണോ എന്നതല്ല അവർ മനസ്സിലാക്കുന്നത്. പകരം ഇത് ഓറോറയാകണോ? വില് db.t3.micro യഥാര് ത്ഥ ട്രാഫിക് കൈകാര്യം ചെയ്യാന് ? അത് ഈ വിപിസിയിൽ പെടുന്നുണ്ടോ? അതിന് ഇപ്പോഴും സന്ദര് ശനം അറിയുന്ന ഒരു മനുഷ്യനെ വേണം.
terraform test അല്ലെങ്കിൽ ഒരിക്കലും ലംഘിക്കപ്പെടാത്ത നിയമങ്ങളുടെ നയപരമായ പരീക്ഷണം.ഇതിലും നല്ലത്: നിങ്ങളുടെ നിലവിലുള്ള, അവലോകനം ചെയ്ത മൊഡ്യൂളുകളിലേക്ക് AI നെ നയിക്കുക, അത് അസംസ്കൃത വിഭവങ്ങൾ എഴുതാൻ അനുവദിക്കുന്നതിനുപകരം. "ഞങ്ങളുടെ rds-postgres "എനിക്ക് ഒരു ഡാറ്റാബേസ് എഴുതുക" എന്നതിനേക്കാൾ വളരെ സുരക്ഷിത ഫലങ്ങൾ നൽകുന്നു.
അതെ, അതെ. ഇത് ബോയിലർപ്ലേറ്റിനുള്ള വലിയ സമയം ലാഭിക്കുന്നു, അപരിചിതമായ കോഡ് പുനർനിർമിക്കുകയും വിശദീകരിക്കുകയും ചെയ്യുന്നു. അതിന്റെ ഔട്ട്പുട്ട് ഒരിക്കലും പൂർത്തിയായി കണക്കാക്കരുത്. പുതിയ സഹപ്രവർത്തകന്റെ ആദ്യ പിൻവലിക്കൽ അപേക്ഷ പോലെ തന്നെ അത് പാറ്റേണിലൂടെ അയച്ചു കൊടുക്കുക, കാരണം അത് ഏകദേശം അങ്ങനെ തന്നെ.
എന്റെ അഭിപ്രായം: ഐ. ഐ. ഒരു മികച്ച ആദ്യ ഡ്രാഫ്റ്റ് എഴുത്തുകാരനാണ്. നിങ്ങളുടെ ലിന്ററുകളും നയങ്ങളും അവലോകനവും എഡിറ്റർമാരാണ്, അടിസ്ഥാന സൌകര്യങ്ങളിൽ, എഡിറ്ററാണ് ഏറ്റവും പ്രധാനം.
ഡെസ്ലി