|
Tech ලෝකේ 'Pipelines'? 🤯 මොකක්ද මේක? සරලව ඉගෙන ගමු!

Tech ලෝකේ 'Pipelines'? 🤯 මොකක්ද මේක? සරලව ඉගෙන ගමු!

devops technology Software Development Data Science
By Rasanjana 2025-04-10 20:06:41

හරි මචං! "Pipeline" කියන වචනේ Tech කතා වලදී, විශේෂයෙන්ම DevOps, Software Development, Data Science වගේ දේවල් වලදී නිතරම ඇහෙනවා නේද? 🤔 සමහරවිට මේක ටිකක් සංකීර්ණ දෙයක් වගේ හිතෙන්න පුළුවන්.

හැබැයි බය වෙන්න එපා! 😎 අද අපි මේ "Pipeline" කියන්නේ මොකක්ද කියලා සරලවම, උදාහරණත් එක්ක, "ගම්මට" තේරුම් ගමු! Let's break it down! 👇


"Pipeline" කිව්වම ඔයාට ඉස්සෙල්ලම මතක් වෙන්නේ මොකක්ද? සමහරවිට වතුර ගෙනියන ලොකු බටයක් (Water Pipeline 💧) වෙන්න පුළුවන්, නැත්නම් තෙල් ගෙනියන බටයක් වෙන්න පුළුවන්.

Tech ලෝකේ "Pipeline" කියන්නෙත් අන්න ඒ වගේ Idea එකක්ම තමයි! ඒ කියන්නේ, යම්කිසි කාර්යයක් (Task) එක දිගට සම්බන්ධ වුන පියවර (Steps) හෝ අදියර (Stages) මාලාවක් හරහා සම්පූර්ණ කරන ක්‍රමයක්. වැදගත්ම දේ තමයි, එක පියවරක ප්‍රතිඵලය (Output) ඊලඟ පියවරේ ආදානය (Input) වෙන එක. ➡️➡️➡️


හිතන්නකෝ කර්මාන්තශාලාවක කාර් එකක් හදන Assembly Line එකක් ගැන. 🏭🚗

  1. Stage 1: කාර් එකේ Body එක (Chassis) හදනවා.
  2. Stage 2: ඒ Body එකට Engine එක සවි කරනවා. (Stage 1 Output -> Stage 2 Input)
  3. Stage 3: Engine එක සවි කරපු Body එකට Paint ගානවා. (Stage 2 Output -> Stage 3 Input)
  4. Stage 4: Paint කරපු Body එකට රෝද සවි කරනවා. (Stage 3 Output -> Stage 4 Input)
  5. Stage 5: අන්තිමට Quality Check එකක් කරනවා. (Stage 4 Output -> Stage 5 Input)

ඔන්න ඔය වගේ, එක වැඩක් ඉවර වෙලා, ඒකේ ප්‍රතිඵලය අරගෙන ඊලඟ වැඩේ පටන් ගන්න, එක දිගට සම්බන්ධ වුන Process එකකට තමයි අපි සරලව Pipeline එකක් කියන්නේ.


Tech ලෝකේ Pipelines පාවිච්චි වෙන්නේ කොහෙද? 🤔

Tech වලදී මේ Pipeline කියන Concept එක ගොඩක් තැන්වල පාවිච්චි වෙනවා. ප්‍රධානම තැන් දෙකක් තමයි:


1. Software Development Pipelines (CI/CD Pipelines) 💻🚀

Software එකක් හදනකොට, Code එක ලියන තැන ඉඳන්, ඒක පාවිච්චි කරන අයට (Users) ලැබෙනකම් වෙන Process එක Automate කරන්න පාවිච්චි කරන Pipelines තමයි මේ. මේවාට අපි CI/CD Pipelines කියලත් කියනවා (Continuous Integration / Continuous Delivery or Deployment).

සාමාන්‍ය CI/CD Pipeline එකක Stages මෙහෙම වෙන්න පුළුවන්:

  • Commit/Source Stage: Developer කෙනෙක් Code එක ලියලා, ඒක Code Repository එකකට (Git වගේ) දානවා. ✍️💾
  • Build Stage: ඒ Code එක අරගෙන, Computer එකට තේරෙන විදියට Compile කරලා, දුවන්න පුළුවන් Software එකක් හදනවා. 🏗️
  • Test Stage: හදපු Software එකේ වැරදි (Bugs 🐞) තියෙනවද කියලා බලන්න Automated Tests (Unit Tests, Integration Tests etc.) ගොඩක් Run කරනවා. 🧪
  • Deploy Stage: Tests ඔක්කොම Pass වුනොත්, Software එක Server එකකට හරි, Users ලට Access කරන්න පුළුවන් තැනකට හරි Deploy (ස්ථාපනය) කරනවා. 🚀➡️🌍

