<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Ștefănescu Liviu</title>
    <description>The latest articles on DEV Community by Ștefănescu Liviu (@liviux).</description>
    <link>https://dev.to/liviux</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F714865%2F842e42bd-e6d3-46eb-962d-c53482896672.png</url>
      <title>DEV Community: Ștefănescu Liviu</title>
      <link>https://dev.to/liviux</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/liviux"/>
    <language>en</language>
    <item>
      <title>LoopTroop 0.5.x is complete: the CLI and installer release</title>
      <dc:creator>Ștefănescu Liviu</dc:creator>
      <pubDate>Wed, 26 Aug 2026 09:05:14 +0000</pubDate>
      <link>https://dev.to/liviux/looptroop-05x-is-complete-the-cli-and-installer-release-46e6</link>
      <guid>https://dev.to/liviux/looptroop-05x-is-complete-the-cli-and-installer-release-46e6</guid>
      <description>&lt;h1&gt;
  
  
  LoopTroop 0.5.x is complete: the CLI and installer release
&lt;/h1&gt;

&lt;p&gt;LoopTroop 0.5.x is now complete at v0.5.9.&lt;/p&gt;

&lt;p&gt;This is the release series where LoopTroop became installable software. It gained a CLI, a background service, one-line installers, package channels, standalone executable builds, and a release process that checks the files it publishes.&lt;/p&gt;

&lt;p&gt;The series started with &lt;a href="https://github.com/looptroop-ai/LoopTroop/releases/tag/v0.5.0" rel="noopener noreferrer"&gt;v0.5.0&lt;/a&gt; and ended with &lt;a href="https://github.com/looptroop-ai/LoopTroop/releases/tag/v0.5.9" rel="noopener noreferrer"&gt;v0.5.9&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;LoopTroop is still early alpha. This release is about making it easier to install, run, and verify, not about declaring it production-ready.&lt;/p&gt;

&lt;h2&gt;
  
  
  The CLI
&lt;/h2&gt;

&lt;p&gt;The main change in v0.5.0 was the &lt;code&gt;looptroop&lt;/code&gt; command.&lt;/p&gt;

&lt;p&gt;It includes:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;looptroop setup
looptroop start
looptroop stop
looptroop restart
looptroop status
looptroop open
looptroop logs
looptroop doctor
looptroop clean
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;start&lt;/code&gt; runs LoopTroop as a background service, so it keeps running after the shell closes. &lt;code&gt;open&lt;/code&gt; starts the service when needed and opens the local dashboard with a signed-in link.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;setup&lt;/code&gt; guides the first run. &lt;code&gt;status&lt;/code&gt; reports the daemon state. &lt;code&gt;doctor&lt;/code&gt; checks the runtime, configuration directory, database schemas, port, OpenCode, GitHub authentication, and installation channel. It also has a JSON mode for scripts.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;clean&lt;/code&gt; finds abandoned worktrees, stale locks, and OpenCode processes that LoopTroop started. Listing is the default. Applying cleanup requires an explicit flag.&lt;/p&gt;

&lt;p&gt;The goal was to make the normal path look like ordinary software:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;install
start
open
work
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Installers became part of the product
&lt;/h2&gt;

&lt;p&gt;The 0.5.x work did not stop at adding a command. It also added several ways to install it.&lt;/p&gt;

&lt;p&gt;The one-line installer works on macOS, Linux, WSL, and Windows PowerShell.&lt;/p&gt;

&lt;p&gt;On macOS, Linux, or WSL:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://www.looptroop.ovh/install | sh
looptroop open
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;On Windows PowerShell:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="n"&gt;irm&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;https://www.looptroop.ovh/install.ps1&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;iex&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="nx"&gt;looptroop&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;open&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The installer resolves a release that contains the required files, checks the download against the published checksum, and refuses to install a file that does not match. It does not ask for &lt;code&gt;sudo&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;The installer uses npm, so the npm installation path remains available:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-g&lt;/span&gt; looptroop
looptroop open
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The 0.5.x series also added release support for Homebrew, Scoop, Chocolatey, WinGet, Docker, and standalone executable builds. The current availability of each channel is documented on the &lt;a href="https://www.looptroop.ovh/docs/installation" rel="noopener noreferrer"&gt;Installation page&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Standalone executables
&lt;/h2&gt;

&lt;p&gt;v0.5.2 added standalone executable builds for macOS on Apple silicon, Linux on x64 and arm64, and Windows on x64.&lt;/p&gt;

&lt;p&gt;The executable carries its own Node runtime. Once installed, it does not need Node in order to run LoopTroop.&lt;/p&gt;

&lt;p&gt;The one-line installer can install the executable instead of the npm package. The upgrade path is transactional:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Verify the downloaded archive.&lt;/li&gt;
&lt;li&gt;Stop the running daemon.&lt;/li&gt;
&lt;li&gt;Replace the executable by rename.&lt;/li&gt;
&lt;li&gt;Check that the new executable reports the requested version.&lt;/li&gt;
&lt;li&gt;Restore the previous executable if the new one fails.&lt;/li&gt;
&lt;li&gt;Start the daemon again if it was running before the upgrade.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The installer itself still needs Node because the installer is a Node program. The standalone file removes Node as a runtime requirement for LoopTroop after installation.&lt;/p&gt;

&lt;h2&gt;
  
  
  A smaller production package
&lt;/h2&gt;

&lt;p&gt;The release also changed what the production package contains.&lt;/p&gt;

&lt;p&gt;The server became an embeddable runtime that does not start work merely because another module imports it. The production build bundles the server and ships compiled output. The production server serves the interface itself, so there is no separate web server to configure.&lt;/p&gt;

&lt;p&gt;The runtime also moved from the native &lt;code&gt;better-sqlite3&lt;/code&gt; package to Node's built-in &lt;code&gt;node:sqlite&lt;/code&gt;. That removed the last compiled dependency from the runtime and removed one of the common causes of installation failures.&lt;/p&gt;

&lt;p&gt;The result was a much smaller global installation, from roughly three hundred packages to sixteen.&lt;/p&gt;

&lt;h2&gt;
  
  
  The release process was rebuilt
&lt;/h2&gt;

&lt;p&gt;Publishing a CLI is different from running a development server locally. A successful release has to prove that the package can be installed, started, upgraded, and removed on the platforms people use.&lt;/p&gt;

&lt;p&gt;The 0.5.x release process now:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Builds the package and release artifacts.&lt;/li&gt;
&lt;li&gt;Records checksums for published files.&lt;/li&gt;
&lt;li&gt;Publishes the exact built files to the supported channels.&lt;/li&gt;
&lt;li&gt;Adds signed build provenance to release assets.&lt;/li&gt;
&lt;li&gt;Builds and checks standalone executables.&lt;/li&gt;
&lt;li&gt;Builds container images for Linux x64 and arm64.&lt;/li&gt;
&lt;li&gt;Installs published releases on clean machines.&lt;/li&gt;
&lt;li&gt;Starts the daemon and checks its health.&lt;/li&gt;
&lt;li&gt;Tests the interface and authenticated API paths.&lt;/li&gt;
&lt;li&gt;Stops and uninstalls the release again.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The workflow is resumable. It reads the state of the tag, GitHub release, package registry, and container registries before continuing. A release is only considered finished after the published files have been compared with the files produced by the build.&lt;/p&gt;

&lt;p&gt;The final release in the series, v0.5.9, also fixed packaging and install checks for npm 12 and repaired an edge case where a slow daemon could become impossible to stop.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the installation looks like now
&lt;/h2&gt;

&lt;p&gt;For a Unix-like system:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://www.looptroop.ovh/install | sh
looptroop open
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For Windows PowerShell:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="n"&gt;irm&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;https://www.looptroop.ovh/install.ps1&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;iex&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="nx"&gt;looptroop&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;open&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For npm:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-g&lt;/span&gt; looptroop
looptroop open
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;open&lt;/code&gt; starts LoopTroop in the background when it is not already running, then opens the dashboard. Use &lt;code&gt;looptroop start&lt;/code&gt; if you want the service without opening a browser.&lt;/p&gt;

&lt;p&gt;After that, configure a model provider through OpenCode, attach a local repository with a GitHub origin, and create a ticket.&lt;/p&gt;

&lt;p&gt;LoopTroop does not install OpenCode. It needs OpenCode with at least one configured provider. Git and GitHub CLI are also required for the pull request step, although some installation channels provide them as dependencies.&lt;/p&gt;

&lt;h2&gt;
  
  
  A note about safety
&lt;/h2&gt;

&lt;p&gt;LoopTroop runs OpenCode with broad local permissions because it is designed for long-running, unattended coding work. Git worktrees isolate changes to the attached repository, but they do not sandbox the agent process from the rest of the machine.&lt;/p&gt;

&lt;p&gt;Use a disposable VM, cloud development machine, or another sandboxed environment when trying it.&lt;/p&gt;

&lt;h2&gt;
  
  
  The result
&lt;/h2&gt;

&lt;p&gt;The 0.5.x series changed LoopTroop from something you mainly cloned and ran as a development stack into something you can install, start, inspect, upgrade, and remove.&lt;/p&gt;

&lt;p&gt;v0.5.x is complete at v0.5.9.&lt;/p&gt;

&lt;p&gt;Code: &lt;a href="https://github.com/looptroop-ai/LoopTroop" rel="noopener noreferrer"&gt;github.com/looptroop-ai/LoopTroop&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Installation guide: &lt;a href="https://www.looptroop.ovh/docs/installation" rel="noopener noreferrer"&gt;looptroop.ovh/docs/installation&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>opensource</category>
      <category>cli</category>
      <category>devtools</category>
    </item>
    <item>
      <title>Show Dev: LoopTroop - Local-first AI coding orchestrator with LLM councils, Ralph loops, and a visual Kanban board</title>
      <dc:creator>Ștefănescu Liviu</dc:creator>
      <pubDate>Wed, 19 Aug 2026 16:27:43 +0000</pubDate>
      <link>https://dev.to/liviux/show-dev-looptroop-local-first-ai-coding-orchestrator-with-llm-councils-ralph-loops-and-a-4kk1</link>
      <guid>https://dev.to/liviux/show-dev-looptroop-local-first-ai-coding-orchestrator-with-llm-councils-ralph-loops-and-a-4kk1</guid>
      <description>&lt;p&gt;Hey everyone!&lt;/p&gt;

&lt;p&gt;I wanted to share &lt;strong&gt;LoopTroop&lt;/strong&gt;, an open-source, local-first GUI app I have been building to solve one of the biggest headaches with AI coding agents: &lt;strong&gt;context rot&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;We recently crossed 120 stars on GitHub, and I am actively developing and improving it every day.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;GitHub Repository:&lt;/strong&gt; &lt;a href="https://github.com/looptroop-ai/LoopTroop" rel="noopener noreferrer"&gt;https://github.com/looptroop-ai/LoopTroop&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Quick Video Walkthrough (2.5 min):&lt;/strong&gt; &lt;a href="https://www.youtube.com/watch?v=LYiYkooc_iY" rel="noopener noreferrer"&gt;https://www.youtube.com/watch?v=LYiYkooc_iY&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2h7fsdov0t6vst85uhrm.gif" alt=" " width="600" height="338"&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  The Problem: Context Rot in Long-Running Tickets
&lt;/h3&gt;

&lt;p&gt;AI coding tools are great when you ask them to write a quick function, generate boilerplate, or fix a single bug. But once you throw a complex, multi-file feature ticket at an agent, things usually fall apart after 10 to 15 tool calls.&lt;/p&gt;

&lt;p&gt;The context window fills up with terminal outputs, compiler errors, large file dumps, and half-baked diffs. As that noise piles up, the model starts forgetting early requirements, re-introducing previously fixed bugs, or hallucinating code.&lt;/p&gt;

&lt;p&gt;LoopTroop takes a different route: &lt;strong&gt;context engineering over infinite chat history&lt;/strong&gt;. Instead of letting one long conversation degrade over time, it breaks work into distinct stages, persists state to disk as durable files, and feeds the model clean, minimal micro-contexts for each step.&lt;/p&gt;




