<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>AI software &#8211; Best DevOps</title>
	<atom:link href="https://www.bestdevops.com/tag/ai-software/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.bestdevops.com</link>
	<description>Lets Learn, Do it &#38; Share! Thats a Best DevOps!!!</description>
	<lastBuildDate>Wed, 14 Oct 2026 12:18:01 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.3</generator>
	<item>
		<title>Compiled vs. Interpreted Languages: Which Is Better for DevOps?</title>
		<link>https://www.bestdevops.com/compiled-vs-interpreted-languages-which-is-better-for-devops/</link>
					<comments>https://www.bestdevops.com/compiled-vs-interpreted-languages-which-is-better-for-devops/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Thu, 28 May 2020 09:41:12 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<category><![CDATA[AI software]]></category>
		<category><![CDATA[IT technology]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Software-Market]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=12694</guid>

					<description><![CDATA[Interpreted languages offer agility, transparency, and portability that align well with DevOps principles, but compiled languages still win on raw performance. Here's how to think about the tradeoff.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>This article is based on a piece originally published at <a href="https://www.itprotoday.com" rel="noopener">ITPro Today</a>.</em></p>



<h2 class="wp-block-heading">The Core Question</h2>



<p class="wp-block-paragraph">DevOps culture prizes speed, agility, collaboration, and continuous delivery. When you look at those values against the fundamental differences between compiled and interpreted languages, it&#8217;s reasonable to ask: does the DevOps model naturally favour one execution model over the other? The short answer is that interpreted languages align more closely with many DevOps practices, but compiled languages are far from irrelevant — and for certain workloads they remain the better engineering choice.</p>



<h2 class="wp-block-heading">How the Two Models Work</h2>



<p class="wp-block-paragraph">Before weighing the tradeoffs, it helps to be precise about what the terms mean:</p>



<ul class="wp-block-list">
<li><strong>Compiled languages</strong> translate source code into machine code (or an intermediate bytecode) ahead of execution, producing a standalone binary. Examples include C, C++, Go, and Rust.</li>
<li><strong>Interpreted languages</strong> pass source code to a runtime interpreter at execution time, which reads and runs the instructions directly. Examples include Python, Ruby, and JavaScript (Node.js). Many modern &#8220;interpreted&#8221; runtimes also perform just-in-time (JIT) compilation internally, blurring the line somewhat.</li>
</ul>



<h2 class="wp-block-heading">Advantages of Interpreted Languages for DevOps</h2>



<h3 class="wp-block-heading">1. Code Transparency and Collaboration</h3>



<p class="wp-block-paragraph">One of DevOps&#8217; foundational goals is to remove silos between development and operations. Interpreted languages support this naturally: the source code <em>is</em> the deployed artifact. An operations engineer investigating a production issue can read the running scripts directly, without needing a developer to hand over a separate source archive. This transparency lowers the friction of cross-functional collaboration.</p>



<h3 class="wp-block-heading">2. Faster Iteration and Continuous Delivery</h3>



<p class="wp-block-paragraph">Because there is no compile step, a change to an interpreted codebase can be deployed the moment it is written and tested. This fits the continuous delivery model well: shorter feedback loops, smaller releases, and the ability to hot-fix a running service without a full build pipeline cycle. Compiled languages introduce a build stage that, while automatable in CI/CD pipelines, does add latency to the release cycle.</p>



<h3 class="wp-block-heading">3. Portability Across Environments</h3>



<p class="wp-block-paragraph">Most interpreted languages run on any platform that has the appropriate runtime installed, without requiring a platform-specific recompile. For DevOps teams managing heterogeneous infrastructure — multiple Linux distributions, macOS developer machines, cloud VMs — this portability reduces environment-specific packaging work. Compiled languages generally require separate build targets for each platform, though cross-compilation tooling has improved significantly in recent years.</p>



<h3 class="wp-block-heading">4. Observability and Troubleshooting</h3>



<p class="wp-block-paragraph">Interpreted runtimes often expose rich introspection capabilities. The interpreter itself can report on execution state, memory usage, and call stacks in ways that can be surfaced to monitoring tools with relatively little instrumentation overhead. This is one reason Python and Ruby have extensive ecosystems of profiling, tracing, and APM integrations.</p>



<p class="wp-block-paragraph">These characteristics help explain why Python — originally designed in the late 1980s for system-administration scripting — has grown into one of the most widely used general-purpose languages across DevOps tooling, data engineering, and application development. Ruby followed a similar trajectory. Both languages predate the DevOps movement, but their design priorities happen to map onto DevOps values closely.</p>



<h2 class="wp-block-heading">Where Compiled Languages Still Have the Edge</h2>



<h3 class="wp-block-heading">Raw Performance and Resource Efficiency</h3>



<p class="wp-block-paragraph">The performance gap between compiled and interpreted languages has narrowed considerably as interpreter implementations have improved, but it has not closed entirely. For CPU-intensive workloads — data processing at scale, high-throughput network services, real-time systems — a binary compiled from C, C++, Go, or Rust will typically execute faster and with a smaller memory footprint than equivalent interpreted code. For DevOps teams where infrastructure cost and latency SLAs are first-class concerns, this matters.</p>



<h3 class="wp-block-heading">Modern Compiled Languages Are DevOps-Aware</h3>



<p class="wp-block-paragraph">An important nuance is that not all compiled languages carry the same DevOps friction. Go, for example, was designed at a time when microservices, containers, and distributed systems were already mainstream concerns. It compiles to a self-contained static binary with no runtime dependency, which is extremely container-friendly (minimal base images, fast startup). Many prominent DevOps tools — including Docker, Kubernetes, Terraform, and Prometheus — are written in Go, partly for this reason. Rust offers similar deployment characteristics with additional memory-safety guarantees.</p>



<p class="wp-block-paragraph">This means the historical critique of compiled languages — that they are heavy, environment-specific, and slow to iterate on — applies far less to the generation of compiled languages designed in the 2000s and 2010s.</p>



<h2 class="wp-block-heading">Practical Guidance: How to Choose</h2>



<p class="wp-block-paragraph">There is no universal answer. The right choice depends on the workload, team expertise, and which DevOps properties matter most for a given project. The following framework is a useful starting point:</p>



<figure class="wp-block-table"><table><thead><tr><th>Priority</th><th>Lean toward</th></tr></thead><tbody><tr><td>Rapid iteration, CI/CD velocity, scripting, automation</td><td>Interpreted (Python, Ruby, JavaScript)</td></tr><tr><td>Maximum runtime performance, low resource usage</td><td>Compiled (Go, Rust, C++)</td></tr><tr><td>Container-friendly static binaries, microservices</td><td>Compiled (Go, Rust)</td></tr><tr><td>Cross-team code transparency and readability</td><td>Interpreted</td></tr><tr><td>Large ecosystem of DevOps libraries and tooling integrations</td><td>Interpreted (Python especially)</td></tr></tbody></table></figure>



<h2 class="wp-block-heading">The Reality: Most DevOps Environments Use Both</h2>



<p class="wp-block-paragraph">In practice, mature DevOps organisations rarely make an either/or choice. A common pattern is to write infrastructure automation, deployment scripts, and monitoring integrations in Python or similar interpreted languages, while the performance-critical application services running in production are written in Go or another compiled language. The CI/CD pipeline handles both: interpreted scripts execute without a build step, while compiled services go through a build-and-package stage before deployment.</p>



<p class="wp-block-paragraph">The key engineering insight is to match the language to the job, not to pick one model and apply it everywhere. Interpreted languages are unlikely to displace compiled ones from performance-sensitive domains, and compiled languages are unlikely to replace the convenience of interpreted scripting for operational tasks. Both will remain relevant for the foreseeable future.</p>



<h2 class="wp-block-heading">Key Takeaways</h2>



<ul class="wp-block-list">
<li>Interpreted languages (Python, Ruby, JavaScript) offer agility, code transparency, and portability that align naturally with DevOps practices.</li>
<li>Compiled languages (Go, Rust, C++) retain performance and resource-efficiency advantages that matter for production services at scale.</li>
<li>Modern compiled languages like Go were designed with containers and distributed systems in mind, reducing the traditional DevOps friction of compiled code.</li>
<li>Most production DevOps environments use both: interpreted languages for automation and tooling, compiled languages for performance-critical services.</li>
<li>Choose based on workload requirements and team priorities, not on a blanket preference for one execution model.</li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/compiled-vs-interpreted-languages-which-is-better-for-devops/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How Traditional AppSec Code Halts Are Killing DevOps Release Cycles</title>
		<link>https://www.bestdevops.com/traditional-appsec-code-halts-kill-devops-release-cycles/</link>
					<comments>https://www.bestdevops.com/traditional-appsec-code-halts-kill-devops-release-cycles/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Sat, 02 May 2020 05:17:19 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<category><![CDATA[AI software]]></category>
		<category><![CDATA[AppSec tools]]></category>
		<category><![CDATA[COVID-19]]></category>
		<category><![CDATA[IT technology]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=12154</guid>

					<description><![CDATA[Legacy application security tools—SAST, DAST, SCA, and WAFs—introduce code halts, false positives, and multi-hour delays that directly undermine DevOps velocity. Here's why the problem persists and what engineering teams need instead.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>This article is based on analysis originally published on Security Boulevard. It explores why legacy AppSec tooling conflicts with modern DevOps workflows and what a more integrated approach looks like.</em></p>



<h2 class="wp-block-heading">The Tension Between Development Speed and Application Security</h2>



<p class="wp-block-paragraph">Software development has undergone a fundamental transformation over the past decade. Agile methodologies, continuous integration, containerisation, and microservices architectures have compressed release cycles from quarters to days—or even hours. Application security (AppSec), however, has not kept pace. The tools most organisations rely on were designed for waterfall-era pipelines, and forcing them into a DevOps workflow creates friction that costs teams measurable time and productivity.</p>



<p class="wp-block-paragraph">The result is a recurring conflict: security teams mandate scanning checkpoints, developers face unplanned code halts, deadlines slip, and vulnerabilities still reach production. Understanding exactly where each legacy tool breaks down is the first step toward fixing the problem.</p>



<h2 class="wp-block-heading">Developer Productivity Is a Strategic Priority—and a Scarce Resource</h2>



<p class="wp-block-paragraph">Organisations across every sector are competing on software. Business leaders consistently rank developer talent and productivity among their top operational concerns—on par with, or even above, access to capital. At the same time, the supply of qualified developers has not grown fast enough to meet demand, leaving many engineering roles unfilled.</p>



<p class="wp-block-paragraph">In this environment, every hour a developer spends triaging security alerts, waiting for scans to complete, or remediating vulnerabilities flagged by tools with poor signal-to-noise ratios is an hour not spent shipping product. Security workflows that consume close to half a developer&#8217;s working week—estimated at roughly 17 hours per developer per week in some analyses—represent a serious competitive liability.</p>



<h2 class="wp-block-heading">AppSec Practices Have Been Slow to Evolve</h2>



<p class="wp-block-paragraph">The pace of application deployment has accelerated dramatically. A significant share of global development teams now ship new code monthly or more frequently. Yet despite incremental improvements in AppSec tooling, the average number of serious security vulnerabilities per application has remained stubbornly high—industry data has cited figures in the range of 26 to 27 significant issues per release for several years running.</p>



<p class="wp-block-paragraph">With hundreds of billions of lines of new code written each year, that per-application vulnerability count compounds into an enormous aggregate risk. Meanwhile, breach data consistently shows that web application vulnerabilities account for a substantial share of successful attacks—figures around one-quarter of all breaches have been attributed to application-layer exploitation in multiple industry reports.</p>



<p class="wp-block-paragraph">The implication is clear: current AppSec approaches are not producing proportional security improvements relative to the volume of code being shipped.</p>



<h2 class="wp-block-heading">Why Legacy AppSec Tools Conflict With DevOps</h2>



<p class="wp-block-paragraph">Legacy tools were not built for ephemeral cloud environments, container-based deployments, or service meshes. They assume relatively stable, monolithic application targets and long testing windows. In a DevOps pipeline where environments spin up and tear down in minutes, these assumptions fail repeatedly. The friction manifests in three main forms:</p>



<ul class="wp-block-list">
<li><strong>Code halts:</strong> Scans that require taking a codebase or running application offline interrupt the pipeline and block downstream stages.</li>
<li><strong>Alert fatigue:</strong> High false-positive rates force developers to investigate findings that turn out to be irrelevant, eroding trust in tooling and creating pressure to bypass checks.</li>
<li><strong>Late-stage discovery:</strong> Vulnerabilities surfaced close to—or after—release are far more expensive to remediate than those caught during development.</li>
</ul>



<p class="wp-block-paragraph">Organisational culture makes this worse. Surveys have found that a majority of organisations operate under an explicit executive mandate that nothing should be allowed to slow the development process. Security teams enforcing tool-driven code halts are therefore pushing against top-down business pressure, creating a governance gap that often resolves in favour of speed over security.</p>



<h2 class="wp-block-heading">A Closer Look at the Problem Tools</h2>



<h3 class="wp-block-heading">Dynamic Application Security Testing (DAST)</h3>



<p class="wp-block-paragraph">DAST—sometimes called black-box testing—simulates attacker behaviour by sending malicious inputs to a running application and observing the response. It is valuable precisely because it catches runtime vulnerabilities that static analysis cannot see: issues that only manifest when the application is live or when an authenticated session is active.</p>



<p class="wp-block-paragraph">The DevOps problem with DAST is timing and context. DAST operates on a running application, which means it sits toward the right side of the SDLC. Vulnerabilities discovered at this stage are significantly more expensive to fix than those caught during design or early coding. Additionally, DAST provides no visibility into root causes—it identifies that a vulnerability exists but cannot point developers directly at the offending code. Teams must correlate DAST output with source code manually, adding remediation time. Scans also frequently require taking environments offline, introducing pipeline delays at a point where they have the greatest business impact.</p>



<h3 class="wp-block-heading">Software Composition Analysis (SCA)</h3>



<p class="wp-block-paragraph">Modern applications are largely assembled from open-source components. SCA tools inventory those components and cross-reference them against vulnerability databases such as the National Vulnerability Database (NVD) and the CVE list, alerting teams when a dependency has a known flaw.</p>



<p class="wp-block-paragraph">SCA is a necessary practice, but current tools have meaningful limitations. Line-by-line scanning is slow, and most tools require code to be taken offline during the process. More importantly, SCA tools typically flag every vulnerable dependency regardless of whether that dependency is actually reachable or invoked in the application&#8217;s execution paths. A vulnerable function in a library that is imported but never called presents no exploitable risk, yet it generates an alert that a developer must investigate. This produces false positives that consume engineering time without improving security outcomes.</p>



<h3 class="wp-block-heading">Web Application Firewalls (WAFs)</h3>



<p class="wp-block-paragraph">WAFs operate in production, inspecting HTTP traffic and blocking requests that match known attack patterns. They serve as a last line of defence when a vulnerability reaches a live environment. In principle, they reduce the blast radius of shipping vulnerable code; in practice, their effectiveness is limited by the accuracy of their rule sets.</p>



<p class="wp-block-paragraph">WAFs generate both false positives—blocking legitimate user requests because they resemble attack patterns—and false negatives—allowing genuine attacks through because they don&#8217;t match known signatures. False positives create direct user-facing impact and require developer intervention to tune rules. False negatives represent undetected risk. Both failure modes demand ongoing maintenance effort. When a post-production vulnerability is discovered, developers must context-switch away from current work to remediate it, compounding the cost of late-stage discovery.</p>



<h2 class="wp-block-heading">What a DevOps-Compatible AppSec Approach Requires</h2>



<p class="wp-block-paragraph">No single tool eliminates the tension between security rigour and development velocity, but several design principles distinguish next-generation AppSec from legacy approaches:</p>



<ul class="wp-block-list">
<li><strong>Shift left without stopping:</strong> Security analysis should integrate into the IDE and CI pipeline as a non-blocking feedback mechanism, surfacing findings as developers write code rather than halting a pipeline stage.</li>
<li><strong>Contextual, actionable findings:</strong> Tools should provide root-cause information alongside vulnerability detection so developers can fix issues without spending additional time on investigation.</li>
<li><strong>Reachability and exploitability analysis:</strong> SCA and SAST findings should be filtered by whether the vulnerable code path is actually reachable in the application&#8217;s runtime context, reducing false-positive volume.</li>
<li><strong>Continuous, incremental scanning:</strong> Rather than batch scans that require offline windows, security analysis should run incrementally on changed code, keeping feedback loops short.</li>
<li><strong>Automation over manual gates:</strong> Wherever possible, remediation guidance and even automated fixes (pull request suggestions, dependency upgrades) should reduce the manual burden on developers.</li>
<li><strong>Unified visibility:</strong> A consolidated view of SAST, DAST, SCA, and runtime findings—correlated and deduplicated—reduces the cognitive overhead of managing multiple tool outputs.</li>
</ul>



<h2 class="wp-block-heading">The Business Case for Modernising AppSec</h2>



<p class="wp-block-paragraph">The argument for overhauling AppSec tooling is not purely technical. Delays in release cycles have direct revenue implications, particularly in markets where time-to-market is a differentiator. Breach costs—regulatory penalties, incident response, customer churn, reputational damage—are equally concrete.</p>



<p class="wp-block-paragraph">Legacy AppSec creates a false choice between security and speed. A well-integrated, automated AppSec programme can improve both: developers ship faster because they receive precise, actionable feedback early, and security posture improves because vulnerabilities are caught before they accumulate in production.</p>



<p class="wp-block-paragraph">For DevOps teams evaluating their security toolchain, the right questions are not just &#8220;does this tool find vulnerabilities?&#8221; but &#8220;how does this tool fit into our pipeline, how much developer time does it consume, and how accurate are its findings?&#8221; Answering those questions honestly is the foundation of an AppSec programme that actually scales with modern development.</p>



<h2 class="wp-block-heading">Key Takeaways</h2>



<ul class="wp-block-list">
<li>Legacy AppSec tools were designed for waterfall pipelines and do not map well to DevOps release cadences.</li>
<li>DAST introduces late-stage, costly delays and lacks root-cause context for developers.</li>
<li>SCA tools generate false positives by flagging vulnerable dependencies regardless of whether they are reachable in the application.</li>
<li>WAFs are prone to both false positives and false negatives, and post-production remediation is the most expensive form of bug fixing.</li>
<li>Effective modern AppSec must be automated, incremental, contextual, and integrated directly into CI/CD pipelines without blocking code flow.</li>
<li>The goal is not to choose between security and velocity—it is to design tooling that delivers both.</li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/traditional-appsec-code-halts-kill-devops-release-cycles/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Where Does Security Fit Into CI/CD? A Practical Guide for DevOps Teams</title>
		<link>https://www.bestdevops.com/ci-cd-series-synopsys-where-does-security-fit-into-ci-cd/</link>
					<comments>https://www.bestdevops.com/ci-cd-series-synopsys-where-does-security-fit-into-ci-cd/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Tue, 26 Nov 2019 06:55:01 +0000</pubDate>
				<category><![CDATA[Continuous Delivery]]></category>
		<category><![CDATA[Continuous Deployment]]></category>
		<category><![CDATA[AI software]]></category>
		<category><![CDATA[Automation]]></category>
		<category><![CDATA[CI/CD]]></category>
		<category><![CDATA[DevOps-pipeline]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=9274</guid>

					<description><![CDATA[Security cannot be bolted on at the end of a CI/CD pipeline. This guide covers the key application security testing tools—SAST, SCA, DAST, IAST, and fuzz testing—and the best practices for embedding security throughout your pipeline without sacrificing delivery speed.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>This article is based on a contribution by Meera Rao, senior principal consultant at Synopsys, originally published on computerweekly.com (November 2019). Synopsys is known for its work in silicon chip design, verification, IP integration, and application security testing.</em></p>



<h2 class="wp-block-heading">Security in CI/CD: The Core Challenge</h2>



<p class="wp-block-paragraph">CI/CD pipelines are built around three principles: speed, repetition, and automation. Security, by contrast, has traditionally been a gate at the end of the development process—a final checkpoint before release. These two approaches are fundamentally in tension, and that tension is what &#8220;shifting security left&#8221; is designed to resolve.</p>



<p class="wp-block-paragraph">Embedding security into CI/CD does not mean slowing the pipeline down. It means choosing the right tools for each stage, automating what can reasonably be automated, and knowing when human judgment is irreplaceable.</p>



<h2 class="wp-block-heading">Application Security Testing Tool Categories</h2>



<p class="wp-block-paragraph">Before designing a secure pipeline, teams need to understand the distinct tool categories available and what each one can—and cannot—do.</p>



<h3 class="wp-block-heading">Static Application Security Testing (SAST)</h3>



<p class="wp-block-paragraph">SAST tools analyse source code, bytecode, or binaries without executing the application. They operate in two modes:</p>



<ul class="wp-block-list">
<li><strong>Lightweight IDE plugins</strong> — Flag common vulnerability patterns in real time as developers write code, offering immediate remediation guidance. These are low-friction and integrate directly into developer workflows.</li>
<li><strong>Deep-scan engines</strong> — Perform full path coverage analysis, consider business logic, and ensure every code path and potential execution branch is tested. These are better suited to pipeline stages such as nightly builds or pre-merge checks.</li>
</ul>



<p class="wp-block-paragraph">SAST is most effective early in the development cycle, where the cost of fixing a vulnerability is lowest.</p>



<h3 class="wp-block-heading">Software Composition Analysis (SCA)</h3>



<p class="wp-block-paragraph">Modern applications are composed largely of open source libraries and third-party components. SCA tools provide visibility into the full software supply chain by analysing these dependencies and their associated known vulnerabilities.</p>



<p class="wp-block-paragraph">SCA outputs typically include a software bill of materials (SBOM), a list of known CVEs affecting your dependencies, and licence risk information. Given the volume of open source consumption in most organisations, SCA is no longer optional—it is a baseline requirement.</p>



<h3 class="wp-block-heading">Fuzz Testing</h3>



<p class="wp-block-paragraph">Fuzz testing (fuzzing) simulates real-world attack patterns by automatically bombarding an application with malformed, unexpected, or random inputs. Unlike SAST, which analyses code structure, fuzzing discovers vulnerabilities by observing runtime behaviour under adversarial conditions.</p>



<p class="wp-block-paragraph">Fuzzing is particularly effective at uncovering misuse cases—failure modes that developers did not anticipate and that are therefore not covered by standard unit or integration tests. It surfaces hidden vulnerabilities such as buffer overflows, null pointer dereferences, and input-handling errors.</p>



<h3 class="wp-block-heading">Dynamic Application Security Testing (DAST)</h3>



<p class="wp-block-paragraph">DAST tools test a running application from the outside, mimicking penetration testing techniques. Because the application is executing, DAST can detect runtime vulnerabilities—such as authentication flaws, injection points, and server misconfiguration—that static analysis cannot see.</p>



<p class="wp-block-paragraph">DAST is typically applied later in the pipeline, against a staging or pre-production environment, because it requires a deployed and running application target.</p>



<h3 class="wp-block-heading">Interactive Application Security Testing (IAST)</h3>



<p class="wp-block-paragraph">IAST is a newer category that instruments the application itself—typically via an agent—and monitors it from within during runtime testing. This approach combines some of the code-level precision of SAST with the runtime context of DAST, and is designed to reduce the false-positive rates that trouble both techniques when used independently.</p>



<p class="wp-block-paragraph">IAST works well alongside automated functional testing: as your test suite exercises the application, the IAST agent records security observations in parallel, requiring no separate test execution phase.</p>



<h2 class="wp-block-heading">Best Practices for Integrating Security Into CI/CD</h2>



<h3 class="wp-block-heading">1. Treat Security Bugs the Same as Functional Bugs</h3>



<p class="wp-block-paragraph">A mature engineering organisation applies consistent standards to all defects. A critical security vulnerability should carry the same weight as a critical functional defect—it blocks the build and gets prioritised for remediation. Allowing security issues to accumulate in a backlog while functional issues are resolved creates technical debt that compounds into business risk.</p>



<p class="wp-block-paragraph">Practically, this means configuring your pipeline to fail the build when security findings exceed a defined severity threshold—for example, failing on any finding rated medium or above. The development team is notified immediately, the same way they would be notified of a failed unit test.</p>



<h3 class="wp-block-heading">2. Build Continuous Collaboration, Not Just Continuous Testing</h3>



<p class="wp-block-paragraph">Shifting security left is not solely a tooling problem—it is an organisational problem. Development, security, and operations teams need shared ownership of security outcomes. Business stakeholders also have a role: security requirements must be treated as first-class requirements alongside functionality and performance.</p>



<p class="wp-block-paragraph">Organisations that focus only on acquiring tools without addressing the collaboration gaps between teams will find that their security posture improves only marginally. Shared dashboards, shared on-call responsibilities, and joint threat modelling sessions are as important as the toolchain itself.</p>



<h3 class="wp-block-heading">3. Choose Automation Tools Deliberately</h3>



<p class="wp-block-paragraph">Automation is essential at CI/CD velocity, but selecting and configuring security tools is a skilled discipline. Key considerations include:</p>



<ul class="wp-block-list">
<li><strong>Language and framework support</strong> — Different languages require different tooling. Even within a single language, different versions or frameworks may require different rule sets or configurations.</li>
<li><strong>Customisation</strong> — Applying a tool&#8217;s default rule set to an application without tailoring it to your architecture is a common source of noise (false positives) and blind spots (false negatives).</li>
<li><strong>Integration effort</strong> — No security tool is truly plug-and-play. Budget time for integration, tuning, and ongoing maintenance as your codebase evolves.</li>
</ul>



<h3 class="wp-block-heading">4. Know What Automation Cannot Do</h3>



<p class="wp-block-paragraph">Automated security tools are necessary but not sufficient. Specific limitations to keep in mind:</p>



<ul class="wp-block-list">
<li><strong>Tools cannot interpret their own results.</strong> A finding flagged by a SAST tool may be a true positive, a false positive, or context-dependent. A security engineer must triage results and make that determination.</li>
<li><strong>Tools cannot certify that software is secure.</strong> A clean scan report means the tool found nothing within its detection capability—not that the application is free of vulnerabilities.</li>
<li><strong>Tools cannot discover novel attack classes.</strong> Automated tools are pattern-based. New vulnerability classes or application-specific business logic flaws require manual review, threat modelling, and penetration testing by experienced practitioners.</li>
<li><strong>Automation does not eliminate manual testing.</strong> Automated and manual testing are complementary. Define clearly which scenarios require human review and build that into your process.</li>
</ul>



<h2 class="wp-block-heading">Common Mistakes to Avoid</h2>



<h3 class="wp-block-heading">Treating Security Tooling as a One-Size-Fits-All Solution</h3>



<p class="wp-block-paragraph">Enterprise applications are heterogeneous. A single application may use multiple languages, multiple frameworks, and a mix of in-house code and third-party components. No single tool covers all of these effectively. A realistic security toolchain for a modern application will combine several complementary tools, each tuned to its specific domain.</p>



<h3 class="wp-block-heading">Applying Default Tool Configurations Without Customisation</h3>



<p class="wp-block-paragraph">Using a tool&#8217;s out-of-the-box rule set against a complex enterprise application typically produces excessive noise—high false-positive rates that erode developer trust in the tool. When developers learn to ignore scanner output because it is usually irrelevant, the tool stops providing value. Invest in rule tuning and suppression lists early.</p>



<h3 class="wp-block-heading">Skipping the Build-Failure Gate</h3>



<p class="wp-block-paragraph">A security scan that runs but never fails the build is a reporting tool, not a control. If findings can be ignored without consequence, they will be. Defining and enforcing a severity-based build-failure policy is the mechanism that gives security testing real teeth in the pipeline.</p>



<h2 class="wp-block-heading">Putting It Together: A Layered Security Pipeline</h2>



<p class="wp-block-paragraph">A practical approach maps tool categories to pipeline stages based on when each tool provides the most value and the least friction:</p>



<figure class="wp-block-table"><table><thead><tr><th>Pipeline Stage</th><th>Recommended Tool Types</th></tr></thead><tbody><tr><td>Developer workstation / IDE</td><td>Lightweight SAST plugins, SCA dependency checks</td></tr><tr><td>Pull request / pre-merge</td><td>SAST (fast scan), SCA</td></tr><tr><td>CI build</td><td>Full SAST scan, SCA, fuzz testing (where applicable)</td></tr><tr><td>Staging / pre-production</td><td>DAST, IAST (alongside functional test suite)</td></tr><tr><td>Periodic / release gate</td><td>Manual penetration testing, threat modelling review</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">The goal is not to run every tool at every stage—that would create unacceptable latency. It is to ensure that the right checks happen at the right point in the delivery process, with fast feedback for developers and deeper validation before code reaches production.</p>



<h2 class="wp-block-heading">Summary</h2>



<p class="wp-block-paragraph">Security in CI/CD is not a single tool or a single decision—it is an ongoing engineering discipline. The most effective organisations apply a layered approach: lightweight, fast checks close to the developer; deeper automated analysis in the pipeline; and human expertise for triage, manual testing, and architectural review. They enforce security quality gates with the same rigour they apply to functional quality, and they invest in cross-team collaboration as much as they invest in tooling.</p>



<p class="wp-block-paragraph">The tooling landscape will continue to evolve, but these principles—breadth of coverage, appropriate automation, and meaningful human oversight—will remain the foundation of a secure software delivery process.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/ci-cd-series-synopsys-where-does-security-fit-into-ci-cd/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>SnapLogic Extends DevOps Reach via GitHub Integration</title>
		<link>https://www.bestdevops.com/snaplogic-extends-devops-reach-via-github/</link>
					<comments>https://www.bestdevops.com/snaplogic-extends-devops-reach-via-github/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Sat, 18 Aug 2018 05:13:06 +0000</pubDate>
				<category><![CDATA[Continuous Integration]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[DevOps Tools]]></category>
		<category><![CDATA[AI software]]></category>
		<category><![CDATA[continuous development]]></category>
		<category><![CDATA[GitHub]]></category>
		<category><![CDATA[INTEGRATION PIPELINE]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[SnapLogic]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=4251</guid>

					<description><![CDATA[SnapLogic added GitHub-based storage for Snap connectors, Mesosphere DC/OS support, an updated Iris AI recommendation engine, and enhanced API monitoring — all aimed at bringing enterprise integration into mainstream DevOps workflows.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>Originally reported by <a href="https://devops.com" rel="noopener">devops.com</a> on August 18, 2018.</em></p>



<h2 class="wp-block-heading">SnapLogic Brings Enterprise Integration into the DevOps Toolchain</h2>



<p class="wp-block-paragraph">SnapLogic announced several updates to its Enterprise Integration Cloud platform that move the product closer to standard DevOps practices. The headline addition is GitHub support, which allows integrations built with Snap connectors to be stored, versioned, and shared through GitHub repositories alongside existing application code.</p>



<p class="wp-block-paragraph">The release also included integration with the Mesosphere DC/OS container platform, a new service catalog, enhancements to the Iris AI recommendation engine, and improvements to API monitoring and broken-pipeline search tooling.</p>



<h2 class="wp-block-heading">GitHub Support: Sharing and Reusing Snap Connectors in CI/CD Pipelines</h2>



<p class="wp-block-paragraph">Craig Stewart, Vice President of Product Management at SnapLogic, explained that GitHub support lowers the barrier for developers of all skill levels to share preconfigured integrations. Because the integrations live in the same GitHub repositories developers already use for application code, they become first-class citizens in CI/CD workflows.</p>



<p class="wp-block-paragraph">Practical benefits of the GitHub integration include:</p>



<ul class="wp-block-list">
<li><strong>Version control for integration pipelines:</strong> Teams can track changes to Snap connector configurations just as they track source code changes.</li>
<li><strong>Discoverability through a Patterns Catalog:</strong> Preconfigured connectors are surfaced in a central catalog, making it easier for developers to find and reuse existing integration patterns rather than rebuilding them from scratch.</li>
<li><strong>CI/CD inclusion:</strong> Integration pipelines can be embedded directly into automated build and deployment workflows.</li>
</ul>



<p class="wp-block-paragraph">This is particularly relevant for organizations pursuing a self-service integration model, where developers across teams need to consume pre-approved integration patterns without requiring deep platform expertise.</p>



<h2 class="wp-block-heading">Mesosphere DC/OS and Kubernetes Support</h2>



<p class="wp-block-paragraph">SnapLogic added support for the Mesosphere DC/OS platform in direct response to customer demand. At the time of the announcement, the company stated that Kubernetes support was also planned, with the expectation that Kubernetes would become the dominant container orchestration standard.</p>



<p class="wp-block-paragraph">Container orchestration support signals SnapLogic&#8217;s intention to run integration workloads alongside containerized microservices, which is a natural fit as enterprise architectures increasingly rely on distributed, container-based deployments.</p>



<h2 class="wp-block-heading">Iris AI Enhancements: Building Pipelines from Both Ends</h2>



<p class="wp-block-paragraph">SnapLogic updated its Iris AI-powered Integration Assistant with new ways to construct pipelines. Previously, Iris only offered recommendations starting from the first Snap connector in a pipeline. The update introduced two new construction modes:</p>



<ul class="wp-block-list">
<li><strong>Last-Snap-first mode:</strong> A user places the final Snap connector on the canvas, and the Integration Assistant recommends preceding Snaps in reverse order until the full pipeline is complete.</li>
<li><strong>Outside-in mode:</strong> A user defines both the first and last Snaps, and the Integration Assistant fills in the intermediate steps, working inward from both ends simultaneously.</li>
</ul>



<p class="wp-block-paragraph">These modes are designed to accommodate different developer mental models — some teams design integrations by starting with the desired output, making the reverse-construction approach more intuitive.</p>



<h2 class="wp-block-heading">The Business Context: Citizen Integrators and Data Utilization</h2>



<p class="wp-block-paragraph">SnapLogic cited survey results from a Vanson Bourne study of 500 IT decision-makers, conducted on behalf of SnapLogic, to frame the business urgency behind these updates. According to that survey:</p>



<ul class="wp-block-list">
<li>Organizations expected an average 547% return on data investments.</li>
<li>Revenue increases of an average $5.2 million were anticipated from more effective data use.</li>
<li>Despite this, organizations were using only about 51% of the data they collected or generated.</li>
<li>Data influenced fewer than 48% of business decisions.</li>
<li>Organizations planned to spend an average of $1.7 million over five years to operationalize data — more than double current spending.</li>
</ul>



<p class="wp-block-paragraph">SnapLogic&#8217;s response to this gap is to enable what it calls <em>citizen integrators</em> — non-IT staff within lines of business who can work with prebuilt integration patterns created by central IT teams. The GitHub-based Patterns Catalog is a direct enabler of this model: IT developers publish vetted integration patterns once, and business-side users discover and deploy them independently.</p>



<h2 class="wp-block-heading">Why This Matters for DevOps Teams</h2>



<p class="wp-block-paragraph">The core theme across these updates is the convergence of enterprise integration with DevOps discipline. By storing integration pipelines in GitHub, applying AI-assisted construction, and supporting container orchestration platforms, SnapLogic is positioning its platform as a component in modern DevOps pipelines rather than a standalone IT tool.</p>



<p class="wp-block-paragraph">For DevOps engineers, the practical takeaway is that integration artifacts can now participate in the same version control, code review, and CI/CD workflows as application code — reducing the gap between application development velocity and integration delivery.</p>



<p class="wp-block-paragraph">As organizations scale DevOps practices beyond software engineering teams into broader enterprise functions, tools that bridge the integration and automation gap without requiring specialist knowledge become increasingly valuable.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/snaplogic-extends-devops-reach-via-github/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