මේ ඔක්කොම ස්වයංක්‍රීයව (Automatically) වෙන නිසා, අලුත් Software version එකක් ඉක්මනට, අඩු වැරදි එක්ක Release කරන්න පුළුවන් වෙනවා! 💪


2. Data Pipelines 📊💾

Data එක්ක වැඩ කරනකොට (Data Science, Data Engineering වලදී), එක එක තැන් වලින් Data එකතු කරලා, ඒක පිරිසිදු කරලා (Clean), අවශ්‍ය විදියට වෙනස් කරලා (Transform), අන්තිමට කොහේ හරි Store කරන (Load) Process එකටත් Pipelines පාවිච්චි කරනවා. මේවට ETL (Extract, Transform, Load) Pipelines කියලත් කියනවා.


Data Pipeline එකක Stages මෙහෙම වෙන්න පුළුවන්:

  • Extract Stage: එක එක Sources වලින් (Databases, Files, APIs වලින්) Data ටික එකතු කරනවා. 📥
  • Transform Stage: එකතු කරගත්ත Data වල තියෙන වැරදි හදනවා, ඕන නැති දේවල් අයින් කරනවා, අවශ්‍ය Format එකට හදනවා, එක එක Data Sources වලින් ආපු Data එකතු කරනවා වගේ දේවල් කරනවා. ✨🔧
  • Load Stage: හදාගත්ත (Transformed) Data ටික Data Warehouse එකකට හරි, Database එකකට හරි, Analysis කරන්න පුළුවන් වෙන තැනකට හරි Load කරනවා. 💾📈

මේකත් Automate කරාම, Data එක්ක වැඩ කරන එක ගොඩක් ලේසි, වේගවත් සහ නිවැරදි වෙනවා. ✅


Pipelines පාවිච්චි කරන්නේ ඇයි? වාසි මොනවද? 👍

Tech වල Pipelines පාවිච්චි කරන්න ප්‍රධාන හේතු කීපයක් තියෙනවා:

  • Automation (ස්වයංක්‍රීය වීම) 🤖: ගොඩක් Steps Automate කරන්න පුළුවන් නිසා, අතින් කරන්න ඕන වැඩ (Manual Work) අඩු වෙනවා.
  • Speed & Efficiency (වේගවත් බව සහ කාර්යක්ෂමතාව) 💨: Process එක වේගවත් වෙනවා. එක Stage එකක් වැඩ කරන ගමන් ඊලඟ Stage එකට ලෑස්ති වෙන්න පුළුවන්.
  • Consistency & Reliability (එකම විදියට වීම සහ විශ්වාසනීයත්වය) ✅: හැම පාරම එකම Steps ටික, එකම විදියට වෙන නිසා Process එක ගොඩක් Reliable වෙනවා. ප්‍රතිඵල Consistent වෙනවා.
  • Fewer Errors (වැරදීම් අඩු වීම) 👇: Manual වැඩ අඩු නිසා, මිනිස්සු අතින් වෙන වැරදීම් (Human Errors) ගොඩක් අඩු වෙනවා.
  • Easier Monitoring (නිරීක්ෂණය පහසු වීම) 👀: Pipeline එකේ කොතන හරි අවුලක් ගියොත්, ඒ Stage එක මොකක්ද කියලා ලේසියෙන් හොයාගන්න පුළුවන්.


Key Takeaway! (මතක තියාගන්න දේ!) 📌

Tech වල "Pipeline" එකක් කියන්නේ, යම්කිසි කාර්යයක් (Software Build එකක්, Data Process එකක් වගේ) සම්පූර්ණ කරන්න, එකකට එකක් සම්බන්ධ, බොහෝවිට ස්වයංක්‍රීයව ක්‍රියාත්මක වෙන පියවර මාලාවක්. හරියට Assembly Line එකක් වගේ, එකක Output එක ඊලඟ එකේ Input එක වෙනවා. ➡️⚙️➡️

ඔන්න එහෙනම් මචං, "Pipeline" කියන Concept එක ගැන සරල පැහැදිලි කිරීමක්. 😊 මේක මුලින් ටිකක් අමුතු වචනයක් වගේ පෙනුනට, Idea එක හරිම සරලයි සහ පට්ට ප්‍රයෝජනවත්! Software Development සහ Data ලෝකේදී මේක නැතුවම බැරි දෙයක් වෙලා.

ඔයාට මේ ගැන තව ප්‍රශ්න තියෙනවනම්, තේරුම් නැති තැනක් තියෙනවනම්, Comment එකක් දාන්න! 👇 Let's learn together! 👋


Rasanjana

Rasanjana

Member since 2025-04-09 13:55:06

Comments

Please login to post a comment.

Rasanjana
Rasanjana 2025-04-11 07:54:50

leave a comment