&lt;h3&gt;
  
  
  How LoopTroop Works
&lt;/h3&gt;

&lt;p&gt;LoopTroop is built around a &lt;strong&gt;"slow and precise"&lt;/strong&gt; philosophy. Rushing an agent to write code immediately usually costs more time in cleanup than doing structured planning upfront.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fsy46m3ui13ne42obyhlu.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fsy46m3ui13ne42obyhlu.jpg" alt=" " width="800" height="447"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  1. Interactive Interview (Resolving Ambiguity First)
&lt;/h4&gt;

&lt;p&gt;Before writing any specs or code, LoopTroop runs an interactive interview. It scans your repository, detects ambiguities in your ticket, and asks you direct clarifying questions about architecture, trade-offs, and edge cases. This makes sure the plan actually reflects what you want before any code gets touched.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fqi8kajgl9y2covipxwcn.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fqi8kajgl9y2covipxwcn.webp" alt=" " width="800" height="385"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  2. The LLM Council (Multi-Model Planning)
&lt;/h4&gt;

&lt;p&gt;Instead of relying on a single model's biases to architect your feature, LoopTroop uses an LLM Council for planning the PRD and task breakdown:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Multiple configured models draft their own proposals independently.&lt;/li&gt;
&lt;li&gt;The models review and vote anonymously on the drafts to score the best approaches.&lt;/li&gt;
&lt;li&gt;The winning plan absorbs the strongest ideas from the other drafts and runs a coverage check to ensure no requirements were skipped.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fmxwwh7gn7fysr4l0eygt.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fmxwwh7gn7fysr4l0eygt.webp" alt=" " width="800" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  3. Decomposition into Atomic "Beads"
&lt;/h4&gt;

&lt;p&gt;Large tickets are decomposed into small, self-contained units of work called &lt;strong&gt;Beads&lt;/strong&gt;. Each bead defines:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A specific, narrow objective&lt;/li&gt;
&lt;li&gt;Exact target files&lt;/li&gt;
&lt;li&gt;Concrete acceptance criteria&lt;/li&gt;
&lt;li&gt;Automated test commands to verify completion&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The agent implements one bead at a time with a clean prompt focused only on that task.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fno0pwy7ghxsznzksjiva.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fno0pwy7ghxsznzksjiva.webp" alt=" " width="799" height="383"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  4. Ralph Loops (Smart Failure Recovery)
&lt;/h4&gt;

&lt;p&gt;When an agent gets stuck in a loop or fails a verification check, traditional tools just append the failure traceback to the chat, polluting future attempts.&lt;/p&gt;

&lt;p&gt;LoopTroop uses a recovery loop pattern:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Each bead execution is time-boxed.&lt;/li&gt;
&lt;li&gt;If a bead fails or gets stuck, LoopTroop stops the attempt, writes a short diagnostic note explaining what failed, and discards the noisy session history.&lt;/li&gt;
&lt;li&gt;The next iteration restarts with a clean context, carrying over only that compact failure note. Failures turn into targeted learning rather than context pollution.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fwi1grvylx86t16np1vb7.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fwi1grvylx86t16np1vb7.webp" alt=" " width="799" height="412"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  5. Local-First Visual Kanban Board
&lt;/h4&gt;

&lt;p&gt;LoopTroop is a desktop GUI, not a CLI command or a hosted cloud platform. It gives you a clean Kanban interface to manage multiple repositories and multiple active tickets simultaneously:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Track phase progression in real time.&lt;/li&gt;
&lt;li&gt;Inspect council drafts, voting breakdowns, and PRDs.&lt;/li&gt;
&lt;li&gt;Monitor live execution logs and terminal output.&lt;/li&gt;
&lt;li&gt;Review bead statuses, test outputs, and final Git diffs from one window.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fke95yfp49kizjmpnwfgl.webp" alt=" " width="800" height="384"&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Human in the Loop
&lt;/h3&gt;

&lt;p&gt;LoopTroop is designed to keep you in the driver's seat at key decision points:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You answer the initial interview questions.&lt;/li&gt;
&lt;li&gt;You review and approve the generated PRD and bead breakdown.&lt;/li&gt;
&lt;li&gt;You can step in, pause, or adjust during bead implementation.&lt;/li&gt;
&lt;li&gt;You review the verified changes before anything is handed over to your main branch.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  Under the Hood
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Execution Engine:&lt;/strong&gt; LoopTroop uses the OpenCode harness for file operations, terminal execution, and model communication.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Model Agnostic:&lt;/strong&gt; You can configure any model or provider supported in your setup (Anthropic, OpenAI, Google, DeepSeek, local models via Ollama, etc.) for both the main implementer and the council members.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Local:&lt;/strong&gt; Runs locally on your machine against your local Git repositories.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  Links &amp;amp; Trying It Out
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Source Code:&lt;/strong&gt; &lt;a href="https://github.com/looptroop-ai/LoopTroop" rel="noopener noreferrer"&gt;https://github.com/looptroop-ai/LoopTroop&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Video Demo:&lt;/strong&gt; &lt;a href="https://www.youtube.com/watch?v=LYiYkooc_iY" rel="noopener noreferrer"&gt;https://www.youtube.com/watch?v=LYiYkooc_iY&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Any feedback, critique, or bug reports are more than welcome. If you decide to give the app a spin and it works nicely on your projects or breaks completely on your stack, drop a comment here or open an issue on GitHub. I would love to hear your thoughts!&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>opensource</category>
      <category>ai</category>
      <category>devtools</category>
    </item>
    <item>
      <title>LoopTroop v0.4 is out + just hit 100 GitHub stars! A local-first AI coding orchestrator that turns tickets into real PRs</title>
      <dc:creator>Ștefănescu Liviu</dc:creator>
      <pubDate>Wed, 29 Jul 2026 08:50:55 +0000</pubDate>
      <link>https://dev.to/liviux/looptroop-v04-is-out-just-hit-100-github-stars-a-local-first-ai-coding-orchestrator-that-turns-3k43</link>
      <guid>https://dev.to/liviux/looptroop-v04-is-out-just-hit-100-github-stars-a-local-first-ai-coding-orchestrator-that-turns-3k43</guid>
      <description>&lt;p&gt;Hey everyone! The first 100 stars are always the hardest, so I wanted to share a big milestone and launch update. I just released LoopTroop v0.4!&lt;/p&gt;

&lt;p&gt;What is LoopTroop?&lt;br&gt;
LoopTroop is a free, open-source, local-first GUI designed to eliminate "endless chat drift" in AI coding assistants. Instead of unstructured back-and-forth chat, it breaks complex software tasks into planned task beads, automated recovery loops, and explicit human approval gates.&lt;/p&gt;

&lt;p&gt;How it works:&lt;/p&gt;

&lt;p&gt;🧠 LLM Councils: Architect and plan complex features before writing code.&lt;/p&gt;

&lt;p&gt;🔁 Ralph Loops: Iteratively run, test, and self-correct until the feature works.&lt;/p&gt;

&lt;p&gt;🌲 OpenCode Worktrees: Safely isolate code changes and automatically ship clean PRs.&lt;/p&gt;

&lt;p&gt;Building LoopTroop in public has been an awesome journey. If you’re into agentic coding tools, grab the repo, run npm run dev, and test it on your own codebase.&lt;/p&gt;

&lt;p&gt;🔗 GitHub Repo: &lt;a href="https://github.com/looptroop-ai/LoopTroop" rel="noopener noreferrer"&gt;https://github.com/looptroop-ai/LoopTroop&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🌐 Docs &amp;amp; Website: &lt;a href="https://looptroop.ovh" rel="noopener noreferrer"&gt;https://looptroop.ovh&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A huge thank you to everyone who has starred or given feedback so far. Give it a spin and let me know what breaks! 💬&lt;/p&gt;

&lt;h1&gt;
  
  
  LoopTroop #opensource #AgenticAI #BuildInPublic #AI #DevTools #CodingAgents
&lt;/h1&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>programming</category>
    </item>
    <item>
      <title>What is a Ralph Loop?</title>
      <dc:creator>Ștefănescu Liviu</dc:creator>
      <pubDate>Wed, 22 Jul 2026 12:55:20 +0000</pubDate>
      <link>https://dev.to/liviux/what-is-a-ralph-loop-4gjd</link>
      <guid>https://dev.to/liviux/what-is-a-ralph-loop-4gjd</guid>
      <description>&lt;h1&gt;
  
  
  What is a Ralph Loop?
&lt;/h1&gt;

&lt;p&gt;You are watching an agent work on a feature. It edits a file, runs the tests, hits an error, patches the error, runs again, finds a second issue, tries a different approach, and then stalls. The transcript is now long. Half of it is abandoned attempts.&lt;/p&gt;

&lt;p&gt;So you tell it to retry.&lt;/p&gt;

&lt;p&gt;It retries in the same chat. It carries the old stack traces forward. It carries the abandoned approach forward. It carries the file contents that no longer match disk. The next attempt fails the same way, or a slightly worse way, because the model is no longer solving the clean task. It is solving the task plus the sediment of every previous attempt.&lt;/p&gt;

&lt;p&gt;Retrying in the same chat compounds errors. Junk piles into the context.&lt;/p&gt;

&lt;p&gt;That is the problem a Ralph Loop fixes.&lt;/p&gt;

&lt;h2&gt;
  
  
  The short definition
&lt;/h2&gt;

&lt;p&gt;A Ralph Loop is what you do when an agent attempt stalls or fails:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Stop the attempt.&lt;/li&gt;
&lt;li&gt;Write a compact note of what went wrong.&lt;/li&gt;
&lt;li&gt;Scrap the degraded session.&lt;/li&gt;
&lt;li&gt;Retry fresh, in a clean worktree, carrying only that note forward.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The attempt is time-boxed. Default is 20 minutes. If it does not finish cleanly in the box, the loop stops, writes the note, and the next iteration starts over with fresh context and that one note.&lt;/p&gt;

&lt;p&gt;The key move is the reset. You do not continue in the polluted transcript. You throw it away and start clean, except for the failure note.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why retrying in the same chat fails
&lt;/h2&gt;

&lt;p&gt;Every step an agent takes leaves context behind. Some of it is useful. Some of it was useful five minutes ago and is now harmful.&lt;/p&gt;

&lt;p&gt;When you retry in the same chat, the model keeps:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;old plans that were abandoned&lt;/li&gt;
&lt;li&gt;stack traces from errors you already fixed&lt;/li&gt;
&lt;li&gt;file contents that no longer match the repo&lt;/li&gt;
&lt;li&gt;tool output that was only relevant to one dead branch&lt;/li&gt;
&lt;li&gt;your corrections mixed with the model's guesses&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;After a while the model is not solving the task. It is doing archaeology on its own failed attempts.&lt;/p&gt;

&lt;p&gt;A larger context window does not solve this. It gives the model more room. It does not decide what belongs in the room. Bad context pulls the model toward the wrong action even when the answer is technically somewhere in the window.&lt;/p&gt;

&lt;p&gt;This is context rot. The working set became polluted, and the retry inherited the pollution.&lt;/p&gt;

&lt;h2&gt;
  
  
  The move: scrap and retry fresh
&lt;/h2&gt;

&lt;p&gt;The fix is a boundary. The failed attempt does not get to bleed into the next one.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fvcx5dinep684qk74fzsr.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fvcx5dinep684qk74fzsr.jpg" alt=" " width="800" height="437"&gt;&lt;/a&gt;&lt;br&gt;
The flow is:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The attempt runs in its own isolated git worktree, so it never touched your main checkout.&lt;/li&gt;
&lt;li&gt;It stalls or fails inside its time box.&lt;/li&gt;
&lt;li&gt;The loop writes one failure note: what was being done, what went wrong, what to try next.&lt;/li&gt;
&lt;li&gt;The worktree is discarded. The transcript is discarded.&lt;/li&gt;
&lt;li&gt;A fresh worktree is created. A fresh session starts. The only thing carried forward is the failure note.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The next attempt gets a clean workbench and one useful fact. It does not get the 2000-line log. It does not get the abandoned plan. It does not get the old file dump.&lt;/p&gt;

