<?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>DevOps environment &#8211; Best DevOps</title>
	<atom:link href="https://www.bestdevops.com/tag/devops-environment/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 01:29:04 +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>Why DevOps Is an Attractive Target for Cybercrime Syndicates</title>
		<link>https://www.bestdevops.com/why-devops-is-an-attractive-target-for-cybercrime-syndicates/</link>
					<comments>https://www.bestdevops.com/why-devops-is-an-attractive-target-for-cybercrime-syndicates/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Wed, 05 Feb 2020 05:33:08 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[Cloud Configuration]]></category>
		<category><![CDATA[DevOps environment]]></category>
		<category><![CDATA[malware]]></category>
		<category><![CDATA[Software Development]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=10382</guid>

					<description><![CDATA[Supply chain attacks on DevOps environments are increasing. Learn why CI/CD pipelines, container registries, and cloud infrastructure are prime targets—and what your team can do to defend them.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>This article is based on reporting originally published by Forbes (forbes.com, February 2020). The incidents described below were publicly reported at the time of original publication.</em></p>



<h2 class="wp-block-heading">High-Profile Incidents That Put DevOps Security in the Spotlight</h2>



<p class="wp-block-paragraph">In late September 2019, Avast disclosed that it had detected an intrusion into its internal network via a temporary VPN profile that lacked two-factor authentication. Security researchers believed the attackers&#8217; goal was to plant malware inside CCleaner—a widely used system-cleanup utility—repeating a technique that had succeeded in 2017, when cybercriminals successfully trojanized CCleaner and distributed it to millions of users. The 2019 attempt was detected and disrupted before any official build was compromised.</p>



<p class="wp-block-paragraph">Earlier in April 2019, Docker disclosed a breach of a single Docker Hub database that exposed sensitive information from approximately 190,000 accounts. Investigators suspected the attackers may have attempted to implant malware in official Docker images used to instantiate containers. Docker confirmed that no official images were ultimately compromised, but the incident underscored how a single point of failure in a container registry can threaten countless downstream environments.</p>



<p class="wp-block-paragraph">These are examples of <strong>software supply chain attacks</strong>—a category in which adversaries compromise widely used software or infrastructure upstream so that the malware propagates automatically to every organization that installs or pulls from that source. The technique is attractive precisely because a single successful intrusion can reach millions of targets simultaneously.</p>



<h2 class="wp-block-heading">Why DevOps Environments Are Prime Targets</h2>



<h3 class="wp-block-heading">1. Rapid Cloud Adoption Creates Sprawl</h3>



<p class="wp-block-paragraph">DevOps pipelines are increasingly running on public cloud platforms. Keeping pace with the dynamic nature of cloud environments—constantly changing components, configurations, permissions, and services—places an enormous operational burden on teams that are already moving fast. The resulting configuration drift can leave critical gaps, including:</p>



<ul class="wp-block-list">
<li>Accounts without multi-factor authentication (MFA/2FA) enabled</li>
<li>Object storage buckets misconfigured with public read or write access</li>
<li>Container API endpoints exposed without access controls</li>
<li>Serverless function invocation URLs left unprotected</li>
<li>Over-permissioned IAM roles and service accounts</li>
</ul>



<h3 class="wp-block-heading">2. Modern Software Is a Web of Third-Party Components</h3>



<p class="wp-block-paragraph">Software development today rarely means writing every line from scratch. Production applications routinely depend on dozens or hundreds of open-source packages, commercial SDKs, base container images, and CI/CD plugins. Each dependency is a potential entry point. Compromising any single component in this ecosystem—a popular npm package, a PyPI library, a Docker base image—can give an attacker an immediate foothold across every project that consumes it.</p>



<h2 class="wp-block-heading">What DevOps Teams Can Do to Defend Against These Attacks</h2>



<p class="wp-block-paragraph">Preventive controls such as MFA, firewalls, web application firewalls (WAF), anti-malware tools, and secure email gateways are necessary but no longer sufficient on their own. Sophisticated supply chain attackers routinely bypass these layers. A robust strategy must combine prevention with continuous monitoring and rapid incident response.</p>



<h3 class="wp-block-heading">Monitor DevOps Pipelines and Cloud Infrastructure</h3>



<p class="wp-block-paragraph">Early detection is the single most important factor in limiting blast radius. Every meaningful activity in the DevOps workflow—code pushes, build triggers, artifact publishes, and deployments—should be logged and profiled against a baseline of normal behavior. Anomalies to investigate include:</p>



<ul class="wp-block-list">
<li>Access from unexpected geographic regions or IP ranges</li>
<li>Logins outside normal working hours</li>
<li>Unusual changes to build configurations or pipeline definitions</li>
<li>Artifact publishes that do not correspond to a recognized commit or build job</li>
</ul>



<p class="wp-block-paragraph">Platform-level event streams—for example, Azure DevOps audit logs, GitHub audit logs, or GitLab&#8217;s audit events—can feed a SIEM or monitoring platform to provide this visibility without requiring agents on individual build hosts. Underlying cloud infrastructure (virtual machines, storage accounts, management consoles, PaaS services) should be monitored in the same way, since infrastructure-layer compromises are frequently used as a stepping stone to reach the pipeline itself.</p>



<h3 class="wp-block-heading">Monitor Production Container Environments</h3>



<p class="wp-block-paragraph">Container security requires visibility at multiple layers:</p>



<ul class="wp-block-list">
<li><strong>Intra-container events:</strong> Process execution, file-system writes, and outbound network connections from within a running container can reveal compromised processes or malware payloads. Achieving this visibility typically requires embedding lightweight monitoring agents or eBPF-based probes as part of the golden image build.</li>
<li><strong>Container-to-container communication:</strong> Profiling expected network flows between containers—using data from the orchestration layer (Kubernetes network policies, service mesh telemetry)—makes it possible to detect rogue containers establishing unexpected connections.</li>
<li><strong>Image provenance:</strong> Enforce image signing and verify digests at deploy time so that only images from trusted registries and with verified signatures can run in production.</li>
</ul>



<h3 class="wp-block-heading">Continuously Assess Cloud Configuration</h3>



<p class="wp-block-paragraph">A point-in-time audit is not enough in a cloud-native environment where configuration changes happen constantly. Automated cloud security posture management (CSPM) tools can continuously benchmark running configurations across virtual machines, storage, databases, management consoles, container clusters, and identity policies. The <a href="https://www.cisecurity.org/cis-benchmarks/" rel="noopener noreferrer" target="_blank">CIS Benchmarks</a> are a widely adopted, vendor-neutral baseline for this kind of assessment and are available for major cloud providers, operating systems, and Kubernetes.</p>



<h3 class="wp-block-heading">Scan Every Software Component for Vulnerabilities and Malware</h3>



<p class="wp-block-paragraph">Dependency scanning and software composition analysis (SCA) should be mandatory gates in the CI/CD pipeline, not optional afterthoughts. Effective component security includes:</p>



<ul class="wp-block-list">
<li>Scanning open-source dependencies for known CVEs before they are merged or promoted</li>
<li>Scanning container images for vulnerable OS packages and application libraries</li>
<li>Analyzing first-party and third-party code for suspicious patterns or embedded malware</li>
<li>Generating and maintaining a Software Bill of Materials (SBOM) so you can respond quickly when a new vulnerability is disclosed in a component you use</li>
</ul>



<h2 class="wp-block-heading">The Bigger Picture</h2>



<p class="wp-block-paragraph">Cybercrime syndicates and state-sponsored threat actors have recognized that compromising software at its source—inside the DevOps pipeline—delivers a much higher return than attacking individual organizations one by one. A single implant in a widely distributed package or container image can propagate to thousands of organizations before anyone raises an alarm.</p>



<p class="wp-block-paragraph">Defending against this threat model requires treating security as a first-class concern throughout the software delivery lifecycle: enforcing least-privilege access, enabling MFA everywhere, scanning every artifact, monitoring every pipeline event, and being prepared to respond the moment something anomalous appears. The organizations that invest in this discipline now will be far better positioned to detect and contain the supply chain attacks that are certain to continue.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/why-devops-is-an-attractive-target-for-cybercrime-syndicates/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How to Scale DevOps: Tackle 7 Common Time-Wasters Using Lean Principles</title>
		<link>https://www.bestdevops.com/how-to-scale-devops-tackle-7-common-time-wasters/</link>
					<comments>https://www.bestdevops.com/how-to-scale-devops-tackle-7-common-time-wasters/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Wed, 23 Oct 2019 07:28:44 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<category><![CDATA[DevOps environment]]></category>
		<category><![CDATA[Global Developer]]></category>
		<category><![CDATA[Over-Processing]]></category>
		<category><![CDATA[Software Development]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=8795</guid>

					<description><![CDATA[Lean manufacturing's TIMWOOD framework maps directly onto DevOps workflows. Learn how to identify and eliminate the seven types of waste — from bad handoffs to over-production — that slow your software delivery pipeline.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Scaling DevOps requires structure, visibility, and orchestration across every stage of the software delivery lifecycle. Yet many teams inadvertently introduce inefficiencies that erode the value DevOps is meant to deliver. A proven way to identify and eliminate these inefficiencies is to borrow a framework from lean manufacturing: <strong>TIMWOOD</strong>.</p>



<p class="wp-block-paragraph">TIMWOOD maps seven categories of waste onto team and individual activities. Some are strategic in nature and require cross-team collaboration to resolve; others are tactical and can be addressed within a single feature team. Used alongside Kanban boards or value stream maps, the framework gives DevOps teams a concrete starting point for reducing friction and accelerating delivery.</p>



<h2 class="wp-block-heading">The Seven Types of Waste in DevOps</h2>



<p class="wp-block-paragraph">The seven TIMWOOD waste types, as applied to DevOps, are:</p>



<ul class="wp-block-list">
  <li><strong>Transfer</strong> — handoffs between teams or individuals (strategic)</li>
  <li><strong>Inventory</strong> — backlog of partially completed or shelved work (strategic)</li>
  <li><strong>Motion</strong> — task switching, interruptions, and context changes within a process (tactical)</li>
  <li><strong>Waiting</strong> — delays caused by approvals, decisions, or environment readiness (strategic)</li>
  <li><strong>Over-Processing</strong> — unnecessary effort, including re-learning undocumented code (tactical)</li>
  <li><strong>Over-Production</strong> — building features nobody will use (strategic)</li>
  <li><strong>Defects/Rework</strong> — quality issues that require code to be revisited and fixed (tactical)</li>
</ul>



<p class="wp-block-paragraph">Tactical wastes should be resolved within the feature team. Strategic wastes are more systemic and demand cross-functional collaboration. Here is a detailed look at each waste type and how to address it in practice.</p>



<h2 class="wp-block-heading">1. Transfer — Bad Handoffs Between Teams</h2>



<p class="wp-block-paragraph">Transfer waste occurs when too many dependencies exist between individuals or teams — for example, requiring sign-off from a separate team before work can proceed. Each handoff introduces a potential delay and a point of communication failure.</p>



<p class="wp-block-paragraph"><strong>How to address it:</strong></p>



<ul class="wp-block-list">
  <li><strong>Cross-functional pairing:</strong> Have developers pair with testers to sign off work in real time rather than as a sequential gate. This removes the waiting period between handoffs.</li>
  <li><strong>Continuous Integration (CI):</strong> Build a unified CI pipeline that covers multiple gating concerns — code quality, security scanning, test coverage — so software moves between team members through automation rather than manual hand-to-hand transfers.</li>
  <li><strong>Break down silos:</strong> Where possible, create teams that are end-to-end capable of delivering a feature without requiring external approval at every step.</li>
</ul>



<h2 class="wp-block-heading">2. Inventory — Unfinished Work Piling Up</h2>



<p class="wp-block-paragraph">Inventory waste includes items that were added to the backlog and never touched (stale documentation is a classic example), features that were partially started and then abandoned, or work that was shelved due to shifting priorities. Large backlogs create cognitive overhead and make it harder to see what actually matters.</p>



<p class="wp-block-paragraph"><strong>How to address it:</strong></p>



<ul class="wp-block-list">
  <li>Team leaders should agree on a clearly prioritised, short list of features to deliver next.</li>
  <li>Visualise that list on a Kanban board and enforce a work-in-progress (WIP) limit: only add new items once the current ones are shipped.</li>
  <li>Regularly prune the backlog to remove items that no longer align with product goals, rather than letting them accumulate indefinitely.</li>
</ul>



<h2 class="wp-block-heading">3. Motion — Context Switching and Interruptions</h2>



<p class="wp-block-paragraph">Motion waste is the cost of switching between tasks, responsibilities, or tools mid-stream. It also includes time lost navigating remote or inaccessible resources. Every context switch carries a cognitive cost that compounds across a team.</p>



<p class="wp-block-paragraph"><strong>How to address it:</strong></p>



<ul class="wp-block-list">
  <li>Reducing transfer and inventory waste naturally reduces motion waste, since clearer priorities and fewer handoffs mean fewer reasons to switch tasks.</li>
  <li>Invest in a well-integrated toolchain so that developers, testers, and operations engineers share a common environment rather than toggling between disconnected systems.</li>
  <li>Protect focus time: team agreements such as no-meeting blocks or async-first communication norms can significantly reduce interruptions.</li>
</ul>



<h2 class="wp-block-heading">4. Waiting — Delays in Approvals and Environments</h2>



<p class="wp-block-paragraph">Waiting waste is perhaps the most universally recognised: sitting idle while waiting for a product decision, an environment to be provisioned, or an answer from another team. It is often the largest source of lead time bloat in software delivery.</p>



<p class="wp-block-paragraph"><strong>How to address it:</strong></p>



<ul class="wp-block-list">
  <li><strong>Build in slack:</strong> Explicitly schedule buffer time for known delays rather than treating them as exceptions. This keeps the team moving rather than blocked.</li>
  <li><strong>Start complex tasks earlier:</strong> Tasks that are known sources of waiting — environment provisioning, third-party integrations, security reviews — should be initiated as early as possible in the iteration.</li>
  <li><strong>Adopt Infrastructure as Code (IaC):</strong> Tools that codify environment configuration allow teams to spin up consistent, on-demand environments automatically, eliminating the manual work of configuring networks, virtual machines, and dependencies from scratch each time.</li>
</ul>



<h2 class="wp-block-heading">5. Over-Processing — Excess Effort That Adds No Value</h2>



<p class="wp-block-paragraph">Over-processing waste means investing time and effort in work that is not actually required to deliver value. Common examples include building elaborate solutions for simple problems, writing speculative code, or — perhaps most painfully — asking new team members to reverse-engineer undocumented legacy code before they can contribute.</p>



<p class="wp-block-paragraph"><strong>How to address it:</strong></p>



<ul class="wp-block-list">
  <li>Use well-written user stories with clear acceptance criteria to keep developers focused on features that deliver concrete value.</li>
  <li>Timebox feature implementation to prevent gold-plating and scope creep.</li>
  <li>Write code with future maintainability in mind: good naming, modular design, and up-to-date documentation reduce the ramp-up cost for the next person who works on the codebase.</li>
</ul>



<h2 class="wp-block-heading">6. Over-Production — Building What Nobody Needs</h2>



<p class="wp-block-paragraph">Over-production occurs when teams build features or entire products that no one will use. This is a strategic waste because it misallocates developer time and creates long-term maintenance overhead for code that delivers no business value.</p>



<p class="wp-block-paragraph"><strong>How to address it:</strong></p>



<ul class="wp-block-list">
  <li>Ensure every story in the sprint backlog traces back to a validated epic, initiative, or business outcome — if it doesn&#8217;t, question whether it should be built at all.</li>
  <li>Conduct frequent scope reviews within the feature team to catch deviation early, before it becomes a delivered-but-unused feature.</li>
  <li>Engage product owners and stakeholders regularly so that the team builds based on current needs, not assumptions from three months ago.</li>
</ul>



<h2 class="wp-block-heading">7. Defects and Rework — The Cost of Poor Quality</h2>



<p class="wp-block-paragraph">Defect waste is the time and effort consumed fixing bugs that escaped earlier in the pipeline. The further a defect travels from its origin before it is caught, the more expensive it becomes to fix. Rework disrupts flow, erodes team morale, and delays delivery.</p>



<p class="wp-block-paragraph"><strong>How to address it:</strong></p>



<ul class="wp-block-list">
  <li>Implement fast feedback loops through CI pipelines that run automated tests on every commit.</li>
  <li>Use a layered testing strategy that combines unit tests, functional tests, integration tests, and end-to-end tests to catch different categories of defects at the right level.</li>
  <li>Shift testing left: involve testers during story refinement and development, not just at the end of the sprint, so quality is built in rather than inspected in.</li>
</ul>



<h2 class="wp-block-heading">Identifying Your Own DevOps Slowdowns</h2>



<p class="wp-block-paragraph">Not every team will encounter all seven waste types with equal severity. Some organisations will relate strongly to transfer and waiting waste; others will find over-processing or defects to be their primary drag. Some teams will also identify organisation-specific sub-categories of waste that don&#8217;t map neatly onto the standard seven.</p>



<p class="wp-block-paragraph">What is universal is this: scaling and maturing a DevOps practice requires a clear understanding of where waste lives in your delivery pipeline and what it costs — in engineering time, operational overhead, and customer experience. Visualising your workflow through a Kanban board or a value stream map is the most direct route to making that waste visible.</p>



<p class="wp-block-paragraph">Once the waste is visible, it can be prioritised, assigned, and systematically eliminated. As with any engineering problem, accurately diagnosing what you are dealing with is always at least half the solution.</p>



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



<ul class="wp-block-list">
  <li>The lean TIMWOOD framework — Transfer, Inventory, Motion, Waiting, Over-Processing, Over-Production, Defects — applies directly to DevOps workflows.</li>
  <li>Strategic wastes (Transfer, Inventory, Waiting, Over-Production) require cross-team solutions; tactical wastes (Motion, Over-Processing, Defects) can often be resolved within the feature team.</li>
  <li>Kanban boards and value stream maps are the primary tools for making waste visible.</li>
  <li>CI pipelines, IaC, cross-functional pairing, WIP limits, and clear user stories are the most practical levers for reducing waste across the seven categories.</li>
  <li>There is no universal playbook: identify which waste types affect your team most and prioritise accordingly.</li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/how-to-scale-devops-tackle-7-common-time-wasters/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Five Steps to Gaining Control of a DevOps Environment</title>
		<link>https://www.bestdevops.com/the-five-steps-to-gaining-control-of-a-devops-environment/</link>
					<comments>https://www.bestdevops.com/the-five-steps-to-gaining-control-of-a-devops-environment/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Sat, 14 Jul 2018 05:10:08 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<category><![CDATA[DevOps Best Practices]]></category>
		<category><![CDATA[Continuous Delivery]]></category>
		<category><![CDATA[DevOps Challenges]]></category>
		<category><![CDATA[DevOps environment]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=4018</guid>

					<description><![CDATA[Monitoring a DevOps environment requires more than just installing agents. Follow this five-step framework—collect, correlate, triage, trend, and act—to gain real visibility and control over your infrastructure and services.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Organizations under pressure to deliver reliable online services need more than good intentions—they need a structured approach to observability. Without clear visibility into what is happening across infrastructure, applications, and pipelines, DevOps teams end up reacting to problems rather than preventing them.</p>



<p class="wp-block-paragraph">The following five-step framework, originally discussed in a webinar hosted by DBTA and featuring Russ Savage (product manager, InfluxData) and Chris Churilo (director of product marketing, InfluxData), provides a practical path to getting control of a DevOps monitoring environment.</p>



<h2 class="wp-block-heading">Why DevOps Monitoring Is Harder Than It Looks</h2>



<p class="wp-block-paragraph">Even teams that have invested in monitoring tools commonly face the same recurring problems:</p>



<ul class="wp-block-list">
  <li>Tooling limitations that prevent collecting all relevant signals</li>
  <li>Manual capacity planning that cannot keep pace with dynamic workloads</li>
  <li>Long lead times for instrumenting new services or metrics</li>
  <li>An overwhelming number of competing monitoring solutions with overlapping scope</li>
</ul>



<p class="wp-block-paragraph">The solution is not to buy yet another tool—it is to establish a repeatable process that starts with what you are collecting today and builds toward proactive, data-driven decision-making.</p>



<h2 class="wp-block-heading">Step 1: Collect the Data</h2>



<p class="wp-block-paragraph">Comprehensive data collection is the foundation. Before you can monitor anything meaningfully, you need to know what data you have, why you are collecting it, and what gaps exist.</p>



<ul class="wp-block-list">
  <li><strong>Inventory what you are collecting.</strong> List every data source: server metrics, application logs, container stats, network telemetry, and business-level signals. Gaps at this stage propagate into every subsequent step.</li>
  <li><strong>Understand the goal behind each metric.</strong> Collecting CPU utilization is only useful if you know which decisions it informs. Align every collected metric to a business or operational question.</li>
  <li><strong>Decide how to collect.</strong> Options include reading from known file locations, deploying specialized agents alongside workloads, or using APIs. You also need to choose between push-based collection (the monitored system sends data) and pull-based collection (a central collector scrapes endpoints). Each approach has trade-offs in scalability, security, and operational overhead.</li>
  <li><strong>Identify what is missing.</strong> After the inventory, audit for blind spots—new microservices not yet instrumented, third-party dependencies, or ephemeral container workloads that existing agents never capture.</li>
</ul>



<h2 class="wp-block-heading">Step 2: Correlate and Triage</h2>



<p class="wp-block-paragraph">Raw data from many sources rarely tells a coherent story on its own. Correlation turns isolated signals into actionable information.</p>



<ul class="wp-block-list">
  <li><strong>Handle data dimensionality.</strong> Metrics arrive at different frequencies (every second vs. every five minutes), cover different time frames, and come from heterogeneous sources. Your storage and query layer must handle this without forcing you to normalise everything to a common resolution before storage.</li>
  <li><strong>Establish baselines for availability.</strong> Before you can detect an anomaly, you need to know what normal looks like. Start by capturing steady-state behaviour for critical services so that deviations are obvious and measurable.</li>
  <li><strong>Identify remaining gaps.</strong> As you begin correlating data, new blind spots typically emerge—for example, you may have application metrics but no corresponding infrastructure metrics for the hosts running that application.</li>
</ul>



<h2 class="wp-block-heading">Step 3: Identify Trends</h2>



<p class="wp-block-paragraph">Once baselines exist, you can look forward rather than only backward.</p>



<ul class="wp-block-list">
  <li><strong>Forecast from historical data.</strong> Use time-series data to project future resource consumption—disk fill rates, memory growth, request volume growth. Forecasting gives capacity planning a quantitative basis instead of relying on guesswork or annual reviews.</li>
  <li><strong>Establish alerting thresholds.</strong> Thresholds derived from observed trends are far more accurate than static, hand-tuned values. A threshold set at 80% CPU is arbitrary; a threshold set at two standard deviations above the rolling weekly average is grounded in reality.</li>
  <li><strong>Manage inventory and safety margins.</strong> Know your safety levels—how much headroom do you have before a resource constraint causes a service degradation? Define these margins explicitly so that on-call engineers have clear action triggers rather than ambiguous dashboards.</li>
</ul>



<h2 class="wp-block-heading">Steps 4 and 5: Act and Iterate</h2>



<p class="wp-block-paragraph">The original webinar summarised three core steps, but a complete monitoring maturity model requires two further stages that naturally follow trend identification.</p>



<ul class="wp-block-list">
  <li><strong>Step 4 — Act on the data.</strong> Insights are only valuable if they drive decisions. This means closing the loop between monitoring data and operational actions: automated remediation for known failure patterns, escalation workflows for anomalies that require human intervention, and capacity orders triggered by forecast thresholds.</li>
  <li><strong>Step 5 — Continuously refine.</strong> DevOps environments change constantly. New services are deployed, traffic patterns shift, and infrastructure evolves. Treat your monitoring strategy as a living system: revisit your metric inventory, update baselines after major changes, and retire metrics that no longer serve a purpose.</li>
</ul>



<h2 class="wp-block-heading">Tooling Considerations: Time-Series Databases</h2>



<p class="wp-block-paragraph">Several of these steps—particularly correlation, trend analysis, and forecasting—are significantly easier when metrics are stored in a purpose-built time-series database. Time-series databases are optimised for high-throughput writes of timestamped data, efficient range queries, and automatic data retention policies that age out high-resolution data after a configurable period.</p>



<p class="wp-block-paragraph">When evaluating a time-series platform for a DevOps monitoring stack, look for:</p>



<ul class="wp-block-list">
  <li>High write throughput to handle burst instrumentation during incidents</li>
  <li>Flexible retention policies so that raw, high-resolution data can be downsampled and archived rather than deleted outright</li>
  <li>Time-aware query semantics (relative time ranges, aggregations over windows) that map naturally to monitoring questions</li>
  <li>Horizontal scalability to grow with the number of monitored services</li>
  <li>Integration with common collection agents and visualisation tools already in your stack</li>
</ul>



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



<p class="wp-block-paragraph">Gaining control of a DevOps environment is a process, not a product purchase. Start by understanding what you are collecting and why. Build baselines through correlation, then use historical trends to forecast and set meaningful thresholds. Finally, close the loop by acting on insights and continuously improving your instrumentation as the environment evolves. Teams that follow a structured approach move from reactive fire-fighting to proactive, evidence-based operations.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/the-five-steps-to-gaining-control-of-a-devops-environment/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>OpsHub Highlights Its Role in Accelerating DevOps Transformation at Discover 2017</title>
		<link>https://www.bestdevops.com/opshub-highlights-its-role-in-accelerating-devops-transformation-at-discover-2017/</link>
					<comments>https://www.bestdevops.com/opshub-highlights-its-role-in-accelerating-devops-transformation-at-discover-2017/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Wed, 07 Jun 2017 06:59:07 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<category><![CDATA[DevOps Best Practices]]></category>
		<category><![CDATA[BestDevOps]]></category>
		<category><![CDATA[DevOps environment]]></category>
		<category><![CDATA[DevOps transformation]]></category>
		<category><![CDATA[OIM]]></category>
		<category><![CDATA[OpsHub]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=1769</guid>

					<description><![CDATA[Source &#8211; benzinga.com Enterprises are embracing the need to transform digitally, and they are facing challenges in delivering high-quality solutions in [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Source &#8211; <strong>benzinga.com</strong></p>
<p>Enterprises are embracing the need to transform digitally, and they are facing challenges in delivering high-quality solutions in shorter cycle times. OpsHub enables enterprises to create a unified DevOps environment within their existing infrastructure by integrating HPE Application Lifecycle Management (ALM), Application Lifecycle Management Octane (ALM Octane) and Quality Center (QC) solutions to other ALM, DevOps, CRM, and ITSM systems. As a result, organizations can increase delivery speed and quality by enhancing collaboration between sales, service and development teams – while ensuring availability of information with context.</p>
<p>In a DevOps ecosystem created by OpsHub Integration Manager (OIM), all cross-functional teams work with unified sets of facts, towards delivering a holistic experience to the customer. This ecosystem also supports end-to-end automation during all stages of development and operations. Additional features such as support for automatic recovery and reconciliation, proactive conflict management, implicit traceability, and historical tracking introduced in the ecosystem by OIM make the ecosystem future-ready, robust, and reliable for cross-functional collaboration.</p>
<p>&#8220;A unified DevOps ecosystem created by integrating HPE ALM, ALM Octane and QCE with other third party systems not only accelerates productivity, but also boosts business agility. This enables enterprises to deliver quality solutions and phenomenal customer experiences leading to delighted customers in the digital age,&#8221; said Sandeep Jain, CEO of OpsHub Inc.</p>
<p>&#8220;An expanding set of tools and technologies creates complex organizational challenges for enterprises shifting to DevOps,&#8221; said Vandan Nayak, Senior Product Manager for ALM Octane, Hewlett Packard Enterprise. &#8220;Leveraging tools like HPE ALM, ALM Octane and Quality Center, in conjunction with OpsHub Integration Manager, to streamline enterprise systems can improve cross-team collaboration – and ultimately help organizations rapidly deliver high-quality, high-performing applications.&#8221;</p>
<p><strong>About OpsHub</strong></p>
<p>OpsHub is the leading provider of integration and migration solutions for the ALM, CRM, and DevOps tool chains. OpsHub improves the efficiency and effectiveness of agile teams in ALM and DevOps environments by making necessary and current data available to each user, in that user&#8217;s preferred system, with full context, in real-time. OpsHub&#8217;s solutions for integration and migration speed up development processes, reduce errors, improve decision-making, and result in delivering innovative products and services faster, with higher quality at lower cost.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/opshub-highlights-its-role-in-accelerating-devops-transformation-at-discover-2017/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Accessibility Test Automation in a DevOps Environment</title>
		<link>https://www.bestdevops.com/accessibility-test-automation-in-devops-environment/</link>
					<comments>https://www.bestdevops.com/accessibility-test-automation-in-devops-environment/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Tue, 23 May 2017 06:59:44 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<category><![CDATA[DevOps Best Practices]]></category>
		<category><![CDATA[Automation]]></category>
		<category><![CDATA[BestDevOps]]></category>
		<category><![CDATA[DevOps environment]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Test Automation]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=1603</guid>

					<description><![CDATA[Accessibility (AX) testing ensures applications are usable by people with disabilities. Learn how to integrate automated AX testing into your DevOps pipeline, which tools to use, and why shifting left on accessibility saves time and reduces compliance risk.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>This article is based on material originally published by Capgemini. Attribution is preserved where applicable.</em></p>



<h2 class="wp-block-heading">What Is Accessibility (AX) Testing?</h2>



<p class="wp-block-paragraph">Accessibility testing — commonly abbreviated as AX testing — is a specialised subset of usability testing. While general usability testing focuses on the ease of use for the average user, AX testing explicitly includes people with disabilities: visual impairments, hearing loss, motor difficulties, and cognitive challenges. The goal is to verify that an application is genuinely usable by the broadest possible audience.</p>



<p class="wp-block-paragraph">Two major standards frameworks govern what &#8220;accessible&#8221; means in practice:</p>



<ul class="wp-block-list">
<li><strong>WCAG (Web Content Accessibility Guidelines)</strong> — Published by the W3C, WCAG provides a tiered set of success criteria (Levels A, AA, and AAA) for making web content perceivable, operable, understandable, and robust.</li>
<li><strong>Section 508 of the Rehabilitation Act (US)</strong> — Requires US federal agencies and contractors to make their Information and Communication Technology (ICT) accessible. The 2017 refresh of Section 508 aligned its technical standards closely with WCAG 2.0 Level AA.</li>
</ul>



<p class="wp-block-paragraph">Other relevant regulations include the Americans with Disabilities Act (ADA) and, for organisations operating in the EU, the European Accessibility Act.</p>



<h2 class="wp-block-heading">Why Accessibility Testing Belongs in DevOps</h2>



<p class="wp-block-paragraph">DevOps pipelines are built around speed and continuous delivery. Accessibility cannot be an afterthought bolted on before a release — by that point, remediating deeply embedded issues is expensive and disruptive. The same &#8220;shift-left&#8221; principle that applies to security and performance testing applies equally to AX: find defects as early as possible, when the cost to fix them is lowest.</p>



<p class="wp-block-paragraph">Practically, this means:</p>



<ul class="wp-block-list">
<li>Defining the accessibility scope and acceptance criteria during the <strong>design phase</strong>, not during QA.</li>
<li>Selecting AX tools that integrate with your existing CI/CD toolchain early in the project.</li>
<li>Including automated AX checks as a dedicated stage in the delivery pipeline so violations are surfaced before code reaches the test team.</li>
</ul>



<h2 class="wp-block-heading">The Limits of AX Test Automation</h2>



<p class="wp-block-paragraph">Automated accessibility testing is powerful, but it cannot replace human judgement entirely. Not every WCAG success criterion can be evaluated programmatically. For example, determining whether an image&#8217;s alternative text is <em>meaningful</em>, or whether a page&#8217;s reading order actually makes sense, requires human review.</p>



<p class="wp-block-paragraph">A practical rule of thumb: automated tools can reliably flag a subset of WCAG checkpoints — estimates in the field commonly cite figures in the range of 25–30% of total checkpoints — and even those flagged results benefit from manual verification to reduce false positives. For CI pipeline integration, a more conservative approach is to automate only checks that produce fully deterministic, objective results (for example: missing <code>alt</code> attributes, absent form labels, insufficient colour-contrast ratios). Covering around 10% of WCAG checkpoints reliably and objectively through automation is considered a solid baseline for a continuous integration suite.</p>



<p class="wp-block-paragraph">Manual testing with assistive technologies — screen readers, switch access devices, and keyboard-only navigation — must complement automated checks to achieve meaningful accessibility coverage.</p>



<h2 class="wp-block-heading">Integrating AX Test Automation into the CI/CD Pipeline</h2>



<p class="wp-block-paragraph">Adding automated AX checks to a DevOps pipeline follows the same pattern as any other automated test type:</p>



<ol class="wp-block-list">
<li><strong>Define pass/fail criteria.</strong> Agree upfront on which WCAG level (typically AA) the application must meet, and decide which violation categories will block a build versus generate a warning.</li>
<li><strong>Instrument your existing UI tests.</strong> Many AX tools integrate with Selenium or Playwright, so accessibility audits can run alongside your existing functional test suite without requiring a separate browser session.</li>
<li><strong>Add a dedicated accessibility stage.</strong> Run AX scans as a pipeline stage after the functional test stage. Capture screenshots and structured reports as build artefacts so developers can inspect violations in context.</li>
<li><strong>Track violations over time.</strong> Integrate scan results with your issue tracker or dashboard so regressions are visible and ownership is clear.</li>
<li><strong>Complement with manual review sprints.</strong> Schedule periodic manual accessibility reviews (using screen readers and real assistive devices) to catch what automation misses.</li>
</ol>



<h2 class="wp-block-heading">Common AX Testing Tools for Developers</h2>



<p class="wp-block-paragraph">A range of tools is available to support different stages of accessibility testing, from early developer checks to full pipeline integration:</p>



<h3 class="wp-block-heading">Browser-Based Developer Tools</h3>



<ul class="wp-block-list">
<li><strong>Web developer toolbars</strong> — Browser extensions that let developers disable CSS to inspect the logical reading order of a page. The unstyled view approximates what a screen reader will encounter.</li>
<li><strong>WAVE (Web Accessibility Evaluation Tool)</strong> — A browser extension (available for Chrome and Firefox) that overlays accessibility information directly on the rendered page, highlighting errors, alerts, and structural elements. Useful for quick developer feedback during development.</li>
</ul>



<h3 class="wp-block-heading">Colour and Visual Simulation Tools</h3>



<ul class="wp-block-list">
<li><strong>Color Oracle</strong> — A desktop tool that simulates how the screen appears to users with various forms of colour-blindness, helping designers verify that colour is not the only means of conveying information.</li>
</ul>



<h3 class="wp-block-heading">Screen Readers</h3>



<ul class="wp-block-list">
<li><strong>JAWS</strong> (Windows) and <strong>VoiceOver</strong> (macOS/iOS) are the most widely used desktop screen readers. Testing with actual screen readers is the most reliable way to validate the assistive technology experience.</li>
<li>Mobile accessibility options (TalkBack on Android, VoiceOver on iOS) should also be considered for applications with a mobile audience.</li>
</ul>



<h2 class="wp-block-heading">Industry-Standard AX Automation Tools</h2>



<h3 class="wp-block-heading">ATF-WAVE</h3>



<p class="wp-block-paragraph">An automated testing framework integration that combines WebDriver-based UI automation with the WAVE accessibility engine. The typical workflow is:</p>



<ol class="wp-block-list">
<li>Navigate the application under test using WebDriver.</li>
<li>Capture the rendered HTML of each unique page.</li>
<li>Pass that HTML through the WAVE engine to analyse the DOM for accessibility errors.</li>
<li>Take a screenshot and fail the test if WAVE reports violations above the defined threshold.</li>
</ol>



<p class="wp-block-paragraph">This approach runs as a dedicated accessibility stage in the CI pipeline, keeping AX results separate from — but integrated with — functional test results.</p>



<h3 class="wp-block-heading">IBM Digital Content Checker</h3>



<p class="wp-block-paragraph">A tool designed for verifying the accessibility of HTML content and EPUB documents. Key capabilities include:</p>



<ul class="wp-block-list">
<li>Upload and scan HTML or EPUB content for accessibility violations.</li>
<li>Produces detailed reports that list violations and recommend specific remediation steps.</li>
<li>Can be embedded in internal content development and approval workflows so accessibility is reviewed before publication.</li>
</ul>



<h3 class="wp-block-heading">IBM Automated Accessibility Tester</h3>



<p class="wp-block-paragraph">Integrates accessibility auditing directly into the Selenium testing framework, adding AX checkpoints that execute during the same test run as functional tests. Violations are reported alongside functional failures, enabling developers to remediate accessibility issues during the development sprint rather than after deployment.</p>



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



<p class="wp-block-paragraph">Accessibility is no longer optional. Regulatory requirements, expanding user expectations, and an increased focus on inclusive design mean that AX compliance must be built into the software delivery process — not treated as a final checkpoint before release.</p>



<p class="wp-block-paragraph">Integrating automated AX testing into a DevOps pipeline delivers tangible benefits: violations are caught earlier, remediation costs are lower, and releases carry less compliance risk. Automation handles the objective, deterministic checks at speed; human testers with assistive technologies cover the qualitative judgements that machines cannot reliably make. Used together, these two approaches give engineering teams the best practical coverage of accessibility standards throughout continuous delivery.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/accessibility-test-automation-in-devops-environment/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How DevOps Success Convinced One Pharma Company to Hire 1,000 Developers</title>
		<link>https://www.bestdevops.com/how-one-companys-devops-success-got-them-the-green-light-to-hire-1000-developers/</link>
					<comments>https://www.bestdevops.com/how-one-companys-devops-success-got-them-the-green-light-to-hire-1000-developers/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Tue, 04 Apr 2017 11:54:13 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Developers]]></category>
		<category><![CDATA[DevOps Adoption Benefits]]></category>
		<category><![CDATA[DevOps benefits]]></category>
		<category><![CDATA[DevOps environment]]></category>
		<category><![CDATA[DevOps Revolution]]></category>
		<category><![CDATA[DevOps Trend]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=1143</guid>

					<description><![CDATA[Express Scripts used DevOps—built on Pivotal Cloud Foundry, Jenkins, Concourse, Artifactory, and Git—to slash deployment steps, boost developer productivity, and ultimately win executive approval to hire 1,000 new engineers.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>This article is based on reporting originally published by TechRepublic, covering remarks made by Brian Gregory, Director of IT at Express Scripts.</em></p>



<h2 class="wp-block-heading">From &#8220;Do More With Less&#8221; to &#8220;Hire 1,000 Developers&#8221;</h2>



<p class="wp-block-paragraph">For years, the dominant philosophy in enterprise IT was austerity: squeeze more output from fewer resources. Express Scripts, a large pharmaceutical benefits management company, flipped that model on its head. After adopting DevOps practices across its engineering organisation, leadership approved the hiring of 1,000 new developers—a striking vote of confidence in the business value that a well-executed DevOps transformation can generate.</p>



<p class="wp-block-paragraph">Brian Gregory, Director of IT at Express Scripts, shared the company&#8217;s journey at a technology event, offering candid lessons on tooling decisions, cultural change, and how DevOps shifted IT from a cost centre to a recognised value driver.</p>



<h2 class="wp-block-heading">Context: A Company Built on M&#038;A</h2>



<p class="wp-block-paragraph">Express Scripts grew significantly through mergers and acquisitions beginning in the 1980s. That history left the company with a fragmented landscape of disparate processes, legacy systems, and technology stacks acquired from different organisations over decades. DevOps became the mechanism for unifying those systems—and for accelerating the delivery of value across all of them.</p>



<h2 class="wp-block-heading">Building the DevOps Toolchain</h2>



<p class="wp-block-paragraph">Gregory&#8217;s team didn&#8217;t start from scratch. They already had the ability to spin up and provision virtual machines quickly, which gave them a foundation to build on. From there, they moved up the stack, assembling a toolchain around several well-known open-source and commercial products:</p>



<ul class="wp-block-list">
<li><strong>Pivotal Cloud Foundry</strong> — chosen as the core platform for application hosting and runtime management.</li>
<li><strong>Jenkins</strong> — used as the primary automation server to orchestrate CI/CD pipelines.</li>
<li><strong>Concourse</strong> — an additional pipeline automation tool (its maintainers describe it as a &#8220;continuous thing-doer&#8221;) used alongside Jenkins for orchestration.</li>
<li><strong>Artifactory</strong> — used to automatically download, cache, and compile code dependencies, bringing consistency and speed to build processes.</li>
<li><strong>Git</strong> — used as the source control repository, providing a single source of truth for all codebases.</li>
</ul>



<p class="wp-block-paragraph">Together, these tools enabled the team to implement continuous integration and continuous deployment (CI/CD) pipelines that dramatically reduced the number of manual steps between a developer committing code and that code running in production.</p>



<h2 class="wp-block-heading">Buy vs. Build: A Critical Decision</h2>



<p class="wp-block-paragraph">One of Gregory&#8217;s most direct pieces of advice for teams embarking on a DevOps journey concerns the temptation to build internal tooling from scratch. His position is pragmatic:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;If I told you that you&#8217;ve got to figure out a way to get to work, what would you do? Would you build a car? You could, but if you could buy a car, then you could get to work faster and you could start delivering value.&#8221;</p><cite>— Brian Gregory, Director of IT, Express Scripts</cite></blockquote>



<p class="wp-block-paragraph">The principle isn&#8217;t that custom tooling is always wrong. Rather, teams should ask a pointed question before investing engineering time in building internal tools: <em>Does this tool create differentiated business value that justifies the investment?</em> If an off-the-shelf or open-source solution covers the use case adequately, the better ROI usually comes from using it and redirecting engineering effort toward the organisation&#8217;s actual product.</p>



<h2 class="wp-block-heading">The Business Outcome: 1,000 Developer Hires</h2>



<p class="wp-block-paragraph">Once the toolchain was in place and CI/CD pipelines were running, the results became visible to leadership. Deployment steps from development to production were reduced significantly, and both developers and operations staff reported increased productivity. IT began to demonstrate that it could drive business outcomes—not just keep the lights on.</p>



<p class="wp-block-paragraph">That shift in perception had a concrete consequence: company leadership approved the hiring of 1,000 new developers. To appreciate the scale, Express Scripts employs roughly 30,000 people in total, spanning healthcare professionals, pharmacists, and administrative staff. Adding 1,000 engineers is a substantial commitment. Gregory noted the magnitude himself:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;I started two and a half years ago, and I would&#8217;ve told you that would never have happened then—I would have said we would have been lucky to get 100. But it&#8217;s really taken off.&#8221;</p><cite>— Brian Gregory, Director of IT, Express Scripts</cite></blockquote>



<h2 class="wp-block-heading">DevOps Extends Beyond the Dev-Ops Boundary</h2>



<p class="wp-block-paragraph">Gregory was clear that the benefits of DevOps at Express Scripts weren&#8217;t limited to bridging the traditional gap between development and operations teams. The feedback loops and collaboration practices extended outward to business partners as well. That broader reach created new obligations for the IT organisation:</p>



<ul class="wp-block-list">
<li>IT teams must develop a genuine understanding of business goals and partner expectations—not just technical requirements.</li>
<li>All technical teams must remain open to feedback and willing to adjust course when something isn&#8217;t working.</li>
<li>Failure should be treated as a learning mechanism, not a reason to retreat to safer, slower practices.</li>
</ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;You&#8217;re not going to hit the mark on day one, nobody does that. It&#8217;s what you learn when you fail or you learn in that process that&#8217;s so important. That&#8217;s where the real value is.&#8221;</p><cite>— Brian Gregory, Director of IT, Express Scripts</cite></blockquote>



<h2 class="wp-block-heading">People and Culture: The Hard Part of DevOps</h2>



<p class="wp-block-paragraph">Technology choices matter, but Gregory was emphatic that the harder challenge in any DevOps transformation is cultural. The shift requires a fundamentally different mindset—one that not everyone will adopt immediately or enthusiastically. His recommendations for managing this:</p>



<ul class="wp-block-list">
<li><strong>Find champions who embrace risk.</strong> DevOps adoption needs people who aren&#8217;t paralysed by the possibility of failure. Calculated risk-taking and experimentation are core to the practice.</li>
<li><strong>Develop leaders who empower, not gatekeep.</strong> Command-and-control management styles conflict with the autonomy that high-performing DevOps teams require.</li>
<li><strong>Bring people along at their own pace.</strong> Not everyone will understand the mission immediately. The goal is to keep the overall organisation moving in the same direction, even if individuals are at different stages of the journey.</li>
</ul>



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



<p class="wp-block-paragraph">Express Scripts&#8217; story offers several actionable lessons for engineering teams and IT leaders considering or mid-way through a DevOps transformation:</p>



<ol class="wp-block-list">
<li><strong>Start with what you have.</strong> The team leveraged existing VM provisioning capability before layering on more sophisticated tooling. Build on existing strengths rather than waiting for a perfect starting point.</li>
<li><strong>Choose a coherent, integrated toolchain.</strong> Pivotal Cloud Foundry, Jenkins, Concourse, Artifactory, and Git work together as a system. Evaluate tools for how well they integrate, not just their individual feature lists.</li>
<li><strong>Default to buying before building.</strong> Reserve custom engineering effort for problems that genuinely differentiate your product or organisation.</li>
<li><strong>Measure outcomes that matter to leadership.</strong> Reduced deployment steps and increased developer velocity are meaningful, but translating those into business impact is what earns investment.</li>
<li><strong>Treat culture as a long-term project.</strong> The mindset shift required by DevOps is real and takes time. Plan for it explicitly rather than assuming the tooling will carry the transformation on its own.</li>
</ol>



<p class="wp-block-paragraph">The headline outcome—1,000 developer hires—is a consequence of demonstrating value, not a starting condition. Express Scripts earned that investment by showing, incrementally, what a well-structured DevOps practice could accomplish.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/how-one-companys-devops-success-got-them-the-green-light-to-hire-1000-developers/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>You Control How Continuous Your CI/CD Pipeline Actually Is</title>
		<link>https://www.bestdevops.com/control-your-continuous-integration-and-deployment/</link>
					<comments>https://www.bestdevops.com/control-your-continuous-integration-and-deployment/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Thu, 16 Feb 2017 06:01:39 +0000</pubDate>
				<category><![CDATA[Continuous Integration]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[DevOps Best Practices]]></category>
		<category><![CDATA[Continuous Deployment]]></category>
		<category><![CDATA[Control]]></category>
		<category><![CDATA[Deploy]]></category>
		<category><![CDATA[DevOps environment]]></category>
		<category><![CDATA[Manage]]></category>
		<category><![CDATA[Process]]></category>
		<category><![CDATA[Software Development]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=681</guid>

					<description><![CDATA[Continuous integration and continuous deployment are not all-or-nothing mandates. Learn how to calibrate your CI/CD cadence to match your organisation's risk tolerance, team maturity, and business requirements.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>This article is based on an original post attributed to 126kr.com, discussing how organisations can tune the frequency and depth of their CI/CD pipelines to suit their own risk profiles.</em></p>



<h2 class="wp-block-heading">The Most Common Misconception About DevOps</h2>



<p class="wp-block-paragraph">When organisations first explore moving to a DevOps model, a near-universal fear surfaces: &#8220;If a developer checks in a single line of code, is it going straight to production?&#8221; That fear is understandable, but it rests on a false premise. <strong>DevOps does not mandate that every commit triggers a live deployment.</strong></p>



<p class="wp-block-paragraph">The terms <em>continuous integration</em> (CI) and <em>continuous deployment</em> (CD) are often treated as binary switches — either you have them or you don&#8217;t — but in practice they are dials. Your team decides how far to turn each one based on risk appetite, tooling maturity, and the pace of change in your applications.</p>



<h2 class="wp-block-heading">Defining &#8220;Continuous&#8221;: It Is Not the Same for Every Team</h2>



<p class="wp-block-paragraph">&#8220;Continuous deployment&#8221; means moving completed developer changes into a production environment where end users can work with them. The word <em>deploy</em> has a fixed meaning; the word <em>continuous</em> does not. Your organisation owns the definition of continuous that fits your context.</p>



<p class="wp-block-paragraph">Automated deployment pipelines consume real resources — build agents, test infrastructure, environment capacity, and engineering attention. As a purely practical matter, teams have to decide how often it makes sense to marshal those resources. Common deployment cadences include:</p>



<ul class="wp-block-list">
<li><strong>On every commit</strong> — maximum feedback speed, lowest increment size per release</li>
<li><strong>Nightly</strong> — balances feedback with infrastructure cost</li>
<li><strong>Weekly</strong> — common in organisations still building automation confidence</li>
<li><strong>Monthly</strong> — acceptable for applications with a very low rate of change</li>
</ul>



<h3 class="wp-block-heading">The Increment of Functionality Problem</h3>



<p class="wp-block-paragraph">The longer the interval between deployments, the more changes accumulate in any single release. This accumulated set of changes — sometimes called the <em>increment of functionality</em> — is directly correlated with deployment risk. A release containing three small changes is far easier to validate, roll back, and diagnose than one containing three months of accumulated work. This is one of the strongest structural arguments for shorter deployment cycles, even when that feels counterintuitive.</p>



<h2 class="wp-block-heading">&#8220;Potentially Deployable&#8221; Does Not Mean &#8220;Must Deploy&#8221;</h2>



<p class="wp-block-paragraph">A nuance often lost in CI/CD discussions: the goal of a continuous deployment pipeline is to produce a <em>potentially deployable</em> artifact — not necessarily to deploy it immediately. Your pipeline can build, test, and validate a package against a production-like environment on every cycle without ever pushing it live until a human or a release gate approves it.</p>



<p class="wp-block-paragraph">This approach — sometimes distinguished as <em>continuous delivery</em> versus <em>continuous deployment</em> — gives organisations the safety net of frequent validation without the perceived disruption of frequent live releases. The pipeline proves the code <em>could</em> go to production; a separate decision determines when it <em>does</em>.</p>



<h3 class="wp-block-heading">The Hidden Cost of Infrequent Deployments</h3>



<p class="wp-block-paragraph">Choosing a longer deployment interval to reduce disruption trades one risk for another. The most significant hidden costs are:</p>



<ul class="wp-block-list">
<li><strong>Delayed user feedback.</strong> Real production feedback only arrives after an actual deployment. The longer the gap, the longer your team is building without knowing whether the previous release met user needs.</li>
<li><strong>Expensive rework.</strong> When a developer receives feedback on a feature shipped weeks or months ago, context has been lost. Fixing it takes longer and risks destabilising newer work built on top of the original change.</li>
<li><strong>Compounding integration risk.</strong> As features pile up between releases, isolating the cause of a production issue becomes progressively harder.</li>
</ul>



<p class="wp-block-paragraph">A common pattern in organisations adopting DevOps is to start with monthly or weekly deployments to build confidence in their automation, and then gradually shift toward shorter cycles as the team realises the risks of large increments outweigh the perceived safety of infrequent releases.</p>



<h2 class="wp-block-heading">How Integrated Should Your Integration Be?</h2>



<p class="wp-block-paragraph">Continuous integration means merging developers&#8217; changes into a shared mainline frequently, rather than leaving branches in isolation for days or weeks. The fundamental goal is that all developers are working from the same codebase at all times, preventing the &#8220;integration hell&#8221; that occurs when long-lived branches must eventually converge.</p>



<p class="wp-block-paragraph">Historically, the minimum bar for CI was simply that the application could still compile after a merge (the &#8220;don&#8217;t break the build&#8221; rule popularised by the Windows NT team, among others). Modern CI pipelines go much further, typically including:</p>



<ul class="wp-block-list">
<li>Automated unit tests run by the developer before or immediately after commit</li>
<li>Static code analysis and linting</li>
<li>Integration tests that exercise the merged application as a whole</li>
<li>Contract tests between services in a microservices architecture</li>
<li>Performance and stress tests (often deferred to a separate stage due to resource cost)</li>
</ul>



<p class="wp-block-paragraph">Developers can — and should — write automated unit tests that verify their own code in isolation. But bugs that only surface when components interact can only be caught during integration testing, after code is merged. This distinction matters when deciding where to place which tests in your pipeline.</p>



<h2 class="wp-block-heading">Calibrating Your Integration Testing Strategy</h2>



<p class="wp-block-paragraph">The ideal is to run all integration tests against a full duplicate of the production environment on every commit. In practice, cost and environment complexity force most teams to make trade-offs. Two variables determine where tests end up in your pipeline:</p>



<ul class="wp-block-list">
<li><strong>How easy it is to keep the integration environment in sync with production.</strong> Environment drift is a hidden tax on test reliability. If your integration environment frequently diverges from production, test results become less meaningful.</li>
<li><strong>How resource-intensive the tests are.</strong> Functional correctness tests are usually fast and cheap. Stress tests, user-acceptance tests, and full end-to-end tests can be slow and expensive to run on every commit.</li>
</ul>



<p class="wp-block-paragraph">A practical approach many teams use is a tiered test strategy:</p>



<ol class="wp-block-list">
<li><strong>On every commit:</strong> unit tests and fast integration smoke tests</li>
<li><strong>On every build (nightly or per-branch merge):</strong> full functional integration tests</li>
<li><strong>On release candidates:</strong> performance, stress, and user-acceptance tests</li>
</ol>



<p class="wp-block-paragraph">The important principle is that deferring a test increases the cost of fixing any defect it catches, because the developer must re-establish context from work done further in the past. As your pipeline becomes more efficient, the economics shift: it becomes cheaper to run more tests earlier, and teams naturally pull tests further left in the process.</p>



<h2 class="wp-block-heading">The Natural Evolution of a CI/CD Programme</h2>



<p class="wp-block-paragraph">Organisations rarely reach an optimal CI/CD cadence on day one. A realistic progression typically looks like this:</p>



<ol class="wp-block-list">
<li><strong>Establish the pipeline.</strong> Get automated builds and basic tests running. Deploy infrequently (weekly or monthly) to build confidence in automation.</li>
<li><strong>Increase deployment frequency.</strong> As confidence grows, the team notices that large increments of functionality are themselves a source of risk, and begins deploying more often.</li>
<li><strong>Move tests left.</strong> As the pipeline matures, expensive tests that were deferred to the deployment stage are moved into the integration stage, or even into per-commit validation.</li>
<li><strong>Reach a sustainable balance.</strong> The team finds a cadence that minimises overall risk — covering both deployment disruption and the risk of delayed feedback — and continues to adjust as the application and organisation evolve.</li>
</ol>



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



<ul class="wp-block-list">
<li>CI and CD are spectrums, not binary states. Your team decides where on each spectrum to operate.</li>
<li>Longer deployment intervals reduce disruption frequency but increase per-release risk and delay user feedback.</li>
<li>&#8220;Potentially deployable&#8221; is a valid outcome of a CD pipeline — actual deployment can be gated by humans or automated release policies.</li>
<li>The right integration testing strategy is determined by environment parity costs and test resource costs, not by ideology.</li>
<li>As pipeline maturity increases, the economics of shifting tests earlier improve. Treat your CI/CD posture as something that evolves continuously alongside your team&#8217;s capabilities.</li>
</ul>



<p class="wp-block-paragraph">DevOps does not impose a one-size-fits-all deployment rhythm on your organisation. It gives you the tooling and practices to make deployment safe enough to do more frequently — and then leaves the decision about <em>how</em> frequently firmly in your hands.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/control-your-continuous-integration-and-deployment/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Build and Buy: The Right Strategy for Staffing a DevOps Environment</title>
		<link>https://www.bestdevops.com/build-and-buy-key-to-forming-devops-environment/</link>
					<comments>https://www.bestdevops.com/build-and-buy-key-to-forming-devops-environment/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Mon, 09 Jan 2017 06:03:40 +0000</pubDate>
				<category><![CDATA[Build and Release]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[DevOps Process]]></category>
		<category><![CDATA[IT Training]]></category>
		<category><![CDATA[DevOps Advice]]></category>
		<category><![CDATA[DevOps environment]]></category>
		<category><![CDATA[DevOps Experts]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=268</guid>

					<description><![CDATA[Successfully adopting DevOps isn't purely a hiring problem or a training problem—it's both. Learn why the smartest CIOs combine targeted external hiring with deliberate upskilling of existing staff.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>This article is based on reporting originally published at <a href="https://searchcio.techtarget.com" rel="noopener">searchcio.techtarget.com</a>. Statistics cited reflect surveys conducted in 2015–2016 and should be treated as historical context rather than current benchmarks.</em></p>



<h2 class="wp-block-heading">DevOps Has Moved Past the Hype Cycle</h2>



<p class="wp-block-paragraph">By the mid-2010s, DevOps had firmly established itself as a mainstream enterprise discipline rather than an emerging trend. Survey data from that period illustrated rapid adoption: the 2016 RightScale State of the Cloud survey reported that 74% of 1,060 IT professionals had adopted DevOps in their organizations, up from 66% in 2015. A separate Vanson Bourne report commissioned by Appvance found that 73% of 200 IT decision-makers had adopted some DevOps processes.</p>



<p class="wp-block-paragraph">The compensation story was equally striking. Puppet&#8217;s 2016 DevOps Salary Report found that 58% of practitioners earned more than $100,000 annually—up from 47% the prior year—while 43% of managers exceeded $150,000, compared with just 26% in 2015.</p>



<p class="wp-block-paragraph">This growth created intense demand for DevOps engineers and raised an important strategic question: how should an organization actually staff a DevOps transformation?</p>



<h2 class="wp-block-heading">The Core Insight: It&#8217;s Not Build vs. Buy—It&#8217;s Build and Buy</h2>



<p class="wp-block-paragraph">A common instinct among CIOs is to treat DevOps adoption as a recruiting problem: find experienced DevOps engineers, hire them, and the transformation follows. IT staffing experts and analysts push back on this framing. You can&#8217;t build a DevOps environment simply by purchasing talent. Equally, you can&#8217;t retitle existing staff as &#8220;DevOps engineers&#8221; and expect the culture and practices to appear on their own.</p>



<p class="wp-block-paragraph">James Stanger, senior director of products at CompTIA, framed it directly: <em>&#8220;People who just want that trained DevOps person are kind of barking up the wrong tree. What they need are people who are in operations or development who have a willingness to learn about each other.&#8221;</em></p>



<p class="wp-block-paragraph">The practical answer is a deliberate combination: hire externally for specific hard-to-build technical skills, then use those new hires to accelerate the upskilling of existing staff who bring irreplaceable organizational knowledge.</p>



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



<p class="wp-block-paragraph">DevOps is a methodology—roughly a decade old at the time of the original reporting—in which software development and operations teams collaborate closely throughout the entire software lifecycle: building, testing, and releasing software frequently and in small increments. The goals are faster delivery, higher quality, and better security. DevOps depends on both cultural change and specific enabling technologies.</p>



<p class="wp-block-paragraph">An organization adopting DevOps therefore needs two distinct types of capability:</p>



<ul class="wp-block-list">
<li><strong>Collaborative mindset and cross-functional fluency:</strong> Developers who understand operations constraints, and operations engineers who understand the development lifecycle.</li>
<li><strong>Specific technical skills:</strong> Proficiency with the tools and platforms that make continuous delivery and infrastructure automation possible.</li>
</ul>



<h2 class="wp-block-heading">Where to Buy: Technical Skills That Are Hard to Build Quickly</h2>



<p class="wp-block-paragraph">Connor Leech, a senior technical recruiter at tech-staffing agency Mondo, identified the technical areas where external hiring typically makes the most sense. Organizations moving to DevOps commonly need people who can:</p>



<ul class="wp-block-list">
<li>Automate infrastructure provisioning and application deployment pipelines</li>
<li>Design systems that automatically scale in response to demand fluctuations</li>
<li>Work fluently with major cloud providers such as AWS</li>
</ul>



<p class="wp-block-paragraph">The specific tools and technologies that map to these needs include:</p>



<ul class="wp-block-list">
<li><strong>Configuration management and automation:</strong> Puppet, Chef</li>
<li><strong>Application performance monitoring:</strong> New Relic</li>
<li><strong>Scripting and general-purpose programming languages:</strong> Python, Ruby, PHP</li>
<li><strong>Containerization:</strong> Docker (container runtime for packaging and deploying applications consistently across environments)</li>
</ul>



<p class="wp-block-paragraph">The reason external hiring makes sense here is pragmatic. These tools are complex, and hiring managers consistently want candidates who have used them in large production environments—not just experimented with them in sandboxes. Training existing staff to production-level proficiency in multiple platforms simultaneously is slow and risky when a transformation is underway.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;It&#8217;s definitely possible to retrain existing engineers in these areas, but because the tools are kind of complex, [CIOs] want people who have used them rather than have to teach people on them. It&#8217;s a common theme with hiring managers: They want someone who has not only played around with these, but have used them in a large production environment.&#8221;</p><cite>— Connor Leech, Senior Technical Recruiter, Mondo</cite></blockquote>



<h3 class="wp-block-heading">Using Contract Engineers as a Force Multiplier</h3>



<p class="wp-block-paragraph">One effective model is bringing in experienced DevOps engineers on short-term contracts—typically three to six months. These contractors come in, establish automation pipelines, define standards, and actively upskill the existing team. They are expensive, but they function as a force multiplier: when they leave, the permanent team is meaningfully more capable than it was before.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;What&#8217;s really common is bringing in DevOps engineers as contractors. You bring in people on contract for six months, and they come in, help automate and ramp everyone up and then go and do another contract. They&#8217;re generally pretty expensive, but they&#8217;re incredibly valuable. They can turn a company&#8217;s existing engineers into DevOps engineers.&#8221;</p><cite>— Connor Leech, Mondo</cite></blockquote>



<h2 class="wp-block-heading">Where to Build: Mindset and Organizational Knowledge</h2>



<p class="wp-block-paragraph">Technical skills are necessary but not sufficient. DevOps depends on a fundamentally collaborative way of working—the deliberate dismantling of the wall between development and operations. This requires a different kind of capability that is much harder to hire for and much easier to cultivate in existing staff.</p>



<p class="wp-block-paragraph">Stanger identified the key characteristics of good internal DevOps candidates:</p>



<ul class="wp-block-list">
<li>Curiosity about the other side of the dev/ops divide, even if their primary expertise leans one way</li>
<li>Familiarity with project management disciplines to keep iterative delivery cycles on track</li>
<li>Comfort working within agile and Scrum frameworks, which are common structures in DevOps environments</li>
<li>Willingness to share responsibilities that were previously siloed</li>
</ul>



<p class="wp-block-paragraph">Critically, Stanger argued that many existing IT professionals already possess the raw material for this. Developers have often had some exposure to operations concerns, and operations engineers frequently have development experience. The gap is not as wide as it might appear—what&#8217;s often missing is not knowledge but permission and encouragement to apply it.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;Many of the people who have been working in programming for years, if they have the right mentality, are already DevOps people. Anyone could easily be turned into that DevOps person. Most people have the seeds of DevOps in them, but the seeds haven&#8217;t been nurtured.&#8221;</p><cite>— James Stanger, CompTIA</cite></blockquote>



<h2 class="wp-block-heading">Why Existing Staff Are Not Optional</h2>



<p class="wp-block-paragraph">Jay Lyman, a principal analyst covering DevOps at 451 Research, reinforced this dual approach from an analyst&#8217;s perspective. Organizations need an infusion of new skills from external hires, but they also depend on the organizational context and institutional knowledge that existing staff carry. No external hire will understand the business&#8217;s specific systems, constraints, and history as well as a long-tenured internal engineer.</p>



<p class="wp-block-paragraph">There is also a practical alignment benefit. IT professionals who understand that DevOps skills increase their market value are generally motivated to participate in training and upskilling programs. This makes change management easier—staff become advocates for the transformation rather than passive recipients of it.</p>



<h2 class="wp-block-heading">The Leadership Imperative: Understand and Sell DevOps</h2>



<p class="wp-block-paragraph">Staffing strategy is only one part of the equation. CIOs and engineering leaders must themselves develop a genuine understanding of DevOps—not just at the conceptual level, but operationally. They need to be able to articulate what DevOps delivers for the business (speed, quality, reduced risk) and why it requires changes to how teams are structured and how work is measured.</p>



<p class="wp-block-paragraph">Not all staff will embrace the transition. Some IT professionals are more comfortable in traditional, more sequential delivery models. This is not necessarily a problem—some projects and contexts do suit more structured, phased approaches. But organizations moving fully toward continuous delivery may eventually face a mismatch between those delivery expectations and staff who resist the required way of working. In those cases, external hiring may eventually be necessary not just to add skills but to replace resistance.</p>



<h2 class="wp-block-heading">Summary: A Practical Staffing Framework</h2>



<figure class="wp-block-table"><table><thead><tr><th>Dimension</th><th>Buy (External Hire)</th><th>Build (Internal Development)</th></tr></thead><tbody><tr><td>Technical tooling</td><td>Configuration management (Puppet, Chef), containers (Docker), cloud platforms, monitoring</td><td>Gradually, with coaching from experienced hires</td></tr><tr><td>Scripting/programming</td><td>When production-level proficiency is needed immediately</td><td>For staff who have foundational skills and willingness to deepen them</td></tr><tr><td>Cross-functional fluency</td><td>Less effective—culture cannot be hired in</td><td>Primary approach; identify staff already curious about both sides</td></tr><tr><td>Organizational knowledge</td><td>Cannot be bought; takes years to develop</td><td>Primary advantage of existing staff</td></tr><tr><td>Agile/Scrum practices</td><td>May need external coaching initially</td><td>Can be taught relatively quickly to motivated staff</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">The organizations that successfully form a DevOps environment are those that resist the false choice between hiring and training. They hire deliberately and specifically for the hardest-to-build technical skills, use those new hires to accelerate team capability, and invest simultaneously in developing the collaborative mindset and cross-functional fluency that no job posting can deliver.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/build-and-buy-key-to-forming-devops-environment/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
