<?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>Release &#8211; Best DevOps</title>
	<atom:link href="https://www.bestdevops.com/tag/release/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>Tue, 13 Oct 2026 23:59:53 +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>How Next-Gen WAF Empowers the DevOps Lifecycle</title>
		<link>https://www.bestdevops.com/how-next-gen-waf-empowers-the-devops-lifecycle/</link>
					<comments>https://www.bestdevops.com/how-next-gen-waf-empowers-the-devops-lifecycle/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Fri, 17 Jan 2020 05:32:31 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Application security]]></category>
		<category><![CDATA[Build]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Release]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=10063</guid>

					<description><![CDATA[A next-generation Web Application Firewall (WAF) does more than block threats—it integrates into every stage of the DevOps lifecycle to help teams ship more secure code and protect production applications without slowing down delivery.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>This article is based on concepts originally published by Signal Sciences (now part of Fastly) via Security Boulevard. It explains how next-generation WAF technology integrates with the DevOps lifecycle.</em></p>



<h2 class="wp-block-heading">What Is a Next-Gen WAF and Why Does It Matter for DevOps?</h2>



<p class="wp-block-paragraph">Traditional Web Application Firewalls (WAFs) were designed primarily as perimeter defenses—statically configured rule sets that inspect HTTP traffic and block suspicious requests. While effective in narrow scenarios, legacy WAFs are often criticized for being opaque &#8220;black boxes&#8221; that block requests without surfacing contextual information about why a request was flagged. This lack of visibility is a poor fit for modern DevOps practices, where speed, feedback loops, and observability are foundational principles.</p>



<p class="wp-block-paragraph">A next-generation WAF addresses these shortcomings by operating as an integrated security data layer rather than a standalone gate. Instead of just blocking traffic, it collects Layer 7 (application-layer) telemetry, exposes that data through APIs and integrations, and feeds actionable intelligence back into the tools that development, security, and operations teams already use.</p>



<h2 class="wp-block-heading">Security Visibility at Every Stage of the DevOps Lifecycle</h2>



<p class="wp-block-paragraph">The DevOps lifecycle is typically broken into continuous stages: Plan, Code, Build, Test, Release, Deploy, Operate, and Monitor. A next-gen WAF can contribute meaningful security signal at each of these stages—not just at the perimeter in production. The sections below outline where and how that value is delivered.</p>



<h3 class="wp-block-heading">Code: Surface Real-World Vulnerabilities for Developers</h3>



<p class="wp-block-paragraph">Static analysis and code review catch many issues before deployment, but they cannot fully replicate the conditions of production traffic. A next-gen WAF observes how attackers actually attempt to exploit your running application and can surface patterns that indicate high-value security bugs—such as injection attempts repeatedly targeting a specific endpoint. This gives developers a prioritized, evidence-based list of vulnerabilities to address in the next sprint rather than relying solely on theoretical threat models.</p>



<h3 class="wp-block-heading">Build: Visibility Into Cloud-Native Attack Surfaces</h3>



<p class="wp-block-paragraph">Modern cloud-native applications—deployed across microservices, containers, and managed platforms—introduce web-layer attack surfaces that traditional network controls do not adequately cover. Cloud providers offer robust infrastructure security, but application-layer visibility is typically the team&#8217;s own responsibility. A next-gen WAF deployed alongside cloud-native workloads provides that missing layer of context, enabling security and platform teams to understand the real-world threat landscape their architecture faces before a vulnerability becomes an incident.</p>



<h3 class="wp-block-heading">Release: Protection Without Code Changes on Every Deployment</h3>



<p class="wp-block-paragraph">DevOps teams release frequently—often multiple times per day. Requiring a manual security review or configuration change on every release is a bottleneck that directly conflicts with continuous delivery. A next-gen WAF solves this by decoupling application security from the release artifact itself. Whether deployed as a sidecar agent, a reverse proxy, or a cloud-delivered WAF service, protection travels with the infrastructure configuration rather than the application code. Teams can release confidently knowing their WAF policy follows the deployment automatically.</p>



<h3 class="wp-block-heading">Operate: Production Monitoring on Key Application Metrics</h3>



<p class="wp-block-paragraph">Operations teams are responsible for availability, performance, and reliability. Security events—such as a volumetric request flood or a spike in invalid authentication attempts—directly threaten these objectives. A next-gen WAF contributes to operational observability by exposing security-relevant metrics alongside standard application performance indicators. When operations teams can see attack patterns and application health in a unified view, they can respond faster and make more informed decisions about scaling, rate-limiting, or incident escalation.</p>



<h3 class="wp-block-heading">Monitor: Real-Time Alerting and Integration With Your Toolchain</h3>



<p class="wp-block-paragraph">After deployment, continuous monitoring is essential. A next-gen WAF integrates with the broader security and DevOps toolchain—sending alerts and telemetry to SIEM platforms, incident management systems, messaging tools like Slack or PagerDuty, and monitoring dashboards—so that security signals appear in the same places where teams are already working. This removes the need to context-switch into a separate security console to understand what is happening in production.</p>



<h2 class="wp-block-heading">Next-Gen WAF as a Force Multiplier for Security and DevOps Teams</h2>



<p class="wp-block-paragraph">Security and DevOps teams are almost universally resource-constrained. A next-gen WAF can operate in two complementary modes that reflect different team maturity levels:</p>



<ul class="wp-block-list">
<li><strong>Automated protection mode:</strong> Teams that need immediate coverage without deep customization can rely on the WAF&#8217;s automated detection and blocking capabilities. This allows smaller teams to maintain a strong security posture without dedicating significant engineering time to rule tuning.</li>
<li><strong>Intelligence and KPI mode:</strong> More mature teams can treat the WAF as a security data source, using its management console and API to extract KPIs, analyze attacker behavior, and feed that intelligence back into their development and security processes. This produces compounding improvements in application security over time.</li>
</ul>



<h2 class="wp-block-heading">Key Capabilities to Look for in a Next-Gen WAF</h2>



<p class="wp-block-paragraph">When evaluating next-gen WAF solutions for a DevOps environment, prioritize the following capabilities:</p>



<ul class="wp-block-list">
<li><strong>API-first architecture:</strong> Security data should be accessible programmatically so it can be integrated into pipelines, dashboards, and automation workflows.</li>
<li><strong>Flexible deployment models:</strong> Support for agent-based deployment, reverse proxy, and cloud-delivered WAF ensures the solution fits different infrastructure topologies.</li>
<li><strong>Contextual blocking decisions:</strong> Every block or flag should include enough context for a developer or analyst to understand and act on the decision.</li>
<li><strong>Native integrations with DevOps tooling:</strong> Pre-built integrations with CI/CD platforms, monitoring systems, SIEM tools, and communication platforms reduce integration effort.</li>
<li><strong>Low false-positive rate:</strong> In a continuous delivery environment, a WAF that generates excessive false positives will be bypassed or disabled. Accuracy is a prerequisite for adoption.</li>
<li><strong>Support for modern traffic patterns:</strong> The solution should handle REST APIs, GraphQL, gRPC, and other contemporary application protocols in addition to traditional web traffic.</li>
</ul>



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



<p class="wp-block-paragraph">A next-generation WAF is not simply a more powerful version of a legacy firewall. When properly integrated into the DevOps lifecycle, it becomes a source of continuous security intelligence that informs coding decisions, validates builds, protects releases, supports operations, and feeds monitoring workflows. For teams practicing continuous delivery, the ability to decouple application security from the release artifact—while maintaining full observability of the production threat landscape—is a meaningful operational advantage.</p>



<p class="wp-block-paragraph">If you are evaluating next-gen WAF options for your organization, focus on solutions that expose their data through open APIs, integrate with the tools your teams already use, and are designed from the ground up for cloud-native and containerized environments.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/how-next-gen-waf-empowers-the-devops-lifecycle/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Real-Time Messaging Across the DevOps Lifecycle</title>
		<link>https://www.bestdevops.com/real-time-messaging-across-the-devops-lifecycle/</link>
					<comments>https://www.bestdevops.com/real-time-messaging-across-the-devops-lifecycle/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Thu, 19 Dec 2019 05:45:36 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Deploy]]></category>
		<category><![CDATA[Lifecycle]]></category>
		<category><![CDATA[Monitor]]></category>
		<category><![CDATA[Release]]></category>
		<category><![CDATA[Test]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=9651</guid>

					<description><![CDATA[A modern messaging platform is more than a chat tool — it serves as the command center for every stage of the DevOps lifecycle, from planning and coding to deployment and monitoring. Here is how to put it to work.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">A modern messaging platform acts as your command center for software development, delivery, and operations. It is the place where teams meet to discuss ideas and issues, make decisions, access information, and manage workflows tied to DevOps tools and systems. When integrated thoughtfully, a messaging platform removes friction at every stage of the software delivery pipeline.</p>



<p class="wp-block-paragraph">The following sections walk through each phase of a typical DevOps lifecycle and explain how real-time messaging adds value at each step.</p>



<h2 class="wp-block-heading">1. Plan</h2>



<p class="wp-block-paragraph">Your messaging platform is the system of record for team conversations related to planning new products and features. Teams collaborate on ideas, debate technical approaches, and reach decisions — all within a searchable, persistent history that keeps stakeholders informed and aligned.</p>



<ul class="wp-block-list">
  <li><strong>Document sharing:</strong> Roadmaps, diagrams, and presentations can be shared directly in a channel, reducing context-switching to email or file servers.</li>
  <li><strong>Threaded conversations:</strong> Threaded replies keep planning discussions organized and easy to reference later.</li>
  <li><strong>Planning tool integrations:</strong> Integrations with tools such as Jira let teams surface issue details, create tickets, and update statuses without leaving the messaging interface.</li>
  <li><strong>Video conferencing:</strong> When a text conversation needs to become a voice call, integrations with platforms such as Zoom or Webex make it simple to start a meeting from within the channel and return to the chat thread afterwards.</li>
</ul>



<h2 class="wp-block-heading">2. Code</h2>



<p class="wp-block-paragraph">As developers write code, they naturally turn to each other for collaboration and support. Whether the team is co-located or fully remote, a shared virtual workspace enables real-time problem-solving and peer review.</p>



<ul class="wp-block-list">
  <li><strong>Code snippet sharing:</strong> A messaging platform with language syntax highlighting lets developers paste a code block directly into a conversation and see it rendered with correct formatting, making reviews faster and clearer.</li>
  <li><strong>Source control integration:</strong> Integrations with platforms such as GitLab or GitHub allow developers to receive pull request notifications, review diffs, and merge code without leaving their messaging workspace.</li>
  <li><strong>Async collaboration:</strong> Persistent message history means remote team members working across time zones can pick up a conversation exactly where it left off.</li>
</ul>



<h2 class="wp-block-heading">3. Build</h2>



<p class="wp-block-paragraph">Integrating your messaging platform with your build system makes the build process transparent and actionable without requiring engineers to switch between tools.</p>



<ul class="wp-block-list">
  <li><strong>Slash commands:</strong> Custom slash commands let team members trigger a build, check its status, or retrieve artifact information directly from the messaging UI.</li>
  <li><strong>CI tool plugins:</strong> Plugins for tools such as Jenkins expose job status, build logs, and failure alerts inside the team channel, so engineers are notified immediately when a build breaks.</li>
  <li><strong>Automated notifications:</strong> Build success or failure messages posted to a dedicated channel ensure the right people are informed without manual follow-up.</li>
</ul>



<h2 class="wp-block-heading">4. Test</h2>



<p class="wp-block-paragraph">The testing phase requires close collaboration as teams validate new releases, identify defects, and fix bugs under time pressure. A well-integrated messaging platform can serve as a centralized testing hub.</p>



<ul class="wp-block-list">
  <li><strong>Webhooks:</strong> Use webhooks to connect CI pipelines and bug-tracking tools to your messaging platform, automatically posting test results, failure alerts, and bug reports to the appropriate channel.</li>
  <li><strong>Triggered test runs:</strong> Teams can trigger automated test suites from within the messaging interface using bot commands or slash commands, removing the need to access a separate CI dashboard.</li>
  <li><strong>Real-time visibility:</strong> Everyone involved — developers, QA engineers, and product managers — can watch test results appear in real time, reducing the communication lag between finding and fixing a defect.</li>
</ul>



<h2 class="wp-block-heading">5. Release</h2>



<p class="wp-block-paragraph">At release time, the messaging platform acts as a real-time broadcaster, ensuring that developers, operations engineers, and business stakeholders all know when a build has shipped and whether it was successful.</p>



<ul class="wp-block-list">
  <li><strong>Automated release notifications:</strong> Integrating release packaging tools such as Jenkins into your release workflow enables automatic notifications to the right channels when a release is packaged and ready.</li>
  <li><strong>Cross-team transparency:</strong> Developers can accelerate follow-on work knowing a release has landed, while ops engineers can prepare for the incoming deployment without waiting for a manual handoff message.</li>
  <li><strong>Audit trail:</strong> The persistent message history creates an informal audit trail of who was notified and when, which can be useful during post-release reviews.</li>
</ul>



<h2 class="wp-block-heading">6. Deploy</h2>



<p class="wp-block-paragraph">Following code to its final destination in production, the DevOps team needs visibility into which servers received the deployment and any relevant metrics, so they can troubleshoot issues quickly.</p>



<ul class="wp-block-list">
  <li><strong>Deployment tool integrations:</strong> Whether your team deploys using Puppet, Kubernetes, AWS services, or another solution, your messaging platform can receive automated deployment event notifications and surface them in a dedicated deployment channel.</li>
  <li><strong>Rollout tracking:</strong> Automated messages can report the progress of a rolling deployment — for example, how many nodes have received the update — giving the team real-time confidence in the rollout.</li>
  <li><strong>Rapid incident response:</strong> If a deployment triggers an error, the alert can surface immediately in the same channel where the deployment was announced, collapsing the gap between detection and response.</li>
</ul>



<h2 class="wp-block-heading">7. Monitor</h2>



<p class="wp-block-paragraph">Monitoring is where real-time messaging arguably delivers its greatest operational value. Posting alerts, health metrics, and incident updates directly into a messaging channel transforms how teams respond to production issues.</p>



<ul class="wp-block-list">
  <li><strong>Monitoring tool integrations:</strong> Tools such as Nagios, Datadog, or PagerDuty can be configured to post alerts and performance data directly to designated channels, making application health visible across the organization — not just to the on-call engineer.</li>
  <li><strong>Incident response channels:</strong> When an outage occurs, a dedicated incident channel can be created instantly to bring together the right engineers, share diagnostic data, and coordinate a resolution — all with a preserved log of the incident conversation for the post-mortem.</li>
  <li><strong>Historical data:</strong> Posting periodic metric summaries to a channel gives both engineers and business stakeholders a shared view of system health trends without requiring access to a separate monitoring dashboard.</li>
</ul>



<h2 class="wp-block-heading">Choosing the Right Integrations</h2>



<p class="wp-block-paragraph">The tools mentioned above — Jira, GitLab, Jenkins, Puppet, Kubernetes, Nagios, Zoom — are illustrative examples of a broader ecosystem. When evaluating a messaging platform for your DevOps environment, prioritize the following capabilities:</p>



<ul class="wp-block-list">
  <li>A rich integration marketplace or support for custom webhooks and slash commands</li>
  <li>Persistent, searchable message history</li>
  <li>Granular channel and notification controls to prevent alert fatigue</li>
  <li>Support for code syntax highlighting</li>
  <li>Enterprise-grade security and compliance features appropriate for your industry</li>
</ul>



<p class="wp-block-paragraph">When a messaging platform is woven into every stage of the DevOps lifecycle, it becomes far more than a chat application. It becomes the connective tissue that keeps distributed teams aligned, accelerates incident response, and provides the transparency that continuous delivery demands.</p>



<p class="wp-block-paragraph"><em>Originally sourced from sdtimes.com (2019).</em></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/real-time-messaging-across-the-devops-lifecycle/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Five Steps to Integrating DevSecOps in the Enterprise</title>
		<link>https://www.bestdevops.com/five-steps-to-integrating-devsecops-in-the-enterprise/</link>
					<comments>https://www.bestdevops.com/five-steps-to-integrating-devsecops-in-the-enterprise/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Tue, 17 Sep 2019 06:13:39 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Deployment]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[DevSecOps]]></category>
		<category><![CDATA[Release]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Software]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=7780</guid>

					<description><![CDATA[Moving from DevOps to DevSecOps requires more than new tools. Learn the five practical steps enterprise teams can follow to embed security across the full software development lifecycle.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Many enterprises that successfully adopted DevOps for rapid application delivery eventually face a hard truth: speed without security creates unacceptable risk. Integrating DevSecOps—where security is a shared responsibility across development, operations, and security teams—is the answer, but it is rarely straightforward in large organisations. This article outlines five practical steps for enterprise teams looking to embed security throughout the software development lifecycle (SDLC).</p>



<h2 class="wp-block-heading">Why DevSecOps Is a Cultural Challenge First</h2>



<p class="wp-block-paragraph">A common mistake enterprises make when starting a DevSecOps initiative is treating it as a tooling problem. Teams rush to procure security scanners and vulnerability management platforms, only to find that adoption stalls because no one has changed how people think about security. DevSecOps is fundamentally a cultural and mindset shift before it is a technology change.</p>



<p class="wp-block-paragraph">Developers frequently acknowledge that security matters but feel they lack the time or knowledge to address it within tight delivery schedules. Business leaders, meanwhile, have historically optimised for speed-to-market, sometimes treating security as a gate at the end of the pipeline rather than a continuous thread running through it. Bridging these perspectives is the first real challenge of DevSecOps adoption.</p>



<p class="wp-block-paragraph">Successful DevSecOps programmes sell the concept to stakeholders at every level—executive sponsors, product owners, developers, testers, and operations engineers—before a single tool is procured. Only when everyone understands that functionality and security are not competing outcomes can implementation begin in earnest.</p>



<h2 class="wp-block-heading">Step 1: Adopt a Security-First Mindset Across the Organisation</h2>



<p class="wp-block-paragraph">A security-first mindset means every person involved in the application lifecycle considers the security implications of their decisions, not just the dedicated security team. This applies to:</p>



<ul class="wp-block-list">
<li><strong>Developers</strong> — trained to assess the security consequences of each line of code they write.</li>
<li><strong>Product owners</strong> — expected to capture security requirements in every user story alongside functional requirements.</li>
<li><strong>Operations engineers</strong> — equipped to recognise infrastructure anomalies as potential security breaches rather than routine misconfiguration.</li>
<li><strong>Business teams</strong> — empowered to adjust timelines when security work demands it, understanding that a single exploitable vulnerability can cause significant financial and reputational damage.</li>
</ul>



<p class="wp-block-paragraph">Achieving this requires structured training programmes, clear communication from leadership, and time allocated for up-skilling existing staff. In some cases, enterprises will also need to hire experienced security engineers who can act as internal advocates and coaches.</p>



<h2 class="wp-block-heading">Step 2: Secure Applications by Design</h2>



<p class="wp-block-paragraph">Application security must start before a single line of code is written—sometimes called Day 0 security. Design-time decisions, such as how data is stored, which trust boundaries exist between services, and how authentication flows work, have lasting consequences that are expensive to fix post-deployment.</p>



<p class="wp-block-paragraph">Key practices for secure application design include:</p>



<ul class="wp-block-list">
<li><strong>Threat modelling</strong> — systematically identifying and prioritising potential threats to an application before design is finalised.</li>
<li><strong>Shift-left security</strong> — moving security considerations earlier in the SDLC, including into planning and architecture phases, not just development.</li>
<li><strong>Identifying core security pillars</strong> — defining confidentiality, integrity, and availability requirements specific to the application context.</li>
<li><strong>Security test planning</strong> — defining what security testing will occur, at which pipeline stages, and using which tools, before coding begins.</li>
<li><strong>Incident response planning</strong> — preparing procedures for detecting, containing, and recovering from a security breach while the application is still in design.</li>
</ul>



<h2 class="wp-block-heading">Step 3: Apply Secure Coding Standards</h2>



<p class="wp-block-paragraph">Even well-designed applications can accumulate vulnerabilities at the code level. The Open Web Application Security Project (OWASP) provides a widely adopted set of secure coding guidelines that give developers a practical reference for common vulnerability categories. The OWASP Secure Coding Practices guide covers areas including:</p>



<ul class="wp-block-list">
<li>Input Validation</li>
<li>Output Encoding</li>
<li>Authentication and Password Management</li>
<li>Session Management</li>
<li>Access Control</li>
<li>Cryptographic Practices</li>
<li>Error Handling and Logging</li>
<li>Data Protection</li>
<li>Communication Security</li>
<li>System Configuration</li>
<li>Database Security</li>
<li>File Management</li>
<li>Memory Management</li>
<li>General Coding Practices</li>
</ul>



<p class="wp-block-paragraph">Most developers have some familiarity with the OWASP Top 10 list of critical web application risks, but the broader secure coding guide serves as a useful reference when developers want to verify their approach to a specific vulnerability class. Coupling these standards with structured peer code review reduces the volume of security defects that reach the release gate.</p>



<h2 class="wp-block-heading">Step 4: Integrate Automated Security Testing Early in the Pipeline</h2>



<p class="wp-block-paragraph">Automated security testing tools allow teams to catch vulnerabilities continuously rather than in a single, high-stakes audit before release. There are two primary categories to integrate into a DevSecOps pipeline:</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. When integrated into the build or commit stage of a CI/CD pipeline, they can flag insecure code patterns before a pull request is merged into the main branch. This is one of the most effective ways to prevent vulnerable code from advancing through the pipeline.</p>



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



<p class="wp-block-paragraph">DAST tools test a running application by simulating external attacks against its APIs, web services, databases, and network interfaces. Many organisations only run DAST against production environments, which means vulnerabilities are first discovered when real user data is already at risk. A better DevSecOps approach is to run DAST against a pre-production environment that closely mirrors production, shifting vulnerability discovery left without exposing live systems.</p>



<p class="wp-block-paragraph">Combining SAST and DAST in the pipeline creates overlapping layers of automated protection and embeds security controls throughout the SDLC rather than appending them at the end.</p>



<h2 class="wp-block-heading">Step 5: Establish Governance, Feedback Loops, and Continuous Improvement</h2>



<p class="wp-block-paragraph">DevSecOps is not a project with a finish line—it is an ongoing practice. The final step is to build the governance structures and feedback mechanisms that sustain security improvements over time:</p>



<ul class="wp-block-list">
<li><strong>Security champions</strong> — designate security-aware individuals within each development team who act as a first point of contact for security questions and help maintain standards without bottlenecking every decision through a central security team.</li>
<li><strong>Metrics and dashboards</strong> — track meaningful indicators such as mean time to remediate vulnerabilities, the volume of findings at each pipeline stage, and the percentage of builds passing security gates. Make these visible to engineering leadership.</li>
<li><strong>Post-incident reviews</strong> — treat every security incident or near-miss as a learning opportunity. Update threat models, coding standards, and test coverage based on findings.</li>
<li><strong>Regular training updates</strong> — the threat landscape evolves. Refresh security training at least annually and whenever significant new vulnerability classes or tooling changes emerge.</li>
<li><strong>Pipeline policy enforcement</strong> — codify security requirements as policy-as-code where possible, so that non-compliant builds are blocked automatically rather than relying on manual review.</li>
</ul>



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



<p class="wp-block-paragraph">Integrating DevSecOps in an enterprise is a multi-dimensional effort that spans culture, process, and tooling. The five steps—adopting a security-first mindset, securing applications by design, applying secure coding standards, integrating automated security testing early, and establishing continuous governance—provide a structured path forward. None of these steps can succeed in isolation: they reinforce each other, and sustainable DevSecOps adoption requires commitment at every level of the organisation.</p>



<p class="wp-block-paragraph"><em>Original source attribution: itproportal.com</em></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/five-steps-to-integrating-devsecops-in-the-enterprise/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How to Overcome Resistance to DevOps Implementation</title>
		<link>https://www.bestdevops.com/how-to-overcome-resistance-to-devops-implementation/</link>
					<comments>https://www.bestdevops.com/how-to-overcome-resistance-to-devops-implementation/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Tue, 17 Sep 2019 06:05:25 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Develop]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[DevOps Tools]]></category>
		<category><![CDATA[Release]]></category>
		<category><![CDATA[Software]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=7777</guid>

					<description><![CDATA[DevOps adoption stalls when people resist change. Learn why project managers, developers, QA engineers, operations staff, infrastructure managers, and even end users push back—and how to bring each group on board.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">DevOps promises faster software releases, fewer post-release defects, and tighter alignment between development and operations. Yet even well-resourced organisations stumble at the human side of the transition. Resistance from the teams involved in the software development life cycle (SDLC)—and sometimes from end users—is one of the most common reasons DevOps initiatives stall or fail outright.</p>



<p class="wp-block-paragraph">This article breaks down <em>who</em> is likely to resist a DevOps adoption, <em>why</em> they resist, and the practical steps leadership can take to address each group&#8217;s concerns.</p>



<h2 class="wp-block-heading">What DevOps Implementation Actually Demands</h2>



<p class="wp-block-paragraph">Before addressing resistance, it helps to be honest about what DevOps asks of an organisation. The benefits are real—faster infrastructure provisioning, reliable CI/CD pipelines, continuous testing that catches defects earlier, and better alignment between test and production environments. But reaching those benefits requires genuine change across multiple teams:</p>



<ul class="wp-block-list">
<li><strong>Process changes:</strong> Waterfall or siloed handoff models give way to continuous collaboration between development, QA, and operations.</li>
<li><strong>Tooling changes:</strong> Teams must adopt containerisation (e.g., Docker), infrastructure as code (IaC), CI/CD pipelines (e.g., Jenkins, GitLab CI), version control practices, and cloud platforms.</li>
<li><strong>Cultural changes:</strong> Shared ownership of delivery outcomes replaces the classic &#8220;throw it over the wall&#8221; mentality.</li>
</ul>



<p class="wp-block-paragraph">Every one of these changes disrupts existing comfort zones. The stakeholders most affected each have their own legitimate concerns—understanding those concerns is the first step to resolving them.</p>



<h2 class="wp-block-heading">Resistance from Project Managers</h2>



<h3 class="wp-block-heading">Why Project Managers Resist</h3>



<p class="wp-block-paragraph">Project managers (PMs) are typically the first to feel the impact of a DevOps transition. Their resistance tends to stem from an expanded scope of responsibility rather than simple reluctance to change:</p>



<ul class="wp-block-list">
<li>They must now actively champion DevOps to development, QA, and operations teams—a persuasion role they may not have played before.</li>
<li>They are expected to facilitate continuous collaboration across teams that previously worked in separate phases.</li>
<li>They need working familiarity with DevOps tooling—CI/CD pipelines, continuous monitoring, version control systems—and with cloud platforms such as AWS, Azure, or Google Cloud.</li>
</ul>



<h3 class="wp-block-heading">How to Overcome It</h3>



<p class="wp-block-paragraph">The CIO or transformation sponsor should invest in structured DevOps training for PMs <em>before</em> the rollout begins. This training should cover:</p>



<ul class="wp-block-list">
<li>Core DevOps principles and the business case behind the transition.</li>
<li>Practical exposure to the tools the teams will use (containerisation, IaC, CI/CD).</li>
<li>Cross-functional team management—specifically how to coordinate development, QA, and operations working in parallel rather than in sequence.</li>
</ul>



<p class="wp-block-paragraph">A well-prepared PM becomes a DevOps evangelist rather than an obstacle. Because PMs interact with every other stakeholder group, their buy-in has a multiplying effect on overall adoption.</p>



<h2 class="wp-block-heading">Resistance from Developers</h2>



<h3 class="wp-block-heading">Why Developers Resist</h3>



<p class="wp-block-paragraph">Developers frequently resist DevOps not because they oppose automation or faster releases, but because the model changes their day-to-day responsibilities in uncomfortable ways:</p>



<ul class="wp-block-list">
<li>They are now expected to engage with infrastructure concerns—deployments, environment configuration, on-call incidents—that previously belonged to operations.</li>
<li>They must coordinate their technology choices with operations and QA rather than selecting tools that suit their preferences alone.</li>
<li>Closer collaboration with less experienced infrastructure staff can feel like a drag on productivity.</li>
</ul>



<h3 class="wp-block-heading">How to Overcome It</h3>



<p class="wp-block-paragraph">PMs must apply genuine facilitation skills to build mutual respect between developers and infrastructure engineers. Concrete steps include:</p>



<ul class="wp-block-list">
<li>Ensuring infrastructure engineers receive training on the specific tools the development team uses—Docker, Jenkins, Git workflows, and so on—so developers are not carrying colleagues who cannot keep up.</li>
<li>Framing DevOps as removing friction for developers (fewer environment mismatches, faster feedback loops) rather than adding responsibility.</li>
<li>Establishing clear ownership boundaries so developers understand precisely which operational concerns are theirs and which remain with the operations team.</li>
</ul>



<h2 class="wp-block-heading">Resistance from QA Teams</h2>



<h3 class="wp-block-heading">Why QA Teams Resist</h3>



<p class="wp-block-paragraph">QA engineers often feel squeezed by DevOps. A faster SDLC means less calendar time for manual testing, and the shift to continuous testing requires skills many test engineers do not yet have:</p>



<ul class="wp-block-list">
<li>Automated functional and regression testing frameworks (e.g., Selenium, Appium).</li>
<li>API and performance testing tools (e.g., JMeter, Postman).</li>
<li>Integration of test execution into CI/CD pipelines so that tests run automatically on every code commit.</li>
</ul>



<p class="wp-block-paragraph">The fear is understandable: asking a manual tester to own automated test suites overnight is a significant professional leap.</p>



<h3 class="wp-block-heading">How to Overcome It</h3>



<p class="wp-block-paragraph">QA managers and PMs should work together to reframe the transition as a <em>skills upgrade</em>, not a threat. Practical tactics:</p>



<ul class="wp-block-list">
<li>Provide structured training in test automation and API testing tools before the team is expected to use them in production pipelines.</li>
<li>Highlight the professional benefit: test engineers who can write and maintain automated test suites are more marketable and command broader responsibilities than manual-only testers.</li>
<li>Introduce automation incrementally—starting with a subset of high-value regression tests—rather than replacing all manual testing at once.</li>
</ul>



<h2 class="wp-block-heading">Resistance from Infrastructure Department Managers</h2>



<h3 class="wp-block-heading">Why Infrastructure Managers Resist</h3>



<p class="wp-block-paragraph">Before DevOps, the infrastructure department manager controlled the design, configuration, and delivery of environments for development, test, and production. Infrastructure as Code (IaC) and self-service provisioning models can make it feel as though that control is being handed to developers—which is a genuine identity challenge for someone whose authority has long rested on gatekeeping infrastructure.</p>



<p class="wp-block-paragraph">At the same time, the role actually expands: the infrastructure manager must now run their department as a competency centre, ensuring that every project team has the right mix of qualified engineers.</p>



<h3 class="wp-block-heading">How to Overcome It</h3>



<p class="wp-block-paragraph">The CIO must communicate the new role clearly and early. Key messages:</p>



<ul class="wp-block-list">
<li>The infrastructure manager is not losing control—they are shifting from hands-on gatekeeping to strategic oversight and quality assurance of how infrastructure is provisioned and governed across projects.</li>
<li>Their new mandate is to proactively identify and resolve skills gaps within project teams before those gaps cause delays, rather than reacting after problems emerge.</li>
<li>They become an enabler of speed rather than a bottleneck, which is a more influential position in a DevOps organisation.</li>
</ul>



<h2 class="wp-block-heading">Resistance from Operations Engineers</h2>



<h3 class="wp-block-heading">Why Operations Engineers Resist</h3>



<p class="wp-block-paragraph">Operations engineers are accustomed to working at the end of the delivery pipeline—receiving a finished build and deploying it. DevOps pulls them into the process from day one, requiring:</p>



<ul class="wp-block-list">
<li>Continuous coordination with developers and QA throughout the project, not just at release time.</li>
<li>Regular reporting to the PM on task status—a level of visibility that can feel like micromanagement to those not used to it.</li>
<li>Fluency in automation and version control tooling: configuration management tools (Chef, Puppet, Ansible), version control systems (Git), and deployment automation platforms.</li>
<li>A new obligation to communicate infrastructure status to both business and technical stakeholders.</li>
</ul>



<h3 class="wp-block-heading">How to Overcome It</h3>



<p class="wp-block-paragraph">The infrastructure department manager should own the technical upskilling of the operations team, delivering or arranging training on the specific tools the organisation has adopted. The PM should focus on the cultural side—building genuine working relationships between operations, development, and QA so that cross-team collaboration feels productive rather than intrusive.</p>



<p class="wp-block-paragraph">It also helps to give operations engineers a voice in tooling decisions early. When engineers help choose the tools they will use, adoption resistance drops considerably.</p>



<h2 class="wp-block-heading">Resistance from End Users</h2>



<h3 class="wp-block-heading">Why End Users Resist</h3>



<p class="wp-block-paragraph">It may seem counterintuitive that the people who benefit most from faster, more reliable software updates would push back. But end users often raise two specific objections:</p>



<ul class="wp-block-list">
<li><strong>Less time for acceptance testing:</strong> A compressed SDLC leaves a shorter window for user acceptance testing (UAT), which can feel like their concerns are being rushed past.</li>
<li><strong>Distrust of automated testing:</strong> End users who have historically relied on their own exploratory testing during UAT cycles may not trust that automated test suites cover the scenarios that matter to them.</li>
</ul>



<h3 class="wp-block-heading">How to Overcome It</h3>



<p class="wp-block-paragraph">PMs should maintain consistent, transparent communication with end users throughout the delivery cycle. Specific actions that build confidence:</p>



<ul class="wp-block-list">
<li>Show end users which critical workflows are covered by automated tests and explain the coverage strategy.</li>
<li>Share test results and defect metrics openly so end users can see that quality gates are functioning.</li>
<li>Involve end users in defining acceptance criteria that feed directly into automated test cases, giving them genuine ownership over what gets tested.</li>
</ul>



<h2 class="wp-block-heading">A Unified Approach: What the CIO Must Drive</h2>



<p class="wp-block-paragraph">Addressing resistance stakeholder by stakeholder requires a coordinated strategy from the top. The CIO or executive sponsor should:</p>



<ul class="wp-block-list">
<li><strong>Communicate openly and early.</strong> Every affected team should understand what is changing, why it is changing, and what their new responsibilities will look like—before the transition begins, not during it.</li>
<li><strong>Invest in targeted training.</strong> Generic &#8220;DevOps awareness&#8221; sessions rarely move the needle. Training should be role-specific: PMs need cross-functional management skills; QA engineers need test automation tools; operations engineers need IaC and configuration management; developers may need exposure to deployment and monitoring practices.</li>
<li><strong>Listen to concerns.</strong> Resistance is often a signal that a legitimate problem has not been addressed. Creating feedback channels—retrospectives, open Q&amp;A sessions, anonymous surveys—helps surface issues before they become blockers.</li>
<li><strong>Measure and share progress.</strong> Demonstrating early wins (faster deployments, reduced incident rates, shorter feedback loops) builds momentum and makes the value of the transition concrete for everyone involved.</li>
</ul>



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



<p class="wp-block-paragraph">DevOps resistance is not irrational—it reflects real concerns about changing roles, new skill requirements, and unfamiliar ways of working. Each stakeholder group has a different source of friction:</p>



<figure class="wp-block-table"><table><thead><tr><th>Stakeholder</th><th>Primary Concern</th><th>Key Remedy</th></tr></thead><tbody><tr><td>Project Managers</td><td>Expanded duties, new tooling knowledge</td><td>Role-specific training; position PM as DevOps champion</td></tr><tr><td>Developers</td><td>Unwanted operational responsibilities</td><td>Clear ownership boundaries; upskill infra engineers</td></tr><tr><td>QA Engineers</td><td>Less test time; need for automation skills</td><td>Automation training; incremental rollout; career framing</td></tr><tr><td>Infrastructure Managers</td><td>Perceived loss of control</td><td>Reframe role as strategic competency oversight</td></tr><tr><td>Operations Engineers</td><td>New collaboration model; unfamiliar tools</td><td>Tool training; involve them in tooling decisions</td></tr><tr><td>End Users</td><td>Shorter UAT window; distrust of automation</td><td>Transparent test coverage; involve users in acceptance criteria</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">Overcoming this resistance is as much a leadership and communication challenge as a technical one. Organisations that address the human dimension of DevOps adoption with the same rigour they apply to tooling selection consistently achieve faster, more durable transformations.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/how-to-overcome-resistance-to-devops-implementation/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>MLflow Plans Extended Kubernetes Support Following 1.0 Release</title>
		<link>https://www.bestdevops.com/mlflow-to-extend-kubernetes-support-in-next-release/</link>
					<comments>https://www.bestdevops.com/mlflow-to-extend-kubernetes-support-in-next-release/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Sat, 15 Jun 2019 06:11:43 +0000</pubDate>
				<category><![CDATA[Kubernetes]]></category>
		<category><![CDATA[extend]]></category>
		<category><![CDATA[MLflow]]></category>
		<category><![CDATA[Release]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=5421</guid>

					<description><![CDATA[After MLflow 1.0 shipped Docker support and Windows compatibility, Databricks confirmed that full Kubernetes deployment support and a model registry were next on the roadmap.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>This article is based on reporting originally published by <a href="https://devclass.com" rel="noopener">devclass.com</a>, including interviews with Databricks representatives at the time of the MLflow 1.0 release in June 2019.</em></p>



<h2 class="wp-block-heading">MLflow 1.0 Delivered Docker and Windows Support</h2>



<p class="wp-block-paragraph">When MLflow reached its 1.0 milestone in June 2019, it shipped two significant capabilities: Windows support and an experimental CLI command for building Docker images capable of serving MLflow models. Both had been stated targets for the 1.0 release by Databricks co-founder and chief technologist Matei Zaharia, who had previously identified Kubernetes and Windows support as key goals for that milestone.</p>



<p class="wp-block-paragraph">Windows support arrived as promised. Kubernetes support, however, was not explicitly included in the 1.0 release — though the new Docker image tooling laid important groundwork for it.</p>



<h2 class="wp-block-heading">Kubernetes Support: Two Distinct Problems</h2>



<p class="wp-block-paragraph">Speaking to Devclass following the 1.0 release, Clemens Mewald, Databricks Director of Product Management, described Kubernetes support as &#8220;a top item for the community&#8221; and broke the challenge into two distinct dimensions:</p>



<ul class="wp-block-list">
<li><strong>Model deployment on Kubernetes:</strong> The most common pattern at the time was to package a trained model into a Docker container and deploy that container onto a Kubernetes cluster. Mewald noted that the new Docker image build feature added in 1.0 directly addressed this use case: &#8220;The feature we added to easily build a Docker container from an MLflow model addresses that request.&#8221;</li>
<li><strong>Hosting MLflow itself on Kubernetes:</strong> The second dimension involved deploying the MLflow tracking server, the UI, and its supporting components onto a Kubernetes cluster. This was the more substantial piece of work still in progress at the time of the interview.</li>
</ul>



<h2 class="wp-block-heading">Community-Driven Pull Request Under Review</h2>



<p class="wp-block-paragraph">Mewald indicated that Databricks was actively collaborating with community contributors on a significant pull request intended to enable full MLflow-on-Kubernetes hosting. &#8220;We&#8217;re basically reviewing and deciding that the design decisions are sound,&#8221; he said, adding that the work was expected to land within the following quarter. He noted that once a contribution is merged to the GitHub repository it becomes immediately available, but is only formally packaged when included in an official release.</p>



<h2 class="wp-block-heading">Model Registry: The Next Major Priority</h2>



<p class="wp-block-paragraph">Alongside Kubernetes, Mewald identified a model registry as &#8220;the most important and biggest piece&#8221; the team was prioritising for the following quarter. The motivation was clear: some Databricks customers were already managing hundreds or thousands of models, creating a real operational challenge.</p>



<p class="wp-block-paragraph">The planned registry would give teams the ability to:</p>



<ul class="wp-block-list">
<li>Register models with human-readable names</li>
<li>Version models automatically</li>
<li>Manage the full lifecycle of a model from experimentation through to production</li>
<li>Integrate with CI/CD systems and enforce approval gates before promoting a model to a new lifecycle stage</li>
</ul>



<p class="wp-block-paragraph">&#8220;The model registry allows our users to manage the lifecycle and in some cases we&#8217;ve seen companies apply as much rigour to this process&#8221; as they would to software releases, Mewald explained, citing the integration of approval workflows with CI/CD pipelines as a concrete example.</p>



<h2 class="wp-block-heading">Multi-Step Workflows on the Longer-Term Roadmap</h2>



<p class="wp-block-paragraph">Looking further ahead, Mewald described plans for expressing multi-step ML workflows natively in MLflow — a capability the company had recently demonstrated. Real-world ML training pipelines are rarely a single step: they typically involve data transformation, model training, evaluation, and potentially further post-processing stages. Databricks intended to give users a structured way to define and orchestrate these steps within MLflow itself. Mewald described this feature as &#8220;farther out&#8221; and likely to arrive later in 2019.</p>



<h2 class="wp-block-heading">Context: Why This Mattered for MLOps Practitioners</h2>



<p class="wp-block-paragraph">At the time of this reporting, Kubernetes had already established itself as the dominant platform for containerised workloads, and machine learning teams were increasingly looking to run inference services alongside their other microservices on shared Kubernetes infrastructure. The gap between MLflow&#8217;s experiment-tracking capabilities and the operational requirements of production ML deployment was a live pain point. The combination of Docker image tooling, planned Kubernetes hosting support, and a model registry represented a coherent attempt to close that gap — and to position MLflow as a full MLOps platform rather than purely an experiment-tracking tool.</p>



<p class="wp-block-paragraph"><em>Note: This article reflects the state of MLflow and Databricks&#8217; roadmap as of June 2019. Features described as planned or in-progress may have since been released, modified, or superseded. Refer to the <a href="https://mlflow.org" rel="noopener">official MLflow documentation</a> and <a href="https://github.com/mlflow/mlflow" rel="noopener">GitHub repository</a> for current capabilities.</em></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/mlflow-to-extend-kubernetes-support-in-next-release/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Why Release Orchestration Is Essential for Continuous Delivery Success</title>
		<link>https://www.bestdevops.com/why-release-orchestration-is-essential-for-continuous-delivery-success/</link>
					<comments>https://www.bestdevops.com/why-release-orchestration-is-essential-for-continuous-delivery-success/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Tue, 14 Feb 2017 05:35:46 +0000</pubDate>
				<category><![CDATA[Continuous Delivery]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[DevOps Best Practices]]></category>
		<category><![CDATA[CD]]></category>
		<category><![CDATA[orchestration]]></category>
		<category><![CDATA[Pipeline]]></category>
		<category><![CDATA[Release]]></category>
		<category><![CDATA[Software Development]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=639</guid>

					<description><![CDATA[Automation alone is not enough for Continuous Delivery. Release orchestration ties together your entire toolchain—CI, testing, deployment, and ticketing—into a coherent, auditable pipeline that scales with your organisation.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Automation is a foundational pillar of modern software delivery. It brings consistency, repeatability, traceability, and auditability to processes that were once error-prone and manual. It lets enterprises scale without creating dangerous dependencies on individual contributors, and it enables microservices architectures where loosely coupled components can be composed into new products. But automation alone does not guarantee a smooth Continuous Delivery (CD) pipeline. As the number of automated tools and stages grows, maintaining visibility and control across the whole process becomes a serious engineering challenge—particularly when legacy applications are involved.</p>



<h2 class="wp-block-heading">The Orchestration Problem: Many Tools, No Conductor</h2>



<p class="wp-block-paragraph">A realistic CD pipeline is rarely a single, unified system. It is a patchwork of best-of-breed tools: source code management, CI servers, test frameworks, artifact repositories, ticketing systems, provisioning tools, and deployment platforms. Each tool solves its own problem well, but none of them inherently knows what the others are doing.</p>



<p class="wp-block-paragraph">Without something to tie these tools together, several problems emerge:</p>



<ul class="wp-block-list">
<li><strong>Manual handoffs persist.</strong> Even in a heavily automated environment, transitions between stages are often managed through spreadsheets, emails, or manually created documents tracking who is responsible for what and when.</li>
<li><strong>Visibility gaps appear.</strong> Business owners, compliance teams, and support staff have no direct window into the release process. They must interrupt engineers to get status updates, ask about upcoming features, or answer security and audit questions.</li>
<li><strong>Audit trails are incomplete.</strong> Point-to-point integrations between tools rarely produce a coherent, queryable record of what happened, when, and why.</li>
</ul>



<p class="wp-block-paragraph">Think of your individual tools as talented musicians. A CI server, a test suite, a deployment engine—each is excellent at its specific role. But without a conductor, the result is noise rather than music. Release orchestration software is that conductor. It keeps track of every moving part, coordinates contributions from each tool, and ensures the whole ensemble delivers something coherent.</p>



<h2 class="wp-block-heading">Why Building Your Own Integration Layer Is a Bad Idea</h2>



<p class="wp-block-paragraph">Faced with a fragmented toolchain, many teams are tempted to write custom scripts or build internal integration platforms to glue everything together. This approach has serious drawbacks that compound over time:</p>



<ul class="wp-block-list">
<li><strong>Maintenance burden.</strong> Every time a tool is upgraded, a process changes, or a new team joins, scripts must be updated. The codebase for these integrations grows quickly and becomes a product in its own right—one that delivers no direct business value.</li>
<li><strong>Poor scalability.</strong> Shell scripts and point integrations that work for a small team become unmanageable at enterprise scale. Adding environments, teams, or release tracks multiplies the complexity non-linearly.</li>
<li><strong>No built-in reporting.</strong> Home-grown integrations rarely produce the dashboards, metrics, and audit logs that security, compliance, and management stakeholders need.</li>
<li><strong>Opportunity cost.</strong> Engineers who build and maintain an internal orchestration platform are not building the core product. This is a significant and often underestimated cost.</li>
</ul>



<p class="wp-block-paragraph">Building a robust, secure, and auditable release integration framework from scratch is an ambitious undertaking. For most organisations, it is neither the best use of engineering time nor likely to produce a result as capable as a dedicated solution.</p>



<h2 class="wp-block-heading">What Release Orchestration Software Actually Does</h2>



<p class="wp-block-paragraph">Release orchestration—often implemented through Application Release Automation (ARA) platforms—provides a structured layer above your existing toolchain. It does not replace your individual tools; it coordinates them. Key capabilities typically include:</p>



<ul class="wp-block-list">
<li><strong>Pipeline modelling.</strong> You define your release process as a sequence of phases and steps. These models can be saved as reusable templates and composed in different configurations for different products or environments.</li>
<li><strong>Tool integration via plugins.</strong> Rather than brittle custom API calls, a plugin architecture provides pre-built, maintained connectors to CI servers like Jenkins, issue trackers like JIRA, test platforms, and deployment targets. This produces a single coherent interface across tools that would otherwise speak different languages.</li>
<li><strong>End-to-end visibility.</strong> All stakeholders—engineers, product owners, security teams, and support staff—can see exactly where a release is in the pipeline, what risks are present, what has passed, and what has failed. This reduces interruptions to development teams and speeds up decision-making.</li>
<li><strong>Audit trails and compliance.</strong> Because every action is recorded through a single orchestration layer, producing an audit log or demonstrating compliance with a security policy becomes a query rather than a manual investigation.</li>
<li><strong>Reporting and intelligence.</strong> Dashboards and metrics expose bottlenecks, failure patterns, and opportunities for further automation. Non-technical stakeholders can access the data relevant to them without requiring engineering support.</li>
<li><strong>Manual step management.</strong> Where manual approvals or interventions are genuinely required, the orchestrator tracks them explicitly rather than leaving them as undocumented gaps between automated stages.</li>
</ul>



<h2 class="wp-block-heading">The Business Case for Release Orchestration</h2>



<p class="wp-block-paragraph">The argument for release orchestration is not purely technical. There is a direct business impact:</p>



<ul class="wp-block-list">
<li><strong>Faster, more reliable releases.</strong> A fully orchestrated pipeline can be triggered with confidence. Fewer manual handoffs mean fewer delays and fewer human errors.</li>
<li><strong>Reduced risk.</strong> Consistent, templated release processes reduce the chance of a step being skipped or executed out of order. Visibility into what is happening in real time means problems are caught earlier.</li>
<li><strong>Scalability without proportional headcount growth.</strong> Orchestration allows an organisation to increase release frequency and the number of products or services being released without a corresponding increase in coordination overhead.</li>
<li><strong>Better compliance posture.</strong> Automated audit trails and policy enforcement reduce the effort required to satisfy internal governance or external regulatory requirements.</li>
</ul>



<h2 class="wp-block-heading">Where Release Orchestration Fits in a CD Pipeline</h2>



<p class="wp-block-paragraph">Release orchestration does not compete with the specialised tools in your pipeline. It sits above them as a coordination and visibility layer. A typical integrated pipeline might look like this:</p>



<ol class="wp-block-list">
<li>A developer commits code to source control.</li>
<li>The orchestrator detects the commit and triggers a CI build in Jenkins.</li>
<li>On a successful build, the orchestrator triggers automated tests in the configured test framework.</li>
<li>Test results are reported back to the orchestrator&#8217;s dashboard.</li>
<li>If a manual approval gate is required (for example, a compliance sign-off), the orchestrator creates or updates a ticket in JIRA and waits for confirmation.</li>
<li>On approval, the orchestrator triggers deployment to the target environment using the appropriate provisioning or deployment tool.</li>
<li>All steps, results, timings, and approvals are logged in a single audit trail accessible to technical and non-technical stakeholders alike.</li>
</ol>



<p class="wp-block-paragraph">At every stage, the release orchestration layer provides the conductor&#8217;s-eye view: what is happening, who is responsible, what the risks are, and what needs attention.</p>



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



<p class="wp-block-paragraph">Automation is necessary but not sufficient for Continuous Delivery success. As toolchains grow in complexity, the coordination overhead between tools becomes a bottleneck in its own right. Release orchestration—through dedicated Application Release Automation platforms—provides the missing layer: a conductor that ties your tools together, makes the entire pipeline visible to all stakeholders, enforces consistency, and produces the audit trails that governance and security demand. For organisations serious about scaling their CD practice, release orchestration is not optional infrastructure; it is a core enabler.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/why-release-orchestration-is-essential-for-continuous-delivery-success/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Visual Studio 2017: Released March 7 — What Developers Need to Know</title>
		<link>https://www.bestdevops.com/visual-studio-2017-coming-march-7/</link>
					<comments>https://www.bestdevops.com/visual-studio-2017-coming-march-7/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Mon, 13 Feb 2017 06:26:02 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<category><![CDATA[DevOps News]]></category>
		<category><![CDATA[2017]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[official]]></category>
		<category><![CDATA[Release]]></category>
		<category><![CDATA[Updates]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=632</guid>

					<description><![CDATA[Microsoft officially released Visual Studio 2017 on March 7, 2017, marking the IDE's 20th anniversary. Here's what changed in the final release candidates and what to expect from the launch.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>Originally reported by InfoQ. Article based on pre-release information published February 2017.</em></p>



<h2 class="wp-block-heading">Visual Studio 2017 Officially Released on March 7</h2>



<p class="wp-block-paragraph">After a series of release candidates, Microsoft officially launched <strong>Visual Studio 2017</strong> on March 7, 2017. The date was deliberately chosen to coincide with the <strong>20th anniversary</strong> of the original Visual Studio release in 1997 — a version that shipped with tools including Visual J++, Visual FoxPro, Visual InterDev, and Visual C++.</p>



<p class="wp-block-paragraph">The release represented a major milestone not just in terms of age, but in the scope of changes Microsoft made to modernize the IDE, improve startup and solution-load performance, and expand support for modern development workflows including containers, cloud, and cross-platform .NET development.</p>



<h2 class="wp-block-heading">What the Final Release Candidate Introduced</h2>



<p class="wp-block-paragraph">The last release candidate before the formal launch (build <strong>26206</strong>, released February 7, 2017) focused primarily on stability and bug fixes, but it did include two notable feature additions:</p>



<ul class="wp-block-list">
  <li><strong><code>dotnet new</code> Templating Engine (.NET Core):</strong> The final RC included integration of the new <code>dotnet new</code> templating engine for .NET Core projects. This allowed developers to scaffold new projects from a wider range of templates directly from the command line, improving the CLI-based development experience.</li>
  <li><strong>Redgate SQL Prompt:</strong> Microsoft bundled the Redgate SQL Prompt into the release, providing IntelliSense-style code completion for SQL queries and scripts. This was a notable addition for developers working with SQL Server databases directly inside the IDE.</li>
</ul>



<h2 class="wp-block-heading">Bug Fixes in Build 26206</h2>



<p class="wp-block-paragraph">Beyond new features, the final RC addressed a range of bugs across several areas:</p>



<h3 class="wp-block-heading">VSIX and Extension Projects</h3>



<p class="wp-block-paragraph">Developers building or maintaining <strong>Visual Studio extensions (VSIX projects)</strong> received targeted fixes in this build. Issues affecting debugging and build pipelines for extension projects were resolved, making it more reliable to develop and test extensions against the new VS2017 host.</p>



<h3 class="wp-block-heading">.NET Core and ASP.NET Core</h3>



<p class="wp-block-paragraph">Several bugs affecting <strong>.NET Core</strong> and <strong>ASP.NET Core</strong> project workflows were fixed, including:</p>



<ul class="wp-block-list">
  <li>Problems saving project files correctly</li>
  <li>NuGet package restore and resolution issues</li>
  <li>Bugs in the .NET Core command-line tooling integration</li>
</ul>



<p class="wp-block-paragraph">These fixes were important given that .NET Core support was one of the headline features of VS2017 and was still maturing at the time of release.</p>



<h2 class="wp-block-heading">How to Get Visual Studio 2017</h2>



<p class="wp-block-paragraph">At the time of the release candidate, Microsoft offered two upgrade paths for developers:</p>



<ol class="wp-block-list">
  <li><strong>In-place update:</strong> Developers already running an earlier VS2017 RC could update directly from within the IDE using the built-in update notification.</li>
  <li><strong>Fresh installer download:</strong> A standalone installer was available from Microsoft&#8217;s official website for clean installations.</li>
</ol>



<p class="wp-block-paragraph">VS2017 introduced a new modular installer that replaced the monolithic setup experience of previous versions, allowing teams to install only the workloads and components they actually needed — significantly reducing install size and time.</p>



<h2 class="wp-block-heading">Why VS2017 Mattered for DevOps Teams</h2>



<p class="wp-block-paragraph">For DevOps and platform engineering teams, Visual Studio 2017 was significant for several reasons:</p>



<ul class="wp-block-list">
  <li><strong>Faster startup and load times:</strong> Microsoft made substantial performance investments, reducing the time to open the IDE and load large solutions.</li>
  <li><strong>Improved .NET Core tooling:</strong> With .NET Core becoming the primary target for cross-platform and containerized workloads, better tooling integration mattered for CI/CD pipeline reliability.</li>
  <li><strong>Docker and container support:</strong> VS2017 improved integration with Docker tooling, making it easier to develop and debug containerized ASP.NET Core applications locally.</li>
  <li><strong>Live Unit Testing:</strong> Introduced in the Enterprise edition, this feature ran unit tests automatically in the background as code was edited, shortening the feedback loop without leaving the editor.</li>
</ul>



<h2 class="wp-block-heading">Further Reading</h2>



<p class="wp-block-paragraph">Full release notes for VS2017 RC build 26206 were published by Microsoft and detail every change included in that build. Developers evaluating the release or maintaining extensions should consult the official Microsoft documentation for the authoritative list of breaking changes and API updates.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/visual-studio-2017-coming-march-7/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How LinkedIn Built Bluepill to Solve iOS UI Test Parallelisation at Scale</title>
		<link>https://www.bestdevops.com/development-problem-solving-the-linkedin-way/</link>
					<comments>https://www.bestdevops.com/development-problem-solving-the-linkedin-way/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Wed, 25 Jan 2017 07:09:20 +0000</pubDate>
				<category><![CDATA[Build and Release]]></category>
		<category><![CDATA[Continuous Integration]]></category>
		<category><![CDATA[DevOps Best Practices]]></category>
		<category><![CDATA[DevOps Tools]]></category>
		<category><![CDATA[Bluepill]]></category>
		<category><![CDATA[LinkedIn]]></category>
		<category><![CDATA[Release]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Testing]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=431</guid>

					<description><![CDATA[LinkedIn's 3×3 mobile release schedule demanded faster iOS testing than any off-the-shelf tool could deliver. Here's how their engineers built Bluepill, an open-source parallel iOS test runner, and what it means for teams facing the same bottleneck.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>Original source: TechTarget / LinkedIn Engineering Blog (January 2017)</em></p>



<h2 class="wp-block-heading">The 3×3 Release Challenge</h2>



<p class="wp-block-paragraph">LinkedIn operates on what it calls a <strong>3×3 mobile release schedule</strong>: three releases per day, with a goal of never allowing code to sit uncommitted for more than three hours. At the scale LinkedIn operates, that cadence demands that every stage of the pipeline — including automated testing — runs fast, reliably, and without human bottlenecks.</p>



<p class="wp-block-paragraph">For most engineering teams, continuous integration pipelines already feel stretched when pushing one release per day. Tripling that frequency requires rethinking not just deployment, but every upstream gate, particularly automated UI testing on mobile.</p>



<h2 class="wp-block-heading">Where iOS UI Testing Became the Bottleneck</h2>



<p class="wp-block-paragraph">Automated iOS UI testing is notoriously slow. Running a full UI test suite sequentially on a single simulator can take far longer than the three-hour window LinkedIn had set for its release cycle. Off-the-shelf solutions available at the time could not adequately parallelize iOS simulator runs to fit within that window, and LinkedIn&#8217;s engineering team found themselves at a wall: without faster test execution, the 3×3 schedule simply was not achievable.</p>



<p class="wp-block-paragraph">The options were limited. Compromise the release cadence, accept reduced test coverage, or build something new.</p>



<h2 class="wp-block-heading">The Solution: Bluepill — An Open-Source Parallel iOS Test Runner</h2>



<p class="wp-block-paragraph">LinkedIn&#8217;s engineering team chose to build their own tool. Named <strong>Bluepill</strong> — a nod to <em>The Matrix</em> — it is an open-source iOS test runner designed to execute tests across multiple simulators in parallel. Key capabilities include:</p>



<ul class="wp-block-list">
  <li><strong>Parallel simulator execution:</strong> Bluepill spawns multiple iOS simulators simultaneously, distributing the test suite across them to cut overall wall-clock execution time.</li>
  <li><strong>Intelligent test packing:</strong> Tests are grouped into balanced batches so that simulators finish at roughly the same time, avoiding idle resources waiting on a slow final batch.</li>
  <li><strong>JUnit report output:</strong> After each run, Bluepill produces a standard JUnit XML report, making it straightforward to integrate with existing CI dashboards and reporting tools.</li>
</ul>



<p class="wp-block-paragraph">LinkedIn open-sourced Bluepill in January 2017. Full details are available on the <a href="https://engineering.linkedin.com/blog/2017/01/open-sourcing-bluepill--run-ios-tests-in-multiple-simulators">LinkedIn Engineering Blog</a>.</p>



<h2 class="wp-block-heading">How Long Did It Take to Build?</h2>



<p class="wp-block-paragraph">LinkedIn engineer Oscar Bonilla described the development timeline directly:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
  <p>&#8220;The first commit happened on Aug. 12 and we had it working on the LinkedIn Continuous Integration system by Nov. 1. From there we continued to polish the project and address a few bugs. So in total it took about 10 weeks to build Bluepill and another 10 to refine it.&#8221;</p>
  <cite>— Oscar Bonilla, LinkedIn Engineering</cite>
</blockquote>



<p class="wp-block-paragraph">That is roughly five months from initial commit to a production-hardened open-source release — a reasonable timeline for a tool that reportedly saved LinkedIn thousands of developer hours.</p>



<h2 class="wp-block-heading">Lessons for DevOps and Mobile Engineering Teams</h2>



<p class="wp-block-paragraph">The Bluepill story illustrates several principles relevant to any team dealing with CI bottlenecks at scale:</p>



<ul class="wp-block-list">
  <li><strong>Identify the constraint precisely.</strong> LinkedIn did not try to speed up their entire pipeline at once. They identified iOS UI testing as the specific gate blocking their release cadence and focused engineering effort there.</li>
  <li><strong>Evaluate build-vs-buy honestly.</strong> Off-the-shelf tools failed to meet the requirement. Rather than forcing an inadequate tool into production, the team invested roughly ten weeks to build a fit-for-purpose solution.</li>
  <li><strong>Parallelisation is often the right lever for test speed.</strong> Distributing a test suite across multiple simulators or machines is frequently more practical than trying to make individual tests faster.</li>
  <li><strong>Open-sourcing internal tooling creates compounding value.</strong> By releasing Bluepill publicly, LinkedIn benefited from external contributions and bug reports while giving the broader iOS community a tool to address a common pain point.</li>
  <li><strong>Standard output formats matter.</strong> JUnit XML is a lingua franca for CI test results. Tools that produce it integrate immediately with Jenkins, CircleCI, GitHub Actions, and most other CI systems without custom parsing.</li>
</ul>



<h2 class="wp-block-heading">Further Reading</h2>



<p class="wp-block-paragraph">For the full technical details of Bluepill&#8217;s architecture and configuration options, see the original announcement on the <a href="https://engineering.linkedin.com/blog/2017/01/open-sourcing-bluepill--run-ios-tests-in-multiple-simulators">LinkedIn Engineering Blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/development-problem-solving-the-linkedin-way/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