&lt;p&gt;This is the same pattern a careful human uses. When you get stuck on a bug and start going in circles, you stop, write down the one thing you know is wrong, close the noisy terminal, and start over with just that note. You do not keep rereading the same dead-end output hoping this time is different.&lt;/p&gt;
&lt;h2&gt;
  
  
  What a bad retry looks like
&lt;/h2&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Keep going in the same chat.
Paste the full error log back in.
Ask it to try again.
Ask it to try harder.
Paste the log again.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;The model now has the original task, the failed attempt, the full log, your frustration, and the same wrong context that produced the failure. It will likely fail the same way. The retry did not get smarter. It just got longer.&lt;/p&gt;
&lt;h2&gt;
  
  
  What a good retry looks like
&lt;/h2&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Previous attempt failed because the password-reset test
creates a user without an email address.

Fix the fixture or guard the email access before rerunning:

    npm test -- password-reset

Retry in a fresh worktree. Do not inherit the previous transcript.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;The next attempt gets the clean task plus one specific cause. It does not get the noise. It can actually move forward.&lt;/p&gt;
&lt;h2&gt;
  
  
  The failure note is the whole trick
&lt;/h2&gt;

&lt;p&gt;The reset is easy. The hard part is the note.&lt;/p&gt;

&lt;p&gt;A good failure note preserves only what changes the next action. It answers: what was being attempted, what specifically went wrong, and what to do differently.&lt;/p&gt;

&lt;p&gt;Good compression:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;The bead failed because the empty-state container replaced the
upload button, which broke keyboard focus. Keep the upload button
outside the conditional empty-state block. Rerun:
    node _check_css.js
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Bad compression:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Tests failed. Try again.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The bad version throws away the only useful fact. The next fresh attempt is now flying blind in a different way. It has a clean context but no idea what went wrong, so it guesses from scratch and may repeat the exact same mistake.&lt;/p&gt;

&lt;p&gt;The failure note is what turns a reset from "start over dumb" into "start over smarter." Each iteration of the loop carries one more useful fact forward instead of one more pile of sediment.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why it is called a loop
&lt;/h2&gt;

&lt;p&gt;Because it repeats. A bead may take one iteration or five. Each iteration is a fresh attempt with a growing set of failure notes and nothing else from the past. The loop ends when an attempt finishes cleanly inside its time box and passes its validation.&lt;/p&gt;

&lt;p&gt;Failures compound into learning. They do not compound into context rot. That is the whole point.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffagfkmcy2gmhygjvlb04.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffagfkmcy2gmhygjvlb04.png" alt=" " width="800" height="1400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Sources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Anthropic, "Effective harnesses for long-running agents": &lt;a href="https://www.anthropic.com/engineering/effective-harnesses-for-long-running-agents" rel="noopener noreferrer"&gt;https://www.anthropic.com/engineering/effective-harnesses-for-long-running-agents&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Anthropic, "Effective context engineering for AI agents": &lt;a href="https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents" rel="noopener noreferrer"&gt;https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;OpenAI Cookbook, "Context Engineering - Short-Term Memory Management with Sessions": &lt;a href="https://developers.openai.com/cookbook/examples/agents_sdk/session_memory" rel="noopener noreferrer"&gt;https://developers.openai.com/cookbook/examples/agents_sdk/session_memory&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How LoopTroop uses Ralph Loops
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fszboq7tqj6dyinibglix.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fszboq7tqj6dyinibglix.gif" alt=" " width="600" height="338"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;LoopTroop is a local, open-source GUI app for running coding tickets across local git repositories. It is built around the idea that long tasks fail when every step lives inside one endless chat, so it orchestrates around the agent instead of letting it run until it rots.&lt;/p&gt;

&lt;p&gt;The pieces that matter here:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A ticket is split into small atomic units called Beads, each with acceptance criteria and a validation command.&lt;/li&gt;
&lt;li&gt;Each Bead runs inside its own isolated git worktree, so concurrent work never stomps on itself.&lt;/li&gt;
&lt;li&gt;Each Bead is time-boxed, default 20 minutes.&lt;/li&gt;
&lt;li&gt;If a Bead does not finish cleanly inside its box, the Ralph Loop stops, writes a failure note, discards the worktree and the session, and starts a fresh attempt carrying only that note.&lt;/li&gt;
&lt;li&gt;The loop repeats until the Bead passes, or until you intervene.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The effect: every retry gets a clean workbench and one useful fact. The model never has to dig its way out of its own polluted transcript. You can watch the whole thing from one pane, see every failure note, every fresh attempt, and the final diff before anything reaches your main branch.&lt;/p&gt;

&lt;p&gt;LoopTroop is one implementation of this pattern. It is not the only way to run a Ralph Loop, but it is a worked, observable one.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Site: &lt;a href="https://www.looptroop.ovh/" rel="noopener noreferrer"&gt;https://www.looptroop.ovh/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;GitHub: &lt;a href="https://github.com/looptroop-ai/LoopTroop" rel="noopener noreferrer"&gt;https://github.com/looptroop-ai/LoopTroop&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;16-minute demo: &lt;a href="https://youtu.be/LYiYkooc_iY" rel="noopener noreferrer"&gt;https://youtu.be/LYiYkooc_iY&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>showdev</category>
      <category>ai</category>
      <category>opensource</category>
      <category>programming</category>
    </item>
    <item>
      <title>Designing a local ticket-to-PR workflow for AI software delivery</title>
      <dc:creator>Ștefănescu Liviu</dc:creator>
      <pubDate>Tue, 14 Jul 2026 09:46:01 +0000</pubDate>
      <link>https://dev.to/liviux/designing-a-local-ticket-to-pr-workflow-for-ai-software-delivery-1bfl</link>
      <guid>https://dev.to/liviux/designing-a-local-ticket-to-pr-workflow-for-ai-software-delivery-1bfl</guid>
      <description>&lt;p&gt;If you have tried using AI coding agents for large, multi-file tickets, you probably know the exact moment the run starts to derail.&lt;br&gt;
It usually starts with a simple error. The agent tries to fix it, but introduces another bug. It tries to fix that one, and now the terminal logs are piling up. Within a few iterations, the conversation history is bloated. The model starts dropping files, ignoring imports, or repeating the same mistake.&lt;br&gt;
I call this context rot. When an AI chat session gets too long, the model loses focus. This is a systems problem, not a prompting problem.&lt;br&gt;
To get reliable code out of an AI on complex tasks, you need a structured workflow that manages context instead of accumulating it. I spent the last five months building a local GUI orchestrator called LoopTroop to solve this.&lt;br&gt;
Here is how I structured the workflow to keep the AI focused.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F03j851ota8f7x6bn9izh.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F03j851ota8f7x6bn9izh.gif" alt=" " width="600" height="338"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Stop guessing: the interview phase&lt;/strong&gt;&lt;br&gt;
Before writing code or specs, the system generates targeted questions to clarify the requirements. It focuses on identifying edge cases, constraints, and dependencies.&lt;br&gt;
You answer these questions in the interface. This step resolves ambiguities early, so the plan matches what you want.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fo6odh3m7fbl3mo1ddmtu.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fo6odh3m7fbl3mo1ddmtu.webp" alt=" " width="800" height="385"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Planning with a model council&lt;/strong&gt;&lt;br&gt;
Relying on a single model to plan a complex ticket is risky. Instead, LoopTroop uses a council of multiple models for the planning phases.&lt;br&gt;
Several models generate independent drafts of the spec. They then score and vote on each other's work anonymously to remove brand bias. The winner refines their draft by incorporating the best ideas from the other drafts.&lt;br&gt;
This is slower than a one-shot prompt, but a solid plan prevents hours of debugging loops later.&lt;br&gt;
&lt;strong&gt;Small, atomic units&lt;/strong&gt;&lt;br&gt;
We split the approved plan into tiny, independent tasks. Each unit has a clear objective, target files, acceptance criteria, and verification commands.&lt;br&gt;
Instead of asking the AI to build a whole feature in one go, we make it focus on one specific unit at a time. This keeps the working context minimal.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5itco34dlinqk2w24dgt.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5itco34dlinqk2w24dgt.webp" alt=" " width="800" height="386"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Recovering with fresh context: the Ralph loop&lt;/strong&gt;&lt;br&gt;
When a task fails or times out, the typical reaction is to keep prompting the same session. That just adds error logs to the context, making the model more confused.&lt;br&gt;
Instead, LoopTroop uses a recovery cycle:&lt;br&gt;
We capture the failure details in a short note.&lt;br&gt;
We reset the workspace back to the start of the task.&lt;br&gt;
We start a completely new session with the original task spec and the failure note.&lt;br&gt;
This keeps the lesson but throws away the context pollution. We limit these retries to a set number of attempts.&lt;br&gt;
&lt;strong&gt;Keeping the human in control&lt;/strong&gt;&lt;br&gt;
The workflow is not fully autonomous. It requires your approval at important boundaries, such as approving specs and reviewing final changes.&lt;br&gt;
You can monitor the entire run, view logs in real time, and inspect the final diff from a single Kanban board.&lt;br&gt;
This approach is deliberately slow. It is not meant for quick edits, but for complex work where correctness matters.&lt;/p&gt;




&lt;p&gt;If you want to look at the code or see how the GUI works, you can check the project on GitHub: &lt;a href="https://github.com/looptroop-ai/LoopTroop" rel="noopener noreferrer"&gt;https://github.com/looptroop-ai/LoopTroop&lt;/a&gt;&lt;br&gt;
Here is a short 2m 30s video showing the workflow in action: &lt;a href="https://youtu.be/g1A2g-oOR3E" rel="noopener noreferrer"&gt;https://youtu.be/g1A2g-oOR3E&lt;/a&gt;&lt;br&gt;
Any feedback is more than welcomed. If you tried the app and it worked or did not work, give me a sign. I am happy to talk about it.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>programming</category>
      <category>opensource</category>
    </item>
    <item>
      <title>What is context engineering?</title>
      <dc:creator>Ștefănescu Liviu</dc:creator>
      <pubDate>Tue, 30 Jun 2026 08:29:42 +0000</pubDate>
      <link>https://dev.to/liviux/what-is-context-engineering-3f90</link>
      <guid>https://dev.to/liviux/what-is-context-engineering-3f90</guid>
      <description>&lt;h1&gt;
  
  
  What is context engineering?
&lt;/h1&gt;

&lt;p&gt;Prompt engineering is about asking better.&lt;/p&gt;

&lt;p&gt;Context engineering is about deciding what the model gets to know while it works.&lt;/p&gt;

&lt;p&gt;That sounds like a small shift, but it changes how you build with AI. A prompt can help with a single reply. Context engineering is what you need when the model has to work across tools, files, memory, tests, retries, and several steps of a real task.&lt;/p&gt;

&lt;p&gt;Most agent failures do not come from one bad sentence in the prompt. They come from the model seeing the wrong working set: too much history, missing files, stale decisions, huge logs, old failed attempts, or instructions that no longer match the current step.&lt;/p&gt;

&lt;p&gt;The context window is not a filing cabinet. It is a workbench. If you pile everything onto it, the useful parts get buried.&lt;/p&gt;

&lt;h2&gt;
  
  
  The short definition
&lt;/h2&gt;

&lt;p&gt;Context engineering is the practice of choosing, shaping, storing, retrieving, compressing, and isolating the information an AI system receives at each step.&lt;/p&gt;

&lt;p&gt;That includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;the user request&lt;/li&gt;
&lt;li&gt;system instructions&lt;/li&gt;
&lt;li&gt;relevant files&lt;/li&gt;
&lt;li&gt;retrieved documentation&lt;/li&gt;
&lt;li&gt;examples&lt;/li&gt;
&lt;li&gt;tool definitions&lt;/li&gt;
&lt;li&gt;tool results&lt;/li&gt;
&lt;li&gt;memory&lt;/li&gt;
&lt;li&gt;previous decisions&lt;/li&gt;
&lt;li&gt;error notes&lt;/li&gt;
&lt;li&gt;acceptance criteria&lt;/li&gt;
&lt;li&gt;the current task state&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal is not to maximize context. The goal is to give the model the right context for the next action.&lt;/p&gt;

&lt;p&gt;Sometimes that means adding more information. Sometimes it means removing information. Sometimes it means writing information outside the chat so the next step can retrieve it cleanly.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this became a real problem
&lt;/h2&gt;

&lt;p&gt;Early prompt engineering mostly dealt with single calls: write this email, summarize this document, generate this function, explain this error.&lt;/p&gt;

&lt;p&gt;Agents are different.&lt;/p&gt;

&lt;p&gt;An agent may plan, call tools, inspect files, make edits, run commands, read failures, retry, and prepare a final answer. That creates a long trail of context. Some of it is useful. Some of it is noise. Some of it was useful five minutes ago but is now harmful.&lt;/p&gt;

&lt;p&gt;Coding agents make this easy to see.&lt;/p&gt;

&lt;p&gt;Imagine an agent working on a medium-sized feature. It starts with a ticket, scans the repo, drafts a plan, edits a few files, runs tests, hits an error, patches the error, runs more tests, finds a second issue, and then tries again.&lt;/p&gt;

&lt;p&gt;If every step keeps inheriting the whole transcript, the model starts carrying around:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;old plans&lt;/li&gt;
&lt;li&gt;abandoned approaches&lt;/li&gt;
&lt;li&gt;stack traces from fixed errors&lt;/li&gt;
&lt;li&gt;file contents that no longer match disk&lt;/li&gt;
&lt;li&gt;tool output that was only relevant to one branch of the attempt&lt;/li&gt;
&lt;li&gt;user corrections mixed with model guesses&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;After a while, the agent is no longer solving the clean task. It is solving the task plus the sediment of every previous attempt.&lt;/p&gt;

&lt;p&gt;That is context rot.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fvd3suce1uh365nks1noh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fvd3suce1uh365nks1noh.png" alt=" " width="800" height="1131"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Larger context windows do not solve it by themselves
&lt;/h2&gt;

&lt;p&gt;A larger context window gives the model more room. It does not decide what belongs in the room.&lt;/p&gt;

&lt;p&gt;This matters because agent context is not just "more text." It is a live bundle of instructions, evidence, state, and tool access. Bad context can pull the model toward the wrong action even when the answer is technically somewhere in the window.&lt;/p&gt;

&lt;p&gt;You can see the same thing in human work. Give a developer the current ticket, the target files, and the latest failing test, and they can focus. Give them every Slack message, every old branch, every failed patch, and every log from the last week, and now they have to do archaeology before they can write code.&lt;/p&gt;

&lt;p&gt;Models have the same problem, with less judgment.&lt;/p&gt;

&lt;h2&gt;
  
  
  Context engineering vs prompt engineering
&lt;/h2&gt;

&lt;p&gt;Prompt engineering asks:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How should I phrase the request?&lt;/li&gt;
&lt;li&gt;What role should the model play?&lt;/li&gt;
&lt;li&gt;What examples should I include?&lt;/li&gt;
&lt;li&gt;What output format do I want?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Context engineering asks:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What does this step need to know?&lt;/li&gt;
&lt;li&gt;What should be stored outside the chat?&lt;/li&gt;
&lt;li&gt;What should be retrieved now?&lt;/li&gt;
&lt;li&gt;What should be summarized?&lt;/li&gt;
&lt;li&gt;What should be hidden from this step?&lt;/li&gt;
&lt;li&gt;Which tool results are worth keeping?&lt;/li&gt;
&lt;li&gt;When should the agent start fresh?&lt;/li&gt;
&lt;li&gt;Which artifact is the source of truth?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Both matter. Good prompting still helps. But once a system has memory, tools, files, and multiple steps, the prompt is only one part of the environment.&lt;/p&gt;

&lt;h2&gt;
  
  
  The four practical moves
&lt;/h2&gt;

&lt;p&gt;A useful way to think about context engineering is: write, select, compress, isolate.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Write important state down
&lt;/h2&gt;

&lt;p&gt;Do not rely on the conversation transcript as the only memory.&lt;/p&gt;

&lt;p&gt;Write important state into durable artifacts:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;requirements&lt;/li&gt;
&lt;li&gt;decisions&lt;/li&gt;
&lt;li&gt;plans&lt;/li&gt;
&lt;li&gt;acceptance criteria&lt;/li&gt;
&lt;li&gt;implementation notes&lt;/li&gt;
&lt;li&gt;test results&lt;/li&gt;
&lt;li&gt;failure summaries&lt;/li&gt;
&lt;li&gt;review notes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This gives the system something cleaner than chat history. A later step can load the current PRD or the latest failure note without dragging along every false start that produced it.&lt;/p&gt;

&lt;p&gt;For coding agents, this is especially useful because files, specs, and test reports are easier to review than a long model transcript.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Select only what matters now
&lt;/h2&gt;

&lt;p&gt;Each step should receive the smallest useful working set.&lt;/p&gt;

&lt;p&gt;If the agent is planning, it may need the ticket, repo structure, relevant files, and user constraints.&lt;/p&gt;

&lt;p&gt;If the agent is editing one small task, it may need only:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;the active task&lt;/li&gt;
&lt;li&gt;the target files&lt;/li&gt;
&lt;li&gt;acceptance criteria&lt;/li&gt;
&lt;li&gt;a compact note from the last failure&lt;/li&gt;
&lt;li&gt;the command it should run to verify the work&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The model does not need every planning draft or every old tool call just because those things happened earlier.&lt;/p&gt;

&lt;p&gt;Selection is where many agent systems fail. They retrieve too much, retrieve the wrong thing, or treat all previous context as equally important.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Compress noisy information
&lt;/h2&gt;

&lt;p&gt;Some information should survive, but not in full.&lt;/p&gt;

&lt;p&gt;A 2,000-line test log may contain one useful fact: one assertion failed because the mocked user had no email address. A retry does not need the whole log. It needs the failure note.&lt;/p&gt;

&lt;p&gt;Good compression turns messy context into useful working memory:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Previous attempt failed because the password reset test creates a user without an email.
Update the fixture or guard the email access before rerunning:
npm test -- password-reset
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Bad compression hides the important detail:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Tests failed. Try again.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The point is not to summarize everything. The point is to preserve what changes the next action.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Isolate phases
&lt;/h2&gt;

&lt;p&gt;Planning, coding, retrying, testing, and reviewing should not all share the same context shape.&lt;/p&gt;

&lt;p&gt;A planner benefits from broad context. A coder benefits from narrow context. A reviewer benefits from the final diff, the requirement, and verification results. A retry often benefits from a clean session plus one compact failure note.&lt;/p&gt;

&lt;p&gt;This is the part many people miss. Context engineering is not only retrieval. It is also deciding which information should not cross a boundary.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1sp0fop66v3128mqcncp.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1sp0fop66v3128mqcncp.jpg" alt=" " width="800" height="437"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What bad context looks like
&lt;/h2&gt;

&lt;p&gt;Bad context usually feels convenient at first:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Give the model everything.
Keep the whole chat.
Paste the full logs.
Include every file.
Ask it to continue.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That works for a while. Then the agent starts making strange choices.&lt;/p&gt;

&lt;p&gt;It edits the wrong file because an old file dump is still in the transcript. It repeats a failed idea because the failed attempt is still nearby. It forgets the acceptance criteria because a huge tool result pushed the actual task out of focus. It treats a plan draft as if it was approved.&lt;/p&gt;

&lt;p&gt;The model did not become lazy. The working set became polluted.&lt;/p&gt;

&lt;h2&gt;
  
  
  What good context looks like
&lt;/h2&gt;

&lt;p&gt;Good context is boring in the best way.&lt;/p&gt;

&lt;p&gt;It is explicit:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Current phase: implementation
Active task: add empty-state copy to the media manager
Target files:
- app.js
- styles/managers-media.css

Acceptance criteria:
- Empty state appears only when no media exists.
- Upload button remains visible.
- Layout works on mobile.

Validation:
- node _check_css.js
- manual browser check later
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It is narrow:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Do not modify campaign logic.
Do not change media upload behavior.
Do not run full end-to-end tests.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It carries forward only useful failure information:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Last attempt broke keyboard focus because the empty-state container replaced the upload button.
Keep the upload button outside the conditional empty-state block.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This kind of context gives the model less room to improvise in the wrong direction.&lt;/p&gt;

&lt;h2&gt;
  
  
  Context engineering is not just RAG
&lt;/h2&gt;

&lt;p&gt;Retrieval augmented generation is one technique inside context engineering. It helps the system fetch relevant information from docs, files, memories, or a database.&lt;/p&gt;

&lt;p&gt;But context engineering is wider.&lt;/p&gt;

&lt;p&gt;It includes tool design, memory design, artifact design, phase boundaries, retry behavior, human approval gates, and the shape of tool results.&lt;/p&gt;

&lt;p&gt;For example, an agent with fifty tools may perform worse if every tool definition is always loaded. The system has to decide which tools belong in the current step. The same is true for files, examples, memories, and prior messages.&lt;/p&gt;

&lt;p&gt;RAG answers: what should we fetch?&lt;/p&gt;

&lt;p&gt;Context engineering answers: what should this model call know, what should it be allowed to do, and what should survive afterward?&lt;/p&gt;

&lt;h2&gt;
  
  
  A checklist for agent builders
&lt;/h2&gt;

&lt;p&gt;Before you build a serious agent workflow, ask:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What is the source of truth for the task?&lt;/li&gt;
&lt;li&gt;Which artifacts should survive between steps?&lt;/li&gt;
&lt;li&gt;Which old messages should be discarded?&lt;/li&gt;
&lt;li&gt;What is the smallest useful context for this phase?&lt;/li&gt;
&lt;li&gt;Which tools should the model see right now?&lt;/li&gt;
&lt;li&gt;How should large tool results be stored?&lt;/li&gt;
&lt;li&gt;What should happen after a failed attempt?&lt;/li&gt;
&lt;li&gt;Can a human review the plan before execution?&lt;/li&gt;
&lt;li&gt;Can a human review the final diff before merge?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If the answer to most of these is "the chat has it," the system is fragile.&lt;/p&gt;

&lt;h2&gt;
  
  
  How LoopTroop applies context engineering
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fdlx2pgad4ttesezby4f7.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fdlx2pgad4ttesezby4f7.jpg" alt=" " width="800" height="447"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;LoopTroop is built around this problem in AI coding: long tasks get worse when every step lives inside one endless chat.&lt;/p&gt;

&lt;p&gt;LoopTroop is a local, open-source GUI app for running coding tickets across local Git repositories. It is not trying to replace every coding agent. It is the orchestration layer around longer work: planning, splitting, execution, retries, logs, review artifacts, and human approval.&lt;/p&gt;

&lt;p&gt;The relevant pieces are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;LLM Council for planning&lt;/li&gt;
&lt;li&gt;PRDs as durable specs&lt;/li&gt;
&lt;li&gt;Beads as small implementation units&lt;/li&gt;
&lt;li&gt;OpenCode as the execution layer&lt;/li&gt;
&lt;li&gt;Git worktrees for isolated repo work&lt;/li&gt;
&lt;li&gt;Ralph Loop retries for failed or stuck beads&lt;/li&gt;
&lt;li&gt;human gates before important transitions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The important context engineering move is that each stage gets a different working set.&lt;/p&gt;

&lt;p&gt;The council can look broadly and compare plans. The PRD becomes the source of truth. Beads turn a large task into smaller units with acceptance criteria and validation commands. Execution gets one bead at a time instead of the whole project history. If a bead fails, the Ralph Loop saves a compact note, resets the attempt, and retries with fresh context rather than dragging the polluted session forward.&lt;/p&gt;

&lt;p&gt;That is the practical version of context engineering: keep the useful state, discard the noise, and give the model a clean job at each phase.&lt;/p&gt;

&lt;p&gt;For tiny edits, a direct chat or editor agent is usually enough. For larger tickets, especially the ones that touch several files or need multiple retries, context engineering is what keeps the agent reviewable.&lt;/p&gt;

&lt;p&gt;The final output should not be "the AI wrote some code." It should be a plan, a set of small tasks, logs, test commands, diffs, and a result a human can inspect without reading a giant transcript.&lt;/p&gt;

&lt;p&gt;That is the lane LoopTroop is trying to own.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffcjm5oje4tbpenpaz1nk.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffcjm5oje4tbpenpaz1nk.gif" alt=" " width="600" height="338"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Sources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Anthropic, "Effective context engineering for AI agents": &lt;a href="https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents" rel="noopener noreferrer"&gt;https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Anthropic, "Effective harnesses for long-running agents": &lt;a href="https://www.anthropic.com/engineering/effective-harnesses-for-long-running-agents" rel="noopener noreferrer"&gt;https://www.anthropic.com/engineering/effective-harnesses-for-long-running-agents&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;OpenAI Cookbook, "Context Engineering - Short-Term Memory Management with Sessions": &lt;a href="https://developers.openai.com/cookbook/examples/agents_sdk/session_memory" rel="noopener noreferrer"&gt;https://developers.openai.com/cookbook/examples/agents_sdk/session_memory&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;OpenAI Cookbook, "Context Engineering for Personalization": &lt;a href="https://developers.openai.com/cookbook/examples/agents_sdk/context_personalization" rel="noopener noreferrer"&gt;https://developers.openai.com/cookbook/examples/agents_sdk/context_personalization&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;LangChain docs, "Context engineering in agents": &lt;a href="https://docs.langchain.com/oss/python/langchain/context-engineering" rel="noopener noreferrer"&gt;https://docs.langchain.com/oss/python/langchain/context-engineering&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;LangChain, "Context Engineering": &lt;a href="https://www.langchain.com/blog/context-engineering-for-agents" rel="noopener noreferrer"&gt;https://www.langchain.com/blog/context-engineering-for-agents&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;LoopTroop: &lt;a href="https://www.looptroop.ovh/" rel="noopener noreferrer"&gt;https://www.looptroop.ovh/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;LoopTroop GitHub: &lt;a href="https://github.com/looptroop-ai/LoopTroop" rel="noopener noreferrer"&gt;https://github.com/looptroop-ai/LoopTroop&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>agents</category>
    </item>
    <item>
      <title>How I Built LoopTroop: An AI Orchestrator That Builds Apps Using AI</title>
      <dc:creator>Ștefănescu Liviu</dc:creator>
      <pubDate>Mon, 22 Jun 2026 17:22:22 +0000</pubDate>
      <link>https://dev.to/liviux/how-i-built-looptroop-an-ai-orchestrator-that-builds-apps-using-ai-8db</link>
      <guid>https://dev.to/liviux/how-i-built-looptroop-an-ai-orchestrator-that-builds-apps-using-ai-8db</guid>
      <description>&lt;p&gt;I've been heads-down on this for months and only now feel ready to talk about it properly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;LoopTroop&lt;/strong&gt; is a local, open-source GUI orchestrator I built. It uses OpenCode (right now, more backends in the future) to create new apps or add features, fix bugs, and improve existing codebases. It leans heavily on context engineering, Ralph loops, beads, LLM councils, and git worktrees.&lt;/p&gt;

&lt;p&gt;Think Lovable or Replit, but with the opposite philosophy: it cares more about &lt;strong&gt;getting things right&lt;/strong&gt; than shipping as fast as possible.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Problem That Started Everything
&lt;/h2&gt;

&lt;p&gt;Early this year I kept hitting the same wall. I'd try to add meaningful features to my own apps and the normal IDE route just became overwhelming on anything complex. Tools like Replit didn't deliver what I needed either — they were even worse.&lt;/p&gt;

&lt;p&gt;Around the same time Ralph loops were getting popular. I thought: &lt;em&gt;What if I combine Ralph loops with a proper LLM council and a full development lifecycle?&lt;/em&gt; Maybe I could finally solve the real problems I was facing instead of fighting the tools.&lt;/p&gt;

&lt;p&gt;I told myself it would take a month. Maybe six weeks max.&lt;/p&gt;

&lt;p&gt;Boy, was I wrong.&lt;/p&gt;

&lt;p&gt;(I also have a day job, kids, a house — you know, normal life.)&lt;/p&gt;

&lt;p&gt;So me and my partner just started working on it whenever we could.&lt;/p&gt;




&lt;h2&gt;
  
  
  120 Hours of Planning (The Most Important Part)
&lt;/h2&gt;

&lt;p&gt;The first 120 hours were pure planning. No code at all.&lt;/p&gt;

&lt;p&gt;We looked at every similar project we could find and asked: what did they do well? Where did they fall short? I basically threw the initial idea at almost every model available back then and kept asking "What's missing? What's dumb? What should we push to later?"&lt;/p&gt;

&lt;p&gt;Some of the Chinese open models actually gave the best suggestions. I'd take their feedback, update the plan, switch to another model, ask again, and repeat.&lt;/p&gt;

&lt;p&gt;Once the core plan felt solid, I started digging into the actual tech stack behind it, this time leaning more on frontier models, then bouncing the new version back to the others for another round of criticism.&lt;/p&gt;

&lt;p&gt;That whole back-and-forth took the full 120 hours.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffigbby51y6if65ft4m1j.gif" alt="some parts of the app" width="600" height="338"&gt;
&lt;/h2&gt;

&lt;h2&gt;
  
  
  Actually Building It (And Why One-Shotting Was Impossible)
&lt;/h2&gt;

&lt;p&gt;Then we started implementing the plan.&lt;/p&gt;

&lt;p&gt;I used a bunch of different harnesses — hammering GitHub CLI (insanely useful at the time because one request could just keep running for hours), Claude Code, Codex, Droid, and a couple others. I'd keep the best output from each run, steal good UI ideas from the rest, and then go back to the strongest harness (mostly Claude Code with Opus back then) to fold everything together.&lt;/p&gt;

&lt;p&gt;Another month+ passed before it actually worked. This thing is genuinely complex. There was never any chance of one-shotting it.&lt;/p&gt;

&lt;p&gt;After the core started working, I spent the next couple of months adding features and refining until it finally felt like the thing I had originally pictured in my head. Only then did I feel comfortable starting to talk about it publicly.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fmyo34ebw9crfcjm60us3.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fmyo34ebw9crfcjm60us3.webp" alt="interview" width="800" height="385"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Feas4kcewzml5mflih0kk.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Feas4kcewzml5mflih0kk.webp" alt="implementation" width="799" height="383"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  The Tools &amp;amp; Models I Actually Used
&lt;/h2&gt;

&lt;p&gt;Because LoopTroop itself runs an LLM council, I needed access to lots of different models at the same time for testing and building. Here's what I leaned on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Multiple Codex Pro subscriptions + Codex-lb (the open-source load balancer so I wasn't constantly logging in and out)&lt;/li&gt;
&lt;li&gt;VS Code + Copilot + Copilot CLI (mainly for Claude Opus/Sonnet)&lt;/li&gt;
&lt;li&gt;OpenCode Go subscription for smaller tasks&lt;/li&gt;
&lt;li&gt;Antigravity (with Google Pro) for UI work and occasional Opus. Now that Flash 3.5 is out I use it constantly; it's fast and good enough for most non-complex work&lt;/li&gt;
&lt;li&gt;Kilo and OpenRouter to pull in free models for the council&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For big architectural decisions I would spin up GPT-5.5 (or 5.4) Pro and cross-check the plan across a ton of other models: MS Copilot, Z.ai GLM, Qwen, Minimax, Grok, Gemini, Deepseek, Kimi, Xiaomi, and sometimes even Mistral or Ernie. Same technique I used in my planning phase (described before) — moving the plan between different model families to catch edge cases and collect good ideas. I ended up with an &lt;code&gt;architecture.md&lt;/code&gt; file with 10000+ lines that got so changed when I made the app actually work.&lt;/p&gt;

&lt;p&gt;When I just wanted to know "What's the current best way people are doing X right now?", I usually started with Grok or Gemini.&lt;/p&gt;

&lt;p&gt;Out of the open models, I'd currently recommend Kimi and GLM (on top of the big three).&lt;/p&gt;

&lt;p&gt;Anything that got too complicated went straight onto the roadmap (it lives on GitHub and in the docs). That's how I actually managed to launch.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fy5tp1d15jtgyauemy6g8.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fy5tp1d15jtgyauemy6g8.jpg" alt="NotebookLM generated infographic showing app capabilities" width="800" height="447"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  What I'd Recommend Now (After Going Through It)
&lt;/h2&gt;

&lt;p&gt;If you're building something genuinely complex with AI right now, here's what I'd tell you:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Spend way more time on initial planning than you think you need.&lt;/strong&gt; Run your plan through as many different models as possible. Different model families catch completely different things. Push the big scary features onto a roadmap and get as close to a real MVP as you can. Tens of hours, hundreds even if you want something serious — not a to-do app.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;After planning, use the strongest model you can afford for the first real iteration.&lt;/strong&gt; I'd honestly just use LoopTroop for this now, with whatever the current top model is as the main implementer.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Then settle into the real forever coding loop:&lt;/strong&gt; Complex work? Use LoopTroop. Seriously, it's built for exactly this. Small stuff or quick fixes? Use whatever fits your budget (full Claude/Codex/Cursor plan, OpenCode Go, or free models via OpenRouter). Just keep repeating this forever.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Market and build at the same time.&lt;/strong&gt; Don't wait until it's perfect. Keep shipping updates and talking about it in parallel with the development work.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  See It In Action
&lt;/h2&gt;

&lt;p&gt;Here's a full walkthrough of LoopTroop doing its thing:&lt;/p&gt;

&lt;p&gt;Watch the full demo (16 minutes, after 6:50 the demo) on YouTube:&lt;br&gt;
&lt;a href="https://www.youtube.com/watch?v=LYiYkooc_iY" rel="noopener noreferrer"&gt;https://www.youtube.com/watch?v=LYiYkooc_iY&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;That's the story so far. It took way longer than I expected, cost more in subscriptions than I want to admit out loud, and taught me a ridiculous amount about how different models actually think.&lt;/p&gt;

&lt;p&gt;If you're building something complicated with AI agents or orchestrators right now, I'd genuinely love to hear how you're approaching it.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Repository:&lt;/strong&gt; &lt;a href="https://github.com/looptroop-ai/LoopTroop" rel="noopener noreferrer"&gt;github.com/looptroop-ai/LoopTroop&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Docs:&lt;/strong&gt; &lt;a href="https://www.looptroop.ovh/docs/" rel="noopener noreferrer"&gt;looptroop.ovh/docs&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>opensource</category>
      <category>showdev</category>
      <category>programming</category>
    </item>
    <item>
      <title>DevOps and SRE: The Dynamic Duo Transforming the Software Development Landscape</title>
      <dc:creator>Ștefănescu Liviu</dc:creator>
      <pubDate>Thu, 13 Apr 2023 08:33:40 +0000</pubDate>
      <link>https://dev.to/liviux/devops-and-sre-the-dynamic-duo-transforming-the-software-development-landscape-5109</link>
      <guid>https://dev.to/liviux/devops-and-sre-the-dynamic-duo-transforming-the-software-development-landscape-5109</guid>
      <description>&lt;h2&gt;
  
  
  An easy-to-understand introduction to DevOps and Site Reliability Engineering for the general audience
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Introduction
&lt;/h3&gt;

&lt;p&gt;In the ever-evolving world of software development, two concepts have emerged as vital components for delivering high-quality, reliable software: DevOps and Site Reliability Engineering (SRE). These approaches have revolutionized the way software is built, deployed, and maintained, and their adoption has led to increased efficiency and collaboration across organizations. In this article, we'll explore the main concepts of DevOps and SRE, and explain their significance in a way that's easy for a general audience to understand.&lt;/p&gt;

&lt;h3&gt;
  
  
  What is DevOps?
&lt;/h3&gt;

&lt;p&gt;DevOps, a combination of the words "development" and "operations," is a set of practices and cultural philosophies that bridge the gap between software development and IT operations teams. The goal of DevOps is to create a seamless, collaborative environment where developers and operations teams can work together to deliver high-quality software rapidly and reliably.&lt;/p&gt;

&lt;h3&gt;
  
  
  Key Concepts of DevOps
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Collaboration: DevOps encourages increased communication and cooperation between development and operations teams, fostering a shared understanding of goals and breaking down silos.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Continuous Integration (CI): This practice involves regularly merging code changes into a central repository, followed by automated building and testing. CI helps detect integration issues early and speeds up the development process.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Continuous Delivery (CD): CD is the process of automatically deploying code changes to production-like environments after they pass testing, making it easier to release new features and bug fixes quickly.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Infrastructure as Code (IaC): IaC is the management of infrastructure (such as networks, servers, and storage) through code, which allows for version control, easy rollbacks, and collaboration between team members.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Monitoring and Feedback: DevOps emphasizes the importance of monitoring applications and infrastructure to gather insights and feedback, enabling teams to continuously improve processes and address issues proactively.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  What is Site Reliability Engineering (SRE)?
&lt;/h3&gt;

&lt;p&gt;Site Reliability Engineering (SRE) is a discipline that combines aspects of software engineering and IT operations to ensure the reliability, availability, and performance of software systems. SREs are responsible for defining service level objectives (SLOs), monitoring system performance, and implementing automated solutions to improve the reliability and efficiency of software systems.&lt;/p&gt;

&lt;h3&gt;
  
  
  Key Concepts of SRE
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Service Level Objectives (SLOs): SLOs are measurable goals that represent the desired level of system reliability, such as uptime, latency, and error rates. SREs work closely with development teams to establish and maintain these objectives.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Error Budgets: An error budget is a defined tolerance for system failures or performance issues. By allocating an error budget, SREs can balance the need for system reliability with the desire to innovate and release new features.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Automation: SREs focus on automating tasks that are repetitive, error-prone, or time-consuming, freeing up resources to work on more valuable tasks and improving overall system reliability.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Monitoring and Observability: SREs use monitoring and observability tools to gain insights into the performance and health of software systems, enabling them to identify potential issues and proactively address them.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Blameless Postmortems: When incidents occur, SREs conduct blameless postmortems to review the event, identify the root cause, and implement improvements to prevent future occurrences, fostering a culture of learning and continuous improvement.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  The Benefits of DevOps and SRE
&lt;/h3&gt;

&lt;p&gt;The adoption of DevOps and SRE practices offers numerous advantages, including:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Faster Time-to-Market: By streamlining the development and deployment processes, organizations can bring new features and products to market more quickly.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Improved Collaboration: DevOps and SRE foster better communication and collaboration between development and operations teams, breaking down silos and resulting in more efficient problem-solving and decision-making.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Enhanced Reliability: By focusing on system reliability and implementing automated solutions, SREs can ensure that software systems are more stable, secure, and resilient.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Higher Quality Software: DevOps practices such as CI/CD and automated testing help to catch issues early, leading to higher quality software and fewer defects in production.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Cost Efficiency: By automating tasks and optimizing resource usage, DevOps and SRE can help organizations save time and money, while also reducing the risk of human errors.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Continuous Improvement: Both DevOps and SRE promote a culture of learning, feedback, and continuous improvement, enabling teams to learn from mistakes and proactively address potential issues.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;

&lt;p&gt;DevOps and Site Reliability Engineering have transformed the way software is developed, deployed, and maintained. By fostering collaboration, streamlining processes, and focusing on reliability, these practices have helped organizations deliver high-quality software more quickly and efficiently. With a better understanding of the main concepts of DevOps and SRE, anyone can appreciate the profound impact these approaches have on the software development landscape.&lt;/p&gt;

</description>
      <category>devops</category>
      <category>sre</category>
      <category>sitereliabilityengineering</category>
    </item>
    <item>
      <title>DevOps &amp; SRE Roadmap explained by AI - part 3</title>
      <dc:creator>Ștefănescu Liviu</dc:creator>
      <pubDate>Thu, 06 Apr 2023 16:37:06 +0000</pubDate>
      <link>https://dev.to/liviux/devops-sre-roadmap-explained-by-ai-part-3-11co</link>
      <guid>https://dev.to/liviux/devops-sre-roadmap-explained-by-ai-part-3-11co</guid>
      <description>&lt;p&gt;This part is for what you need to know about Cloud Native tools and principles.&lt;br&gt;
&lt;strong&gt;Cloud native&lt;/strong&gt; is essential for DevOps and SRE roles ☁️🌎 It allows you to build and run scalable applications in modern, dynamic environments 🚀 Cloud native technologies are highly customizable and can be used across a wide range of systems 🌐&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--xubuJIxI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fxgqgti4nhk95148glte.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--xubuJIxI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fxgqgti4nhk95148glte.jpg" alt="Image description" width="880" height="289"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--h-wgE_qD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hv9f7n6glc3r0mqvcajz.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--h-wgE_qD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hv9f7n6glc3r0mqvcajz.jpg" alt="Image description" width="880" height="788"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--i-WnN1AQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n6qr2kgxxzu7quhzebpj.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--i-WnN1AQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n6qr2kgxxzu7quhzebpj.jpg" alt="Image description" width="610" height="449"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ib_cOL65--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/scsgy1x0yd2gtdngy1av.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ib_cOL65--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/scsgy1x0yd2gtdngy1av.jpg" alt="Image description" width="456" height="806"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;👷‍♂️👷‍♀️ &lt;strong&gt;Infrastructure as code&lt;/strong&gt; (IaC) is a DevOps methodology that uses versioning with a descriptive model to define and deploy infrastructure such as networks, virtual machines, load balancers, and connection topologies.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--WEh88_7g--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4nqux7gi2r095w46ao0k.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--WEh88_7g--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4nqux7gi2r095w46ao0k.jpg" alt="Image description" width="880" height="366"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--gGAaacrK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/f6o4uy892kh2v8u2n2bo.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--gGAaacrK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/f6o4uy892kh2v8u2n2bo.jpg" alt="Image description" width="880" height="412"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--zPMxW9Sf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sh9x161kq5l9iku8e1fb.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--zPMxW9Sf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sh9x161kq5l9iku8e1fb.jpg" alt="Image description" width="880" height="425"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s---2I1c7r1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kt58mx3w2ohqynqfsy2g.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---2I1c7r1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kt58mx3w2ohqynqfsy2g.jpg" alt="Image description" width="880" height="1616"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;👩‍💻👨‍💻 &lt;strong&gt;Virtual machines&lt;/strong&gt; are software that emulate hardware and run operating systems. They are useful for DevOps and SRE roles because they allow testing, deploying and scaling applications in different environments.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--t5kTEMTs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a0y8bghf0goh9bze4uep.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--t5kTEMTs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a0y8bghf0goh9bze4uep.jpg" alt="Image description" width="880" height="352"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--v7kJqWxt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b2dkw30trlr3g17mr8gf.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--v7kJqWxt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b2dkw30trlr3g17mr8gf.jpg" alt="Image description" width="880" height="540"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--edbkD6nT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/w46t2lp0u09n66drcw23.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--edbkD6nT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/w46t2lp0u09n66drcw23.jpg" alt="Image description" width="880" height="1441"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--6uZ1n25C--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h4xeckaqwgbm51se5wpi.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--6uZ1n25C--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h4xeckaqwgbm51se5wpi.jpg" alt="Image description" width="880" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🌩️🌐👩‍💻 &lt;strong&gt;Cloud Computing&lt;/strong&gt; Private cloud: dedicated resources for one organization, more control and security, higher cost and maintenance. Public cloud: shared resources for multiple organizations, less control and security, lower cost and maintenance. Choose wisely! &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ylZCkF06--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fcw34kl02w0r7zfou9u4.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ylZCkF06--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fcw34kl02w0r7zfou9u4.jpg" alt="Image description" width="880" height="705"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--B7efRWX3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5lbbndz1hl3vwiyixy57.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--B7efRWX3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5lbbndz1hl3vwiyixy57.jpg" alt="Image description" width="880" height="237"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--wN5yeEUS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8mx5rzv7bjryhdxpfmqd.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--wN5yeEUS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8mx5rzv7bjryhdxpfmqd.jpg" alt="Image description" width="880" height="716"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ndT8jvsJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5awch37s4fx8rj6d12a7.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ndT8jvsJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5awch37s4fx8rj6d12a7.jpg" alt="Image description" width="880" height="1385"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🤖🔧👨‍💻  &lt;strong&gt;Automation&lt;/strong&gt;: using software to perform tasks that are repetitive, error-prone, or time-consuming, such as testing, deployment, monitoring, etc. &lt;strong&gt;Configuration management&lt;/strong&gt;: using tools to manage the state and behavior of systems and applications, such as Ansible, Puppet, Chef, etc. Work smarter, not harder!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Ef_ZdI6g--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ydnyrpzvjk5zy6x763ul.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Ef_ZdI6g--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ydnyrpzvjk5zy6x763ul.jpg" alt="Image description" width="880" height="736"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--faPF7cMZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t05o43dkrbyxovbdawh6.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--faPF7cMZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t05o43dkrbyxovbdawh6.jpg" alt="Image description" width="880" height="613"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--P5Z6sqR0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1u0gtxilqsft5yto69qr.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--P5Z6sqR0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1u0gtxilqsft5yto69qr.jpg" alt="Image description" width="880" height="1581"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--lJCII--a--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ebtyf1b60uorvhl1r8v4.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--lJCII--a--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ebtyf1b60uorvhl1r8v4.jpg" alt="Image description" width="880" height="297"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🐳🚀👩‍💻 &lt;strong&gt;Container Runtime&lt;/strong&gt; is the software layer that enables containers to run on a host machine. It provides an interface between the container engine and the operating system. It also manages the container lifecycle and resources.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--JXFvI5Ck--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cn2deh4g21htj6lphc0p.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--JXFvI5Ck--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cn2deh4g21htj6lphc0p.jpg" alt="Image description" width="880" height="518"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--pYd-NVgt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7w2pxcvlbk5x57b2eqz5.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--pYd-NVgt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7w2pxcvlbk5x57b2eqz5.jpg" alt="Image description" width="880" height="1336"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--AqtP4-ZP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a1nf8g9xh288itnm48ny.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--AqtP4-ZP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a1nf8g9xh288itnm48ny.jpg" alt="Image description" width="880" height="315"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Lm923T_k--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2e1w2joip32oyb4id2u9.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Lm923T_k--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2e1w2joip32oyb4id2u9.jpg" alt="Image description" width="880" height="676"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🌐🔌👩‍💻 Modern &lt;strong&gt;API Technologies&lt;/strong&gt; are the tools and methods that enable developers to create, test, document, and deploy APIs. They include frameworks, protocols, standards, and platforms that facilitate API development and integration.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--rWO5CANl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8fz0t5mluul8521zeuty.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--rWO5CANl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8fz0t5mluul8521zeuty.jpg" alt="Image description" width="880" height="366"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--qIHag60L--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ubymry1vroyl038dmxw8.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--qIHag60L--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ubymry1vroyl038dmxw8.jpg" alt="Image description" width="880" height="769"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--t7uzaqC9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fynz239bjn17oxk6cv5m.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--t7uzaqC9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fynz239bjn17oxk6cv5m.jpg" alt="Image description" width="880" height="782"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--8-eSnwGB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/89220dmmhmhmtqttopgt.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--8-eSnwGB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/89220dmmhmhmtqttopgt.jpg" alt="Image description" width="880" height="1480"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🐙🛠👩‍💻 &lt;strong&gt;Kubernetes&lt;/strong&gt; is an open-source system for automating deployment, scaling, and management of containerized applications. It orchestrates clusters of nodes and pods that run containers across different environments.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--u4SLUwoR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/m4t9qn6pn8ntz7fjarks.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--u4SLUwoR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/m4t9qn6pn8ntz7fjarks.jpg" alt="Image description" width="880" height="405"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--GPnKJydf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2uwddi84za5v2a8zjrvv.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--GPnKJydf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2uwddi84za5v2a8zjrvv.jpg" alt="Image description" width="880" height="448"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--DhSzqHLt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/d6ckfw4lzemqqphvl27b.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--DhSzqHLt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/d6ckfw4lzemqqphvl27b.jpg" alt="Image description" width="880" height="783"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ly2qPhVV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fzow1fdck22ytmu81on2.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ly2qPhVV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fzow1fdck22ytmu81on2.jpg" alt="Image description" width="880" height="1206"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🕸🛡👩‍💻 &lt;strong&gt;Service Proxy&lt;/strong&gt; and &lt;strong&gt;Service Mesh&lt;/strong&gt; are technologies that enable communication and security between microservices. A service proxy is a software agent that intercepts and handles network requests. A service mesh is a network of service proxies that manage traffic and policies.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Y03il68D--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ry2tljxo1aye11yde4y1.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Y03il68D--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ry2tljxo1aye11yde4y1.jpg" alt="Image description" width="880" height="730"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ws8dy2XJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/np4rm8edogo7gl502p4y.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ws8dy2XJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/np4rm8edogo7gl502p4y.jpg" alt="Image description" width="880" height="365"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--FcDjRMcj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vo9yuvyimbkhbjgetaen.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--FcDjRMcj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vo9yuvyimbkhbjgetaen.jpg" alt="Image description" width="880" height="913"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--PXFITat2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/95yy7awfwenb9a4qgutb.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--PXFITat2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/95yy7awfwenb9a4qgutb.jpg" alt="Image description" width="880" height="1614"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🔄🚀👩‍💻 &lt;strong&gt;CI/CD&lt;/strong&gt; is a set of practices that enable faster and reliable delivery of software. CI stands for &lt;strong&gt;continuous integration&lt;/strong&gt; , which means merging code changes frequently and testing them automatically. CD stands for &lt;strong&gt;continuous delivery or deployment&lt;/strong&gt; , which means releasing software to production with minimal manual intervention.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--I9GZsMyw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jg3takgyd3wkasgouy5w.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--I9GZsMyw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jg3takgyd3wkasgouy5w.jpg" alt="Image description" width="880" height="457"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--i8vves6O--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/z2fnvw1on2fqt31bne8o.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--i8vves6O--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/z2fnvw1on2fqt31bne8o.jpg" alt="Image description" width="880" height="646"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--T1YwXkr5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t5spfvc5m33z76li7wus.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--T1YwXkr5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t5spfvc5m33z76li7wus.jpg" alt="Image description" width="880" height="910"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--t5p7umlh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/33ebcaoyt4ejzrrsniv6.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--t5p7umlh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/33ebcaoyt4ejzrrsniv6.jpg" alt="Image description" width="880" height="1654"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;📺📨👩‍💻 &lt;strong&gt;Streaming and Messaging&lt;/strong&gt; are techniques that enable asynchronous and real-time data processing for app development. Streaming is the continuous ingestion and analysis of data from various sources. Messaging is the exchange of data between applications or services via a broker or a queue. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--G4Ar-Ewm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yuy1s4w96su8jb55i702.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--G4Ar-Ewm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yuy1s4w96su8jb55i702.jpg" alt="Image description" width="880" height="452"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--dZqb84xH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/c8ueutlsr06wtzy4s5g2.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--dZqb84xH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/c8ueutlsr06wtzy4s5g2.jpg" alt="Image description" width="880" height="749"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--NtoG29c6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1xy0nre4wthwfj8jeswj.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--NtoG29c6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1xy0nre4wthwfj8jeswj.jpg" alt="Image description" width="880" height="878"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--b564moTz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/p09e9ra2m7yn0ppukrgf.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--b564moTz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/p09e9ra2m7yn0ppukrgf.jpg" alt="Image description" width="880" height="1515"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;👀📊👩‍💻 &lt;strong&gt;Observability&lt;/strong&gt; is the ability to monitor and understand the internal state and behavior of a system based on the external outputs. It involves collecting and analyzing metrics, logs, and traces from various components and sources. Observability helps to identify and troubleshoot issues, optimize performance, and improve reliability.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ChO9dB6r--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5h3wmtzwwjnegeub3bc0.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ChO9dB6r--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5h3wmtzwwjnegeub3bc0.jpg" alt="Image description" width="880" height="412"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--pFvhpKkX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vyt4gvsdqfslplciutpb.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--pFvhpKkX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vyt4gvsdqfslplciutpb.jpg" alt="Image description" width="880" height="599"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Khsa4zrk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0sdwc8yj9wdyeo2uelcb.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Khsa4zrk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0sdwc8yj9wdyeo2uelcb.jpg" alt="Image description" width="880" height="640"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--z6g-fIAf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bmtzxd8srx9bbfz85881.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--z6g-fIAf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bmtzxd8srx9bbfz85881.jpg" alt="Image description" width="880" height="1374"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🚀🌩️🔥 &lt;strong&gt;Serverless&lt;/strong&gt; is a cloud computing model that allows developers to run code without provisioning or managing servers. It is ideal for DevOps and SRE roles who want to focus on business logic, scalability and cost-efficiency.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--BloUKgBH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/taqi9ivzxbjd7lhats2g.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--BloUKgBH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/taqi9ivzxbjd7lhats2g.jpg" alt="Image description" width="880" height="1291"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ClG3Nz0q--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ixuzctcil4x3ijgbuixm.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ClG3Nz0q--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ixuzctcil4x3ijgbuixm.jpg" alt="Image description" width="880" height="346"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s----gl1TDH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dy6xgklg7csqareua8ed.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s----gl1TDH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dy6xgklg7csqareua8ed.jpg" alt="Image description" width="880" height="1350"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--y75J4cfu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yxpci84nhh212mo21kal.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--y75J4cfu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yxpci84nhh212mo21kal.jpg" alt="Image description" width="880" height="623"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That's all for this part - Cloud Native.&lt;br&gt;
Next part is NON SRE/DEVOPS, a small one so it's below.&lt;/p&gt;

&lt;h2&gt;
  
  
  NON DevOps/SRE
&lt;/h2&gt;

&lt;p&gt;There is no such a thing as NON-SRE/DevOps part in a SRE/DevOps guide, what I meant is some additional knowledge that you need or don't depending on your situation.&lt;br&gt;
I'm a telecommunications engineer so I know that pretty well. You definitely need to learn some &lt;strong&gt;networking&lt;/strong&gt;.&lt;br&gt;
Extra things that I (and maybe you) know or want to understand better are &lt;strong&gt;cryptography&lt;/strong&gt;, project management (mostly &lt;strong&gt;Agile&lt;/strong&gt;), licencing and important Organisation (like CNCF, FSF, etc.). As I'm a huge Bitcoin only fan I know some things around blockchains too.&lt;/p&gt;

</description>
      <category>devops</category>
      <category>sre</category>
      <category>ai</category>
    </item>
    <item>
      <title>DevOps &amp; SRE Roadmap explained by AI - part 2</title>
      <dc:creator>Ștefănescu Liviu</dc:creator>
      <pubDate>Wed, 05 Apr 2023 16:33:28 +0000</pubDate>
      <link>https://dev.to/liviux/devops-sre-roadmap-explained-by-ai-part-2-12gd</link>
      <guid>https://dev.to/liviux/devops-sre-roadmap-explained-by-ai-part-2-12gd</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--wxZywfie--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tztg0hlese4f8uyustgo.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--wxZywfie--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tztg0hlese4f8uyustgo.jpg" alt="Image description" width="880" height="501"&gt;&lt;/a&gt;&lt;br&gt;
This part is for what you need to know about &lt;strong&gt;Operating Systems&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--r3q6xDQb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/os14fz8v8itq13h0wrce.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--r3q6xDQb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/os14fz8v8itq13h0wrce.jpg" alt="Image description" width="626" height="650"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s---9MF4GQc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mbmksmsr90zrn7nr5g09.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---9MF4GQc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mbmksmsr90zrn7nr5g09.jpg" alt="Image description" width="462" height="781"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--viNb_m5D--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/r1honmn44lh8q9geiayt.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--viNb_m5D--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/r1honmn44lh8q9geiayt.jpg" alt="Image description" width="880" height="608"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--q_7o3Tas--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bed5jehys8f6vfet8ozt.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--q_7o3Tas--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bed5jehys8f6vfet8ozt.jpg" alt="Image description" width="880" height="242"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You will need to understand some &lt;strong&gt;OS fundamentals&lt;/strong&gt; . And if you're in a very rare case of a company that is Windows exclusive you will only need to live in a Linux terminal 99% of your time. So learn only Linux and learn it well.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Linux&lt;/strong&gt; is a powerful open-source operating system that’s essential for DevOps and SRE roles 🐧🔧 It provides a stable, secure, and customizable platform for software development, deployment, and maintenance 💻 Linux is highly scalable and can be used across a wide range of systems 🚀&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--MRE57xpR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tq5zhwjob5s1omzgfo32.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--MRE57xpR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tq5zhwjob5s1omzgfo32.jpg" alt="Image description" width="880" height="523"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--a69EhKJ0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6ncw7vm1t1g4mc71dv81.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--a69EhKJ0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6ncw7vm1t1g4mc71dv81.jpg" alt="Image description" width="880" height="273"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--_GlK1vEj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3ky35xj9gqa3wiqlkssr.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_GlK1vEj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3ky35xj9gqa3wiqlkssr.jpg" alt="Image description" width="614" height="599"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Sl91V6fA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4llloolrcmnb87qtkngs.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Sl91V6fA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4llloolrcmnb87qtkngs.jpg" alt="Image description" width="444" height="630"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Linux commands&lt;/strong&gt; are essential for DevOps and SRE roles 🔧💻 They allow you to manage hardware and software resources, automate tasks, and deploy software with confidence 🚀 Linux commands are highly customizable and can be used across a wide range of systems 🌎&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Ncdl5Mlx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yrz46g2clalrnrq1twyv.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Ncdl5Mlx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yrz46g2clalrnrq1twyv.jpg" alt="Image description" width="880" height="356"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--gUwBg599--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kexel5vx4zn51trfo1j8.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--gUwBg599--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kexel5vx4zn51trfo1j8.jpg" alt="Image description" width="880" height="865"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--5v_9TUFP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8vx20t3elafjike2ays0.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--5v_9TUFP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8vx20t3elafjike2ays0.jpg" alt="Image description" width="456" height="646"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--jozSpmER--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wfqzoxf6jtkjhpsqr908.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--jozSpmER--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wfqzoxf6jtkjhpsqr908.jpg" alt="Image description" width="622" height="860"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Bash scripting&lt;/strong&gt; is essential for DevOps and SRE roles 📜💻 It allows you to automate tasks, manage systems, and deploy software with ease 🚀 Bash scripts are highly customizable and can be used across a wide range of systems 🌎 &lt;br&gt;
(lol AI really likes to write &lt;em&gt;can be used across a wide range of systems 🌎&lt;/em&gt;)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--XmKlKeHn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/od0gt97gti6wafhhy9l1.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--XmKlKeHn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/od0gt97gti6wafhhy9l1.jpg" alt="Image description" width="880" height="694"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--VRhX-7z1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/r3kiq5am1r7h79895zl4.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--VRhX-7z1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/r3kiq5am1r7h79895zl4.jpg" alt="Image description" width="880" height="428"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--EWJNxrOB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ondwqrhlbkeh1rce13za.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--EWJNxrOB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ondwqrhlbkeh1rce13za.jpg" alt="Image description" width="629" height="883"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--tokohpoX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y4by9hlq1r8cx0hfqfpm.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--tokohpoX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y4by9hlq1r8cx0hfqfpm.jpg" alt="Image description" width="452" height="677"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Essentially you need to know Linux very well!&lt;/p&gt;

&lt;p&gt;This is all for Operating Systems.&lt;br&gt;
Next part is the biggest one - Cloud Native.&lt;/p&gt;

</description>
      <category>kubernetes</category>
      <category>k8</category>
      <category>ai</category>
    </item>
    <item>
      <title>DevOps &amp; SRE Roadmap explained by AI - part 1</title>
      <dc:creator>Ștefănescu Liviu</dc:creator>
      <pubDate>Wed, 05 Apr 2023 16:04:54 +0000</pubDate>
      <link>https://dev.to/liviux/devops-sre-roadmap-explained-by-ai-11p6</link>
      <guid>https://dev.to/liviux/devops-sre-roadmap-explained-by-ai-11p6</guid>
      <description>&lt;h2&gt;
  
  
  &lt;em&gt;Introduction&lt;/em&gt;
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;(you can view the screenshots in a better resolution on the twitter thread &lt;a href="https://twitter.com/liviusa/status/1643662028266000384"&gt;here&lt;/a&gt;)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Hey there, budding tech enthusiasts! Welcome to the exciting world of DevOps! In this article, we'll walk you through a roadmap to kickstart your DevOps journey, and with a little help from our AI friend, we'll demystify key concepts and techniques that you'll need along the way. So, buckle up, and let's dive into the realm where development and operations join hands to deliver the best software experience possible!&lt;/p&gt;

&lt;p&gt;No one knows everything from a full roadmap including the one made by me. I made it a couple of years ago to start my new #DevOps role and it's a WIP. You only need to understand most of the notions and to really know a few of them. &lt;br&gt;
My roadmap has 4 parts. And every part and sub-part has something below it. The full circles are a must and dotted circles are more important.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--E8cz1lq9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/i3tj4fq639rcs8i03mkq.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--E8cz1lq9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/i3tj4fq639rcs8i03mkq.jpg" alt="roadmap" width="880" height="501"&gt;&lt;/a&gt;&lt;br&gt;
Higher resolution &lt;a&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I'll use:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;ChatGPT from OpenAI &lt;/li&gt;
&lt;li&gt;Claude from AnthropicAI &lt;/li&gt;
&lt;li&gt;Bing Chat from bing &lt;/li&gt;
&lt;li&gt;Bard from Google 
to explain some DevOps and SRE concepts in an easy way and in a more complex one too. And what tools to know for each. So let's start with the first part&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;em&gt;DEVELOPMENT&lt;/em&gt;
&lt;/h2&gt;

&lt;p&gt;While it's not a bad thing to know a language, it's not a must. You will need how to write some scripts, but now with #GPT4 and #Copilot you can make easy scripts in seconds.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--lzu6ILtT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4vdgsrfqdz1bwn8ml6rb.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--lzu6ILtT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4vdgsrfqdz1bwn8ml6rb.jpg" alt="Image description" width="880" height="357"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--8mFIGvxM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/22xx9ijw4vhyt33e5tlz.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--8mFIGvxM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/22xx9ijw4vhyt33e5tlz.jpg" alt="Image description" width="880" height="510"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--gihHRMxf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/oa37l6z29wj54qfctyth.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--gihHRMxf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/oa37l6z29wj54qfctyth.jpg" alt="Image description" width="630" height="682"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--G0we4cxi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yg9sg5j31t2c7scamh73.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--G0we4cxi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yg9sg5j31t2c7scamh73.jpg" alt="Image description" width="451" height="754"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;VCS&lt;/strong&gt;&lt;br&gt;
Version control is a practice of tracking and managing changes to software code that helps high performing development and DevOps teams prosper 🚀👨‍💻👩‍💻. It allows developers to move faster and preserve efficiency as the team scales 📈👥&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--xFsa5Zo4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u2wyctko8wnql01c6xmu.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--xFsa5Zo4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u2wyctko8wnql01c6xmu.jpg" alt="Image description" width="457" height="827"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--3td_msaQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ae1cv34lhnd0pz0rzt1k.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--3td_msaQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ae1cv34lhnd0pz0rzt1k.jpg" alt="Image description" width="626" height="634"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--IGMZVv5g--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3bbh05tl7wjijdohv1df.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--IGMZVv5g--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3bbh05tl7wjijdohv1df.jpg" alt="Image description" width="880" height="374"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--zt6SZQFa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n3jn0huv59k5t0jdemso.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--zt6SZQFa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n3jn0huv59k5t0jdemso.jpg" alt="Image description" width="880" height="487"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Deployments&lt;/strong&gt; are a process of deploying applications into production environments in a consistent and reliable way 🚀👨‍💻👩‍💻. It enables faster development of new products and easier maintenance of existing deployments 📈👥 &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--QKleb123--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/x7nuw4k248w17ohr0nyp.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--QKleb123--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/x7nuw4k248w17ohr0nyp.jpg" alt="Image description" width="630" height="619"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--iM2lCxZt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ze2tcm3t9b1j12z7c614.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--iM2lCxZt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ze2tcm3t9b1j12z7c614.jpg" alt="Image description" width="880" height="549"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--mHE3pWAK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bd7o8qldwyhydxwuqonm.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--mHE3pWAK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bd7o8qldwyhydxwuqonm.jpg" alt="Image description" width="880" height="295"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Eo-GwQOE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/v33b481ft8e9xeyo21ov.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Eo-GwQOE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/v33b481ft8e9xeyo21ov.jpg" alt="Image description" width="469" height="817"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Architectural patterns&lt;/strong&gt; are a set of best practices that help you design and build reliable, scalable, and secure applications in the cloud 🌥️🚀 They are essential in a DevOps or SRE role as they enable you to automate multistage DevOps pipelines and achieve continuous delivery 🔁 &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--z6hjsNfO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kn9b4cufjok54z0oxyiu.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--z6hjsNfO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kn9b4cufjok54z0oxyiu.jpg" alt="Image description" width="880" height="330"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Go3nh0Z5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sv77ib5crta4b3urn6fh.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Go3nh0Z5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sv77ib5crta4b3urn6fh.jpg" alt="Image description" width="880" height="572"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--IMxZ2ejh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/avchq7p5mejss2ug700l.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--IMxZ2ejh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/avchq7p5mejss2ug700l.jpg" alt="Image description" width="629" height="679"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--nFPl8ei4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ji3d6m2y39pvgf8e8ji0.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--nFPl8ei4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ji3d6m2y39pvgf8e8ji0.jpg" alt="Image description" width="454" height="791"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Python scripting&lt;/strong&gt; is a powerful tool for DevOps teams 🔧🐍 It’s used for automating repetitive tasks, infrastructure provisioning, and API-driven deployments 🚀 Python’s flexibility and accessibility make it a great fit for this job, enabling teams to build web applications and data visualizations 🌐 &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--tCZ_Zugz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/52mskahk8os1mek2h7u3.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--tCZ_Zugz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/52mskahk8os1mek2h7u3.jpg" alt="Image description" width="880" height="623"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--PsWxm3Gw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u736scahvku4o4oiqc8f.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--PsWxm3Gw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u736scahvku4o4oiqc8f.jpg" alt="Image description" width="880" height="617"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--5askiDl1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zoa8rogl05ci7jr2py1r.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--5askiDl1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zoa8rogl05ci7jr2py1r.jpg" alt="Image description" width="628" height="706"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--yLu7Nvmq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nvhsw15ztwbdeme3ke27.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--yLu7Nvmq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nvhsw15ztwbdeme3ke27.jpg" alt="Image description" width="476" height="714"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That's all for the first part - &lt;strong&gt;Development&lt;/strong&gt;.&lt;br&gt;
Next part is &lt;strong&gt;Operating systems&lt;/strong&gt;.&lt;/p&gt;

</description>
      <category>devops</category>
      <category>sre</category>
      <category>ai</category>
    </item>
    <item>
      <title>Kubernetes: The Revolution in Managing Digital Applications Made Simple</title>
      <dc:creator>Ștefănescu Liviu</dc:creator>
      <pubDate>Wed, 05 Apr 2023 07:14:53 +0000</pubDate>
      <link>https://dev.to/liviux/kubernetes-the-revolution-in-managing-digital-applications-made-simple-f49</link>
      <guid>https://dev.to/liviux/kubernetes-the-revolution-in-managing-digital-applications-made-simple-f49</guid>
      <description>&lt;p&gt;&lt;em&gt;A beginner's guide to understanding Kubernetes and its impact on the digital world&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In the fast-paced world of technology, it's essential to understand the driving forces behind some of the most cutting-edge innovations. One such force, Kubernetes, has revolutionized the way digital applications are managed and deployed. But what exactly is Kubernetes, and how does it benefit both tech giants and small businesses alike? In this article, we'll break down the main concepts of Kubernetes in a way that's easy for a general audience to understand.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is Kubernetes?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Kubernetes (often abbreviated as K8s) is an open-source platform that automates the deployment, scaling, and management of containerized applications. It was originally developed by Google and later donated to the Cloud Native Computing Foundation (CNCF). Containers, which are lightweight, self-contained software packages, enable developers to build, test, and deploy applications more efficiently and reliably.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s---yFxjUKW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/00sym5r2pv9pwkbwrk91.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---yFxjUKW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/00sym5r2pv9pwkbwrk91.jpg" alt="kubernetes" width="880" height="880"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Concepts of Kubernetes&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Containers: As mentioned earlier, containers are the fundamental building blocks of Kubernetes. They package an application and its dependencies into a single unit, ensuring that the application runs consistently across different computing environments.&lt;/p&gt;

&lt;p&gt;Nodes: In Kubernetes, a node is a physical or virtual machine that hosts one or more containers. Nodes can be easily added or removed, depending on the required computing resources, making it possible to scale applications quickly and efficiently.&lt;/p&gt;

&lt;p&gt;Clusters: A cluster is a group of nodes working together to run containerized applications. Kubernetes uses clusters to distribute workloads evenly, ensuring that applications are highly available and can recover quickly from failures.&lt;/p&gt;

&lt;p&gt;Pods: A pod is the smallest and most basic unit in the Kubernetes architecture. It represents a single instance of a running application and can contain one or more containers. Pods are designed to be ephemeral, which means they can be easily replaced if they fail or need to be updated.&lt;/p&gt;

&lt;p&gt;Services: A service is a stable network endpoint that provides access to one or more pods running an application. It allows users to interact with the application without needing to know the specific details of the underlying pods or nodes.&lt;/p&gt;

&lt;p&gt;Controllers: Controllers are responsible for maintaining the desired state of the Kubernetes system. They continuously monitor the system and make necessary adjustments to ensure that the actual state matches the desired state. Examples of controllers include the ReplicaSet controller, which ensures that a specified number of replicas of an application are running at all times, and the Deployment controller, which manages updates and rollbacks of applications.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Benefits of Kubernetes&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Kubernetes offers numerous advantages to businesses and developers, including:&lt;/p&gt;

&lt;p&gt;Scalability: Kubernetes allows applications to scale up or down quickly and easily, depending on demand. This enables businesses to save resources and respond swiftly to changes in the market.&lt;/p&gt;

&lt;p&gt;Portability: Because containers can run consistently across different environments, Kubernetes applications can be easily moved between on-premises, public cloud, or hybrid environments without requiring significant changes.&lt;/p&gt;

&lt;p&gt;High availability: Kubernetes automatically distributes workloads and ensures that applications remain available even if individual components fail, improving overall reliability and uptime.&lt;/p&gt;

&lt;p&gt;Streamlined deployment: Kubernetes simplifies the deployment process, allowing developers to focus on building and improving applications rather than managing complex infrastructure.&lt;/p&gt;

&lt;p&gt;Cost efficiency: By optimizing resource usage and reducing manual intervention, Kubernetes can help organizations save both time and money.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Kubernetes has quickly become the industry standard for container orchestration and application management. Its ability to simplify deployment, ensure high availability, and enable seamless scaling has made it an invaluable tool for businesses and developers alike. By understanding the main concepts of Kubernetes, anyone can appreciate the remarkable impact this technology has on the digital world.&lt;/p&gt;

</description>
      <category>kubernetes</category>
      <category>k8s</category>
    </item>
  </channel>
</rss>
