<?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>Containers &#8211; Best DevOps</title>
	<atom:link href="https://www.bestdevops.com/tag/containers/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 11:28:38 +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>DevOps Teams: Automate Container Security to Protect CI/CD Pipelines</title>
		<link>https://www.bestdevops.com/devops-teams-automate-container-security-to-protect-ci-cd-pipelines/</link>
					<comments>https://www.bestdevops.com/devops-teams-automate-container-security-to-protect-ci-cd-pipelines/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Mon, 14 Apr 2025 10:11:25 +0000</pubDate>
				<category><![CDATA[Continuous Deployment]]></category>
		<category><![CDATA[Containers]]></category>
		<category><![CDATA[COVID-19]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[DevSecOps]]></category>
		<category><![CDATA[Kubernetes]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=14972</guid>

					<description><![CDATA[Table of Contents 1. Introduction With the rise of DevOps, Continuous Integration/Continuous Delivery (CI/CD) pipelines have become the backbone of [&#8230;]]]></description>
										<content:encoded><![CDATA[
<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><strong>Table of Contents</strong></h2>



<ol class="wp-block-list">
<li>Introduction</li>



<li>Why Container Security Matters in CI/CD</li>



<li>Common Security Risks in Containers and CI/CD</li>



<li>Key Principles for Securing CI/CD Pipelines</li>



<li>Automation Strategies for Container Security</li>



<li>Tools and Technologies to Automate Container Security</li>



<li>Best Practices for DevOps Teams</li>



<li>Real-World Use Case</li>



<li>Final Thoughts</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



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



<p class="wp-block-paragraph">With the rise of DevOps, Continuous Integration/Continuous Delivery (CI/CD) pipelines have become the backbone of modern software development. At the heart of these pipelines are containers—lightweight, portable units that package software and its dependencies together.</p>



<p class="wp-block-paragraph">However, as the speed of deployment increases, so does the attack surface. Containers, by design, are ephemeral and scalable, but they also introduce unique security challenges. Manual security measures can no longer keep up. This is where <strong>automated container security</strong> becomes essential.</p>



<p class="wp-block-paragraph">This guide is a complete blueprint for DevOps teams looking to automate container security across their CI/CD pipelines.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><strong>2. Why Container Security Matters in CI/CD</strong></h2>



<p class="wp-block-paragraph">Containers are used to build, test, and deploy applications at scale. While containers offer speed and portability, they also:</p>



<ul class="wp-block-list">
<li>Share OS kernels, increasing risk from kernel exploits.</li>



<li>Often use images from public registries, which can be compromised.</li>



<li>Are dynamic and short-lived, making manual security nearly impossible.</li>



<li>Integrate deeply with CI/CD tools, risking widespread damage if compromised.</li>
</ul>



<p class="wp-block-paragraph">In a CI/CD environment, a single insecure container can lead to:</p>



<ul class="wp-block-list">
<li><strong>Supply chain attacks</strong> (compromised base images)</li>



<li><strong>Credential leaks</strong></li>



<li><strong>Unauthorized access to production</strong></li>



<li><strong>Compliance violations</strong></li>
</ul>



<p class="wp-block-paragraph">Therefore, securing containers—and automating this security—is no longer optional. It’s a necessity.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><strong>3. Common Security Risks in Containers and CI/CD</strong></h2>



<h3 class="wp-block-heading">a. <strong>Insecure Images</strong></h3>



<p class="wp-block-paragraph">Images pulled from public repositories may contain known vulnerabilities, malware, or misconfigurations.</p>



<h3 class="wp-block-heading">b. <strong>Secrets in Containers</strong></h3>



<p class="wp-block-paragraph">Hardcoded credentials, API keys, and tokens inside container images pose a significant risk if exposed.</p>



<h3 class="wp-block-heading">c. <strong>Inadequate Isolation</strong></h3>



<p class="wp-block-paragraph">Containers share the host kernel. If improperly configured, one container can escape and affect others.</p>



<h3 class="wp-block-heading">d. <strong>Outdated Base Images</strong></h3>



<p class="wp-block-paragraph">Using outdated images increases the chance of having unpatched CVEs in the container stack.</p>



<h3 class="wp-block-heading">e. <strong>Unvalidated Inputs and Dependencies</strong></h3>



<p class="wp-block-paragraph">Uncontrolled or unscanned libraries may introduce malicious code during build.</p>



<h3 class="wp-block-heading">f. <strong>Weak CI/CD Pipeline Security</strong></h3>



<p class="wp-block-paragraph">Unprotected Jenkins agents, GitHub Actions runners, or GitLab CI configurations are vulnerable to attacks.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><strong>4. Key Principles for Securing CI/CD Pipelines</strong></h2>



<ol class="wp-block-list">
<li><strong>Shift Left Security</strong><br>Integrate security early in the development lifecycle—from code commit to image build.</li>



<li><strong>Zero Trust Architecture</strong><br>Assume no service or image is inherently trustworthy.</li>



<li><strong>Policy-as-Code</strong><br>Define security policies programmatically using tools like OPA (Open Policy Agent).</li>



<li><strong>Immutable Infrastructure</strong><br>Avoid mutable containers. Rebuild and redeploy instead of patching in place.</li>



<li><strong>Security Observability</strong><br>Make security events visible to teams using logging and alerting tools.</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><strong>5. Automation Strategies for Container Security</strong></h2>



<p class="wp-block-paragraph">Here are key areas where DevOps teams should automate container security:</p>



<h3 class="wp-block-heading"><strong>a. Automated Image Scanning</strong></h3>



<p class="wp-block-paragraph">Use scanners like <strong>Trivy</strong>, <strong>Grype</strong>, or <strong>Anchore</strong> to:</p>



<ul class="wp-block-list">
<li>Detect known vulnerabilities (CVEs).</li>



<li>Identify outdated packages.</li>



<li>Check for embedded secrets.</li>
</ul>



<p class="wp-block-paragraph">Integrate scanners in:</p>



<ul class="wp-block-list">
<li>Pre-commit hooks</li>



<li>CI build pipelines</li>



<li>Container registries</li>
</ul>



<h3 class="wp-block-heading"><strong>b. CI/CD Pipeline Security Gates</strong></h3>



<p class="wp-block-paragraph">Enforce security policies at each stage:</p>



<ul class="wp-block-list">
<li><strong>Fail builds</strong> with critical CVEs.</li>



<li><strong>Block deployments</strong> from unauthorized registries.</li>



<li><strong>Allow only signed images</strong>.</li>
</ul>



<h3 class="wp-block-heading"><strong>c. Secrets Management</strong></h3>



<p class="wp-block-paragraph">Use tools like <strong>HashiCorp Vault</strong>, <strong>AWS Secrets Manager</strong>, or <strong>Kubernetes Secrets</strong> to:</p>



<ul class="wp-block-list">
<li>Inject secrets dynamically.</li>



<li>Rotate credentials automatically.</li>



<li>Avoid hardcoding sensitive data.</li>
</ul>



<h3 class="wp-block-heading"><strong>d. Runtime Threat Detection</strong></h3>



<p class="wp-block-paragraph">Monitor containers post-deployment using tools like:</p>



<ul class="wp-block-list">
<li><strong>Falco</strong> (open-source runtime security)</li>



<li><strong>Sysdig</strong></li>



<li><strong>Aqua Security</strong></li>
</ul>



<p class="wp-block-paragraph">These tools detect suspicious activities like file modifications, reverse shells, or process anomalies.</p>



<h3 class="wp-block-heading"><strong>e. Compliance Automation</strong></h3>



<p class="wp-block-paragraph">Use tools like <strong>OpenSCAP</strong>, <strong>Kube-bench</strong>, or <strong>Checkov</strong> to:</p>



<ul class="wp-block-list">
<li>Enforce CIS benchmarks.</li>



<li>Validate compliance with GDPR, HIPAA, or PCI-DSS.</li>



<li>Automate audit trails.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><strong>6. Tools and Technologies to Automate Container Security</strong></h2>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Purpose</th><th>Tool</th><th>Description</th></tr></thead><tbody><tr><td>Vulnerability Scanning</td><td>Trivy, Grype, Snyk</td><td>Scans container images for CVEs.</td></tr><tr><td>Secrets Detection</td><td>GitLeaks, Detect-Secrets</td><td>Detects secrets in code and images.</td></tr><tr><td>Policy Enforcement</td><td>OPA/Gatekeeper, Kyverno</td><td>Enforce custom security policies in CI/CD and Kubernetes.</td></tr><tr><td>Secrets Management</td><td>Vault, AWS Secrets Manager</td><td>Securely store and inject secrets.</td></tr><tr><td>Image Signing</td><td>Cosign, Notary</td><td>Verifies the origin and integrity of images.</td></tr><tr><td>Runtime Security</td><td>Falco, Aqua, Sysdig</td><td>Real-time detection and response for container anomalies.</td></tr><tr><td>Compliance &amp; Benchmarking</td><td>Kube-bench, OpenSCAP</td><td>Validates infrastructure compliance.</td></tr></tbody></table></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><strong>7. Best Practices for DevOps Teams</strong></h2>



<h3 class="wp-block-heading">✅ 1. <strong>Use Minimal Base Images</strong></h3>



<p class="wp-block-paragraph">Prefer distroless or Alpine-based images to reduce the attack surface.</p>



<h3 class="wp-block-heading">✅ 2. <strong>Implement Image Provenance</strong></h3>



<p class="wp-block-paragraph">Sign images with tools like <strong>Cosign</strong> and verify them in CI/CD before deployment.</p>



<h3 class="wp-block-heading">✅ 3. <strong>Restrict Network Access</strong></h3>



<p class="wp-block-paragraph">Define strict network policies (via Calico, Cilium) to prevent lateral movement.</p>



<h3 class="wp-block-heading">✅ 4. <strong>Enable Namespace Isolation</strong></h3>



<p class="wp-block-paragraph">Separate build, test, and production environments using Kubernetes namespaces or separate clusters.</p>



<h3 class="wp-block-heading">✅ 5. <strong>Limit Container Privileges</strong></h3>



<p class="wp-block-paragraph">Avoid running containers as root. Use capabilities and securityContext settings in Kubernetes.</p>



<h3 class="wp-block-heading">✅ 6. <strong>Audit Everything</strong></h3>



<p class="wp-block-paragraph">Enable audit logging for container runtime, CI/CD actions, and registry access.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><strong>8. Real-World Use Case: Securing CI/CD for a FinTech Startup</strong></h2>



<p class="wp-block-paragraph"><strong>Problem:</strong><br>A FinTech startup built their app on Kubernetes using GitHub Actions. They used public base images and embedded secrets in CI scripts.</p>



<p class="wp-block-paragraph"><strong>Risks Identified:</strong></p>



<ul class="wp-block-list">
<li>Images contained critical CVEs.</li>



<li>Credentials to payment gateways were exposed in logs.</li>



<li>Production containers ran with elevated privileges.</li>
</ul>



<p class="wp-block-paragraph"><strong>Automated Solutions Implemented:</strong></p>



<ul class="wp-block-list">
<li>Trivy scans integrated into GitHub Actions.</li>



<li>Secrets managed using HashiCorp Vault and injected via environment variables.</li>



<li>Cosign used for image signing and verification.</li>



<li>Falco deployed for real-time runtime anomaly detection.</li>



<li>OPA policies enforced no privileged containers.</li>
</ul>



<p class="wp-block-paragraph"><strong>Outcome:</strong></p>



<ul class="wp-block-list">
<li>Reduced vulnerabilities by 80% in three months.</li>



<li>Passed PCI-DSS compliance audit.</li>



<li>Incident response time dropped from 3 hours to 15 minutes.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><strong>9. Final Thoughts</strong></h2>



<p class="wp-block-paragraph">Containerization is revolutionizing software development—but without security, it&#8217;s a double-edged sword. Manual processes can’t keep up with the scale and speed of modern CI/CD. Automating container security is the only way to ensure continuous delivery doesn’t become continuous risk.</p>



<p class="wp-block-paragraph">DevOps teams must <strong>embrace security as code, automate relentlessly, and adopt tools</strong> that make security part of the development culture—not a bottleneck.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">💡 <em>Security is not a phase. It&#8217;s a mindset baked into every layer of your CI/CD pipeline.</em></p>
</blockquote>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/devops-teams-automate-container-security-to-protect-ci-cd-pipelines/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Containers Vs. Bare Metal, VMs and Serverless for DevOps</title>
		<link>https://www.bestdevops.com/containers-vs-bare-metal-vms-and-serverless-for-devops/</link>
					<comments>https://www.bestdevops.com/containers-vs-bare-metal-vms-and-serverless-for-devops/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Fri, 25 Jun 2021 06:32:52 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Ansible]]></category>
		<category><![CDATA[artifacts]]></category>
		<category><![CDATA[Bare Metal]]></category>
		<category><![CDATA[BestDevOps]]></category>
		<category><![CDATA[Containers]]></category>
		<category><![CDATA[Docker]]></category>
		<category><![CDATA[Microservices]]></category>
		<category><![CDATA[Saltstack]]></category>
		<category><![CDATA[SERVERLESS]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=16832</guid>

					<description><![CDATA[Source:-https://containerjournal.com/ As I explained in my prior blog, Containers Practices Gap Assessment, containerizing software is valuable for DevOps. Yet, as [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Source:-https://containerjournal.com/</p>
<p>As I explained in my prior blog, Containers Practices Gap Assessment, containerizing software is valuable for DevOps.</p>
<p>Yet, as I work with clients on their DevOps journeys, I continue to encounter organizations that haven’t grasped the importance of using containers relative to bare metal, virtual machines (VMs) and serverless computing solutions. This article is intended to help organizations understand the difference and the advantages that containers offer for DevOps.</p>
<p>The workhorse of IT is the computer server on which software application stacks run. The server consists of an operating system, computing, memory, storage and network access capabilities; often referred to as a computer machine or just “machine.”</p>
<p>A bare metal machine is a dedicated server using dedicated hardware. Data centers have many bare metal servers that are racked and stacked in clusters, all interconnected through switches and routers. Human and automated users of a data center access the machines through access servers, high security firewalls and load balancers.</p>
<p>The virtual machine introduced an operating system simulation layer between the bare metal server’s operating system and the application, so one bare metal server can support more than one application stack with a variety of operating systems.</p>
<p>This provides a layer of abstraction that allows the servers in a data center to be software-configured and repurposed on demand. In this way, a virtual machine can be scaled horizontally, by configuring multiple parallel machines, or vertically, by configuring machines to allocate more power to a virtual machine.</p>
<p>One of the problems with virtual machines is that the virtual operating system simulation layer is quite “thick,” and the time required to load and configure each VM typically takes some time. In a DevOps environment, changes occur frequently. This load and configuration time is important, because failures that occur during the load and configuration can further delay the instantiation of the VM and the application.</p>
<p>The idempotent characteristic of modern configuration management tools such as Puppet, Chef, Ansible and SaltStack do help to reduce the chance for errors, but when configuration errors are detected, delays to reload and reconfigure the stacks take time. These delays constitute significant delays for each DevOps stage, and the accumulated time for the series of stages needed for a DevOps pipeline can be a significant bottleneck.</p>
<p>VMs are used in production IT environments because of the flexibility to support different configurations. However, the time to reload and configure VMs can be a bottleneck during release reconfigurations, and can delay mean-time-to-repair when failures occur.</p>
<p>Containers, such as those supported by Docker, have a very lightweight operating system simulation layer (the Docker ecosystem) that is tailored specifically to each application stack. Container systems such as Docker guarantee isolation between application stacks run over the same Docker layer.</p>
<p>Compared to VMs, the smaller “footprint” of containerized application stacks allows more application stacks to run on one bare metal machine or virtual machines, and they can be instantiated in seconds rather than minutes. These desirable characteristics make it easy to justify a migration from running an application stack on bare metal machines or VMs. Instead of time-consuming loading and configuring an application stack and OS layer for each machine, instantiation of a complete container image is loaded, and a small number of configuration variables are instantiated in seconds. This capability to quickly create and release containerized applications allows for the infrastructure to be immutable.</p>
<p>In thirty minutes, someone can go from having nothing on their machine to a full dev environment and the ability to commit and deploy. Containers are the fastest means to launch short-lived, purpose-built testing sandboxes as part of a continuous integration process.</p>
<p>Containers are the result of a build pipeline (artifacts-to-workload). Test tools and test artifacts should be kept in separate test containers. Containers include minimal runtime requirements of the application. An application and its dependencies bundled into a container is independent of the host version of the Linux kernel, platform distribution or deployment model.</p>
<p>Benefits of Containers<br>
Benefits of containers include the following:</p>
<p>The small size of a container allows for quick deployment.<br>
Containers are portable across machines.<br>
Containers are easy to track and it is easy to compare versions.<br>
More containers than virtual machines can run simultaneously on host machines.<br>
The challenge with containers is to get your application stack working with Docker. Making containers for a specific application stack is a project easily justified by the ROI of reduced infrastructure costs and the benefits provided by immutable infrastructures such as fast mean-time-to-restore-service (MTTRS) during failure events.</p>
<p>Containerized infrastructure environments sit between the host server (whether it’s virtual or bare metal) and the application. This offers advantages compared to legacy or traditional infrastructure. Containerized applications start faster because you do not have to boot an entire server.</p>
<p>Containerized application deployments also are “denser,” because containers don’t require you to virtualize a complete operating system. Containerized applications are more scalable because of the ease of spinning up new containers.</p>
<p>Recommended Container Engineering Practices<br>
Here are some recommended engineering practices for containerized infrastructure:</p>
<p>Containers are decoupled from infrastructure.<br>
Container deployments declare resources needed (storage, compute, memory, network).<br>
Place specialized hardware containers in their own cluster.<br>
Use smaller clusters to reduce complexity between teams.<br>
Serverless computing is a cloud computing execution model in which the cloud provider runs the server and dynamically manages the allocation of machine resources. Pricing is based on the actual resources consumed by an application, rather than on pre-purchased units of capacity. Serverless computing can simplify the process of deploying code into production. Scaling, capacity planning and maintenance operations may be hidden from the developer or operator. Serverless code can be used in conjunction with code deployed in traditional styles, such as microservices. Alternatively, applications can be written to be purely serverless and use no provisioned servers at all.</p>
<p>What This Means<br>
This blog explained how containers compare to bare metal, virtual machines and serverless solutions. Those who are serious about DevOps would do well to learn about the advantages that containers offer as part of a DevOps solution. To learn more about containers, refer to my book Engineering DevOps.</p>


<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe  id="_ytid_97258"  width="675" height="379"  data-origwidth="675" data-origheight="379" src="https://www.youtube.com/embed/LB9D-HDdAFg?enablejsapi=1&#038;autoplay=0&#038;cc_load_policy=0&#038;cc_lang_pref=&#038;iv_load_policy=1&#038;loop=0&#038;rel=1&#038;fs=1&#038;playsinline=0&#038;autohide=2&#038;theme=dark&#038;color=red&#038;controls=1&#038;disablekb=0&#038;" class="__youtube_prefs__  epyt-is-override  no-lazyload" title="YouTube player"  allow="fullscreen; accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen data-no-lazy="1" data-skipgform_ajax_framebjll=""></iframe>
</div></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/containers-vs-bare-metal-vms-and-serverless-for-devops/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Best online resources to learn DevOps</title>
		<link>https://www.bestdevops.com/best-online-resources-to-learn-devops/</link>
					<comments>https://www.bestdevops.com/best-online-resources-to-learn-devops/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Thu, 24 Jun 2021 12:34:24 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Containers]]></category>
		<category><![CDATA[Free]]></category>
		<category><![CDATA[Resources]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Videos]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=16803</guid>

					<description><![CDATA[If you’re new to DevOps and confused about where to start the learning process, then this is the right page [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>If you’re new to DevOps and confused about where to start the learning process, then this is the right page to know the best resources available to learn DevOps.</p>
<p>In this blog post, I am going to share some of the best online resources available which you can take or follow to become an expert DevOps professional.</p>
<p>Organizations are expecting new engineers to manage the full lifecycle of their applications. This means continuous development, continuous integration, continuous testing, continuous deployment, and continuous monitoring constitutes in DevOps Life cycle.</p>
<p>To become an effective DevOps engineer, you need to expand your knowledge about the various tools used in software development to automate your tasks.</p>
<p>There are free resources available where you can spend your time and learn various things by yourself.</p>
<p><strong><a href="http://bit.ly/2WjEHgt">Debug.school</a> :- </strong>A dedicated DevOps youtube channel which has lots of contents available of DevOps learnings. By subscribing to Debug.School Channel, you&#8217;ll never miss out on high-quality video tutorials, class recordings, hands-on lab sessions from industry experts and practitioners. Here you can find curated content on trending topics in the areas of DevOps, AWS, Azure, Automation testing, Docker, Kubernetes, Ansible, Jenkins, Terraform, and many more.</p>
<p><img fetchpriority="high" decoding="async" class="alignnone size-full wp-image-16818" src="http://www.bestdevops.com/wp-content/uploads/2021/06/debugschool-youtube-channel-1.jpg" alt="" width="1103" height="575" srcset="https://www.bestdevops.com/wp-content/uploads/2021/06/debugschool-youtube-channel-1.jpg 1103w, https://www.bestdevops.com/wp-content/uploads/2021/06/debugschool-youtube-channel-1-300x156.jpg 300w, https://www.bestdevops.com/wp-content/uploads/2021/06/debugschool-youtube-channel-1-1024x534.jpg 1024w, https://www.bestdevops.com/wp-content/uploads/2021/06/debugschool-youtube-channel-1-768x400.jpg 768w" sizes="(max-width: 1103px) 100vw, 1103px" /></p>
<p><a href="https://www.youtube.com/c/TheDevOpsSchool/videos"><strong>DevOpsSchool</strong></a>:-</p>
<p>DevOpsSchool &#8211; YouTube Channel is one of the best YouTube channel we have in the current date, active since 3 yrs. With this channel, you can easily keep track with the ever-evolving DevOps industry, providing video tutorials, live streams, and initiating on-demand video tutoraisl. Here, you can find best and rich contents on almost all the trending stacks of DevOps, Cloud, Container technologies, Infrastructure as Code, CI/CD, networking, monitoring, career advice and many more. Considering their number of posts and contents on DevOps, we believe that this channel is going to become very popular in the following period.</p>
<p><img decoding="async" class="alignnone size-full wp-image-16817" src="http://www.bestdevops.com/wp-content/uploads/2021/06/devopsschool-youtube-channel-1.jpg" alt="" width="1101" height="574" srcset="https://www.bestdevops.com/wp-content/uploads/2021/06/devopsschool-youtube-channel-1.jpg 1101w, https://www.bestdevops.com/wp-content/uploads/2021/06/devopsschool-youtube-channel-1-300x156.jpg 300w, https://www.bestdevops.com/wp-content/uploads/2021/06/devopsschool-youtube-channel-1-1024x534.jpg 1024w, https://www.bestdevops.com/wp-content/uploads/2021/06/devopsschool-youtube-channel-1-768x400.jpg 768w" sizes="(max-width: 1101px) 100vw, 1101px" /></p>
<p><a href="https://www.youtube.com/c/Scmgalaxy/videos"><strong>scmGalaxy</strong></a>:-</p>
<p>This is a channel by the DevOps training community &#8211; scmGalaxy &#8211; they help IT professionals to get a more engaging learning experience with their paid DevOps training and certification programs. This is one of the oldest channel we have on DevOps domain. They use to upload various parts of their online live sessions recordings on various DevOps related topics. If anyone wants to start their DevOps journey &#8211; this is the right place to get all things from scratch.</p>
<p>&nbsp;</p>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-16816" src="http://www.bestdevops.com/wp-content/uploads/2021/06/scmgalaxy-youtube-channel-1.jpg" alt="" width="1048" height="612" srcset="https://www.bestdevops.com/wp-content/uploads/2021/06/scmgalaxy-youtube-channel-1.jpg 1048w, https://www.bestdevops.com/wp-content/uploads/2021/06/scmgalaxy-youtube-channel-1-300x175.jpg 300w, https://www.bestdevops.com/wp-content/uploads/2021/06/scmgalaxy-youtube-channel-1-1024x598.jpg 1024w, https://www.bestdevops.com/wp-content/uploads/2021/06/scmgalaxy-youtube-channel-1-768x448.jpg 768w" sizes="auto, (max-width: 1048px) 100vw, 1048px" /></p>
<p><a href="https://www.devopsschool.com/blog/"><strong>DevOps Blogs</strong></a>:-</p>
<p>&#8220;The best way to learn something is to share others the knowledge that you have gained.&#8221; &#8211; This platform really follows this line. If you will go this blog platform then you can find various solutions are written and updated here since 2007 which are still valid to get your work done. There are so many problem&#8217;s solutions, tutorials, toubleshooting, step-by-step guide, cheatsheet, Interview questions-answers anva various DevOsp learning stuffs you can find easily here.</p>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-16815" src="http://www.bestdevops.com/wp-content/uploads/2021/06/devops-blogs-1.jpg" alt="" width="1226" height="606" srcset="https://www.bestdevops.com/wp-content/uploads/2021/06/devops-blogs-1.jpg 1226w, https://www.bestdevops.com/wp-content/uploads/2021/06/devops-blogs-1-300x148.jpg 300w, https://www.bestdevops.com/wp-content/uploads/2021/06/devops-blogs-1-1024x506.jpg 1024w, https://www.bestdevops.com/wp-content/uploads/2021/06/devops-blogs-1-768x380.jpg 768w" sizes="auto, (max-width: 1226px) 100vw, 1226px" /></p>
<p>&nbsp;</p>
<p><a href="https://www.devopsschool.com/certification/"><strong>DevOps Certification</strong></a></p>
<p>DevOpsSchool is one of growing training and consulting firm run by renowned industry experts. Through individual courses, comprehensive certification programs, and corporate customized training requirements, they provide millions of professionals and thousands of corporate training organizations with the work-ready skills they need to excel in their careers and businesses. Their practical and applied approach has resulted, learners getting job ready skills and real time work exposure after completion of the training. With over thousands of instructor led, live and interactive online sessions and more than 15000 students track record, real-world projects, and more, professionals learn by doing at DevOpsSchool.com every day.</p>
<p>&nbsp;</p>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-16814" src="http://www.bestdevops.com/wp-content/uploads/2021/06/devops-certification-1.jpg" alt="" width="1123" height="541" srcset="https://www.bestdevops.com/wp-content/uploads/2021/06/devops-certification-1.jpg 1123w, https://www.bestdevops.com/wp-content/uploads/2021/06/devops-certification-1-300x145.jpg 300w, https://www.bestdevops.com/wp-content/uploads/2021/06/devops-certification-1-1024x493.jpg 1024w, https://www.bestdevops.com/wp-content/uploads/2021/06/devops-certification-1-768x370.jpg 768w" sizes="auto, (max-width: 1123px) 100vw, 1123px" /></p>
<p><strong><a href="https://www.devopsschool.com/videos/">DevOps Videos</a></strong>:-</p>
<p>This platform is a part of DevOpsSchool.com and this url is popular for video tutorials on various technologies related to DevOps stuffs such as Git, Github, jenkins sractch to advance topics, Docker, Terraform, Sonarqube, Maven, Chef, etc. Here you can find all the video tutorials of trending toolsets which required to work on DevOps culture.</p>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-16813" src="http://www.bestdevops.com/wp-content/uploads/2021/06/devops-videos-1.jpg" alt="" width="1175" height="628" srcset="https://www.bestdevops.com/wp-content/uploads/2021/06/devops-videos-1.jpg 1175w, https://www.bestdevops.com/wp-content/uploads/2021/06/devops-videos-1-300x160.jpg 300w, https://www.bestdevops.com/wp-content/uploads/2021/06/devops-videos-1-1024x547.jpg 1024w, https://www.bestdevops.com/wp-content/uploads/2021/06/devops-videos-1-768x410.jpg 768w" sizes="auto, (max-width: 1175px) 100vw, 1175px" /></p>
<p>&nbsp;</p>
<p><a href="https://www.devopsschool.com/tutorial/"><strong>DevOps Tutorials</strong></a>:-</p>
<p>One of the consolidated DevOps tutorials platform &#8211; where you can find lots of DevOps and related tool sets, PDFs, Slides, Videos, Interview kits, Notes, Commands, CheatSheets, References, Step-by-step guides, Labs excersises, sample pojects, Quizzes etc..</p>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-16812" src="http://www.bestdevops.com/wp-content/uploads/2021/06/devops-tutorials-1.jpg" alt="" width="974" height="501" srcset="https://www.bestdevops.com/wp-content/uploads/2021/06/devops-tutorials-1.jpg 974w, https://www.bestdevops.com/wp-content/uploads/2021/06/devops-tutorials-1-300x154.jpg 300w, https://www.bestdevops.com/wp-content/uploads/2021/06/devops-tutorials-1-768x395.jpg 768w" sizes="auto, (max-width: 974px) 100vw, 974px" /></p>
<p>&nbsp;</p>
<p>Learning and training is one thing &#8211; this will surely help to get a DevOps role. But to make progress, you need to get involved in community activities and events. Take a look into these Communities.</p>
<ul>
<li><strong><a href="https://www.facebook.com/groups/DevOpsIndia/" target="_blank" rel="noopener">DevOps India</a></strong></li>
<li><a href="https://www.facebook.com/groups/DevOpsSchoolCommunity/" target="_blank" rel="noopener"><strong>DevOps Community</strong></a></li>
</ul>
<p>This DevOps Facebook community are focused in sharing and developing professional DevOps skills, ideas, and knowledge and current updates happening in DevOps culture.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/best-online-resources-to-learn-devops/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Containers and Kubernetes For Continuous Testing</title>
		<link>https://www.bestdevops.com/containers-and-kubernetes-for-continuous-testing/</link>
					<comments>https://www.bestdevops.com/containers-and-kubernetes-for-continuous-testing/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Fri, 09 Apr 2021 05:39:30 +0000</pubDate>
				<category><![CDATA[IT Training]]></category>
		<category><![CDATA[Benefits]]></category>
		<category><![CDATA[Containers]]></category>
		<category><![CDATA[Continuous]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Kubernetes]]></category>
		<category><![CDATA[Testing]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=16176</guid>

					<description><![CDATA[Source:-https://containerjournal.com/ Software services architected as microservices, packaged in containers, and orchestrated with Kubernetes changes the game for continuous testing because [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Source:-https://containerjournal.com/</p>
<p>Software services architected as microservices, packaged in containers, and orchestrated with Kubernetes changes the game for continuous testing because of the excellent alignment with the five tenets of continuous testing.</p>
<p>The DevOps Institute describes continuous testing as an essential tenet of DevOps. Continuous testing allows for continuous assessment of incremental changes as part of establishing a culture and environment where building, testing and releasing software can happen rapidly, frequently, reliably and safely. In my book, Engineering DevOps, I <strong>explained that there are five tenets which are guiding principles for continuous testing as follows:</strong></p>
<p>Shift Left: Conduct each test as early in the pipeline as possible.<br />
Fail Early: Arrange the tests so the most likely problems are found at the earliest possible stage in the DevOps pipeline.<br />
Fail Often: Run tests frequently and with many different conditions.<br />
Test Fast: Arrange tests to run in quick cycles.<br />
Be Relevant: Focus on the most important tests and results.<br />
The microservices approach aims to produce well bounded, networked, service-oriented modules. This is attractive to software application architectures because the individual microservices can be built and deployed as independent units. The smaller modules align well with the five tenets, which makes it easier and quicker to test compared to large monolithic applications.</p>
<p><strong>Shift Left</strong><br />
Applications engineered as microservices have contracts that define how a containerized service behaves with other services that use it. This attribute of microservices reduces the dependence between microservices, which reduces the potential risk of unexpected interactions. This means that a substantial amount of high-quality testing of standalone microservices can be conducted early in the pipeline. Tests can be conducted, not just at the unit level, but at the integration level, as well. Specialty tests—such as user interface visual validation or security scans—can be performed with confidence that the application is being testing in the same way it will be used when deployed to production.</p>
<p>System-level testing applications, including regression, performance and reliability testing, in the later stages of pipelines can be a source of bottlenecks, because more complex configurations involving multiple services are needed. This testing can be accelerated when the dependencies between containerized microservices are well-understood, because only the configurations that are known to be affected by a change need to be deployed and tested in the staging environment.</p>
<p>Advanced deployment and testing patterns, such as feature-flag rollouts, canary rollouts and blue-green deployment methods, take advantage of the flexibility of containerized applications and further accelerate testing. Instead of waiting for sufficient testing to be performed before deployment to production, these patterns allow changes to be gradually and safely deployed without any downtime or interruptions for users. A subset of running application instances can be deployed and tested with a subset of users instead of updating all the application instances at one time. Progressively more of the running application instances can be deployed as the application changes are proven with more users and deployment variations, until they are all updated. With the blue-green pattern, a parallel set of production instances can be used to verify each new version of your application, and then switched with the existing production instances when the new version has been verified ready-to-deploy.</p>
<p><strong>Fail Early</strong><br />
The structure of built container images can be tested very early in the pipeline to ensure commands run as expected, that files are in the correct location and have the correct content. Structure tests ensure commands run properly in the target image, make sure all expected files exist within the image, verify file contents are correct, verify metadata configuration data is correct, and verify license permissions on copyrighted files.</p>
<p>A well-configured and maintained test environment, one that closely mimics production and contains up-to-date code deployments, can provide a safe and sane way for testers to validate a scenario before it gets into the hands of a customer.</p>
<p>In my article 9Pillars of Containers Best Practices, I explained how containers allow the job of orchestrating many test configuration variations to be migrated from infrastructure teams to developers. Developers specify what their application needs in a container during the testing phase, and their continuous deployment tool builds and runs the container. Some of the container practices that help find problems early include the following:</p>
<p>Place everything a service or application needs for testing in a container. Containers offer the opportunity to package test resources in special test containers so they can be conveniently and immutably invoked, on-demand, for testing changes with elastic scaling <strong>benefits.</strong><br />
Test using the same container definition that is deployed.<br />
Test the container before pushing it to a shared environment.<br />
<strong>Fail Often</strong><br />
Packaging a microservice into its own container is attractive because the service can be deployed immutably across any number of operating systems and infrastructures, scale easily and also can be reverted easily in the case of test failures.</p>
<p>Test environment management (TEM) systems can optimize the orchestration of test resources better with container test topologies that can be predefined and managed with Kubernetes across variations of operating systems and infrastructures.</p>
<p><strong>Test Fast</strong><br />
The time between when a developer makes a code change and when you have a running version of the application should be as short as possible. In my prior article, 9 Pillars of Engineering DevOps With Kubernetes, I explained how, with Kubernetes, developers and testers can work better together to solve defects quickly and accurately, because developers can use the tester’s Kubernetes instance for debugging. This eliminates long delays associated with developers and testers trying to replicate each other’s test environments. Kubernetes also helps testers and developers quickly exchange precise information for application configurations.</p>
<p><strong>Be Relevant</strong><br />
By packaging each application in its own container, it makes it easy to know what is being tested. Engineers can create precisely the test environment that is needed—locally, on-demand and with precisely the same OS version and dependencies as it would have in production.</p>
<p>Ideally, pre-production clusters used for testing are identical to production clusters, but for cost purposes, pre-production clusters can be scaled-down replicas. Keeping the clusters similar ensures that any testing is done using the same or similar conditions to production. This reduces the probability of unexpected failures due to environmental differences when you deploy to production.</p>
<p>One of the most difficult tasks in maintaining a test environment is keeping the data for each instance of the test environment current. Containerization encourages managing test data as a part of the test suite. The database is also a part of the container stack, which allows the test team to populate the database more easily with relevant data as a part of initializing a test run.</p>
<p><strong>What This Means</strong><br />
Containerizing services, together with Kubernetes orchestration, is a game changer for continuous testing. The five tenets of continuous testing – Shift left, fail early, fail often, test fast and be relevant – are all supported by containers and Kubernetes, which make it much easier to implement continuous testing.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/containers-and-kubernetes-for-continuous-testing/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Azure gets classy with Java resource management libraries</title>
		<link>https://www.bestdevops.com/azure-gets-classy-with-java-resource-management-libraries/</link>
					<comments>https://www.bestdevops.com/azure-gets-classy-with-java-resource-management-libraries/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Thu, 05 Nov 2020 06:15:17 +0000</pubDate>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[CDN]]></category>
		<category><![CDATA[Compute]]></category>
		<category><![CDATA[Containers]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[Integration]]></category>
		<category><![CDATA[resource]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[Weidong]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=14265</guid>

					<description><![CDATA[Source:-https://devclass.com Java may be slipping down the charts, but Microsoft is still feeling the love for the world’s second most [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Source:-https://devclass.com</p>
<p>Java may be slipping down the charts, but Microsoft is still feeling the love for the world’s second most popular language. The Azure cloud is now equipped with new libraries to ease the integration of Java code with online resources, the company announced in a blog post.</p>
<p>“The latest Azure Resource Management Libraries for Java is a result of our efforts to create a resource management client library that is user-friendly and idiomatic to the Java ecosystem,” said Weidong Xu, senior software engineer, Azure Management SDK for Java. “These new libraries provide a higher-level, object-oriented API for managing Azure resources, that is optimized for ease of use, succinctness, and consistency.”</p>
<p>The libraries are designed around a fluent or chained methodology, which embodies a workflow approach to chaining together the components for a complete process. In particular, the libraries are designed to automatically fulfil dependencies or resource allocation processes for each task.</p>
<p>For example, creating a virtual machine can chain in the required storage account and service plan, and it is similarly easy to programmatically batch create and delete Managed Disk Instances.</p>
<p>Other new library functions include support for Microsoft Authentication Library (MSAL) through the new Azure Identity library, which enables developers to acquire tokens from the Microsoft identity platform endpoint in order to authenticate users and access secured APIs.</p>
<p>The company lists some twenty services available through the new libraries, including CDN, Compute, Containers, DNS, SQL, and Network and Traffic Management. Documentation and code snippets are available in the Azure SDK and developer blogs.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/azure-gets-classy-with-java-resource-management-libraries/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Kovair Releases Kubernetes Plug-In for Its DevOps Platform</title>
		<link>https://www.bestdevops.com/kovair-releases-its-new-kubernetes-plug-in-for-its-devops/</link>
					<comments>https://www.bestdevops.com/kovair-releases-its-new-kubernetes-plug-in-for-its-devops/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Tue, 19 May 2020 05:40:04 +0000</pubDate>
				<category><![CDATA[Kubernetes]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Containers]]></category>
		<category><![CDATA[Continuous Delivery]]></category>
		<category><![CDATA[Docker]]></category>
		<category><![CDATA[GitHub]]></category>
		<category><![CDATA[IT tools]]></category>
		<category><![CDATA[Jenkins]]></category>
		<category><![CDATA[JFrog]]></category>
		<category><![CDATA[Maven]]></category>
		<category><![CDATA[Selenium]]></category>
		<category><![CDATA[ServiceNow]]></category>
		<category><![CDATA[Slack]]></category>
		<category><![CDATA[SonarQube]]></category>
		<category><![CDATA[VMs]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=12524</guid>

					<description><![CDATA[Kovair Software has released a new Kubernetes plug-in for its DevOps solution, adding container orchestration support, hybrid multi-cloud enablement, and end-to-end CI/CD pipeline automation to its existing Omnibus integration platform.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>Originally reported by AIThority.com. This article summarises Kovair Software&#8217;s announcement of its Kubernetes plug-in release for the Kovair DevOps platform.</em></p>



<h2 class="wp-block-heading">Kovair Adds Kubernetes Support to Its DevOps Platform</h2>



<p class="wp-block-paragraph">Kovair Software, a vendor in the software tools integration and Application Lifecycle Management (ALM) space, has announced the release of a new Kubernetes plug-in for the Kovair DevOps Solution. The plug-in extends the platform&#8217;s existing hybrid multi-cloud capabilities — delivered in conjunction with Kovair&#8217;s integration middleware, Omnibus — and is aimed at enterprise teams looking to automate container-based deployments across on-premise and cloud environments.</p>



<p class="wp-block-paragraph">The stated goal of the release is to allow development, QA, and operations teams to deploy to Kubernetes clusters without requiring deep knowledge of the underlying integration mechanics. According to Bipin Shah, Chairman and CEO of Kovair Software:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;This release of the Kubernetes plug-in will enable Development, QA and Operations personnel to deploy to their preferred container infrastructure or cluster manager solution in Kubernetes without requiring any knowledge about the underlying integrations. The combined offering of Kovair DevOps and Omnibus will allow teams to coordinate and manage a mix of monolithic application and modern microservices-based application releases across legacy or continuous delivery pipelines, into both on-premise and cloud environments.&#8221;</p><cite>Bipin Shah, Chairman and CEO, Kovair Software</cite></blockquote>



<h2 class="wp-block-heading">What the Kubernetes Plug-In Brings to Kovair DevOps</h2>



<p class="wp-block-paragraph">Kovair DevOps is built around concurrent, task-based pipelines designed for continuous delivery. The platform provides build and deployment automation alongside real-time analytics, and is intended to support heterogeneous environments — including on-premise infrastructure, edge cloud, and hyperscale public clouds. The new Kubernetes plug-in adds native container orchestration to this pipeline model.</p>



<h3 class="wp-block-heading">Key Capabilities</h3>



<ul class="wp-block-list">
<li><strong>Drag-and-drop pipeline editor:</strong> Creation, orchestration, and management of complex Kubernetes deployment pipelines through a visual, configurable workflow editor supporting concurrent task execution.</li>
<li><strong>Email-based pipeline management:</strong> Users can start, stop, or query the live status of a pipeline directly from email — a feature positioned for distributed or remote teams.</li>
<li><strong>Automated and manual task execution:</strong> Pipelines support both automated steps and on-demand manual intervention, integrated with full Project Lifecycle Management.</li>
<li><strong>Custom command execution:</strong> Manages dependencies between custom applications, system commands, and microservices across the complete continuous delivery pipeline.</li>
<li><strong>Distributed task execution:</strong> Tasks can run on any host, removing the requirement to centralise all tooling on a single server and enabling hybrid multi-cloud deployments.</li>
<li><strong>Real-time visibility:</strong> Pre-defined reports and dashboards provide in-depth visibility into release pipeline progress across all environments and teams.</li>
<li><strong>Multi-environment deployment:</strong> Supports deployment targets including public cloud, VMs, containers, and traditional bare-metal environments across any operating system.</li>
</ul>



<h2 class="wp-block-heading">Plug-In Ecosystem at Launch</h2>



<p class="wp-block-paragraph">The initial set of plug-ins shipped with this release covers both open-source and commercial tooling commonly found in enterprise DevOps toolchains:</p>



<ul class="wp-block-list">
<li>Project and issue tracking: Jira, TFS, ServiceNow</li>
<li>Build tools: ANT, Maven, MS Build</li>
<li>CI/CD: Jenkins</li>
<li>Source control: GitHub</li>
<li>Container and orchestration: Docker, Kubernetes</li>
<li>Artifact management: JFrog</li>
<li>Code quality: SonarQube</li>
<li>Testing: Selenium</li>
<li>Monitoring: Dynatrace</li>
<li>Cloud: Azure Cloud</li>
<li>Configuration management: Ansible</li>
<li>Collaboration: Slack</li>
<li>Architecture patterns: Microservices, Custom Command</li>
</ul>



<p class="wp-block-paragraph">Amit Dasgupta, Director of Products and Solutions Management at Kovair Software, commented on the broader strategic intent:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;Kovair DevOps with Kubernetes support will provide a form of rapid software delivery centered around the concept of continuous delivery pipelines achieved through automation of different activities involved in the delivery cycle. With this launch, Kovair will now start offering a full Enterprise DevOps workflow to its prospects and customers.&#8221;</p><cite>Amit Dasgupta, Director of Products and Solutions Management, Kovair Software</cite></blockquote>



<h2 class="wp-block-heading">Kovair Omnibus: The Integration Layer</h2>



<p class="wp-block-paragraph">Underpinning the Kovair DevOps platform is Omnibus, Kovair&#8217;s proprietary Service Oriented Architecture (SOA)-based integration middleware. Omnibus provides built-in security, resiliency, and multi-cloud enablement, and is designed to integrate with over 110 ALM and IT tools from a range of vendors and open-source projects. The platform supports one-click deployments and is positioned as an alternative to traditional Enterprise Service Bus (ESB) vendors that require specialist integration developers.</p>



<p class="wp-block-paragraph">Kovair states that Omnibus received a Gartner Cool Vendor award, though no date or report title for this award is provided in the announcement.</p>



<p class="wp-block-paragraph">Akshay Sharma, CTO of Kovair Software and a former senior analyst at Gartner Research, framed the enterprise opportunity as follows:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;CIOs and Software Architects of Enterprises embarking on Digital Transformation projects should explore Kovair&#8217;s DevOps and Omnibus, along with their DevSecOps-based solutions as they re-vector to newer hybrid multi-cloud datacenters offering newer services — with security vulnerability assessments built-in.&#8221;</p><cite>Akshay Sharma, CTO, Kovair Software</cite></blockquote>



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



<p class="wp-block-paragraph">The Kubernetes plug-in release positions Kovair DevOps as a more complete enterprise continuous delivery platform, offering native Kubernetes pipeline support alongside its existing multi-tool integration capabilities. For organisations managing a mix of legacy applications and modern container-based microservices across hybrid cloud environments, the combination of Kovair DevOps and Omnibus is intended to reduce integration friction and accelerate delivery cycles without requiring deep expertise at each integration point.</p>



<p class="wp-block-paragraph"><em>Source: <a href="https://aithority.com" rel="noopener">AIThority.com</a></em></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/kovair-releases-its-new-kubernetes-plug-in-for-its-devops/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How Retail Software Firm Aptos Takes a Platform-Wide View of Kubernetes Security</title>
		<link>https://www.bestdevops.com/retail-software-firm-takes-broad-view-of-kubernetes-security/</link>
					<comments>https://www.bestdevops.com/retail-software-firm-takes-broad-view-of-kubernetes-security/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Sat, 08 Feb 2020 05:14:21 +0000</pubDate>
				<category><![CDATA[Kubernetes]]></category>
		<category><![CDATA[Automation]]></category>
		<category><![CDATA[Containers]]></category>
		<category><![CDATA[IT security]]></category>
		<category><![CDATA[Microservices]]></category>
		<category><![CDATA[network service]]></category>
		<category><![CDATA[Software-Market]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=10456</guid>

					<description><![CDATA[Retail software vendor Aptos explains why it shifted focus from container-level scanning to holistic Kubernetes platform security, and why it chose StackRox over Aqua, Twistlock, and Qualys.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>This article is based on reporting originally published at <a href="https://searchitoperations.techtarget.com" rel="noopener noreferrer" target="_blank">searchitoperations.techtarget.com</a>. All quotes are attributed to Jason Harris, VP of Cloud Architecture at Aptos, as reported in that source.</em></p>



<h2 class="wp-block-heading">From Container Scanning to Kubernetes-Wide Security</h2>



<p class="wp-block-paragraph">For enterprises deploying microservices in production, the security conversation has moved decisively upward in the stack. Where early container security tooling concentrated on scanning individual container images inside the CI/CD pipeline, the industry has shifted toward securing the entire Kubernetes platform — network policies, cluster configuration, runtime behaviour, and all.</p>



<p class="wp-block-paragraph">Early specialists such as Aqua, Twistlock, and StackRox began with image scanning, then added host-agent-based runtime scanning for live workloads. More recently those products have expanded to include network-based security controls and policy-driven enforcement mechanisms that operate at the Kubernetes cluster level rather than the individual container level. Newer entrants such as Octarine took a different approach, plugging directly into the network service mesh layer to provide deeper traffic visibility.</p>



<p class="wp-block-paragraph">This evolution mirrors growing maturity among enterprise adopters who are grappling with the security implications of running dozens — or hundreds — of microservices across dynamic Kubernetes clusters.</p>



<h2 class="wp-block-heading">Aptos: A Retail Software Vendor&#8217;s Kubernetes Journey</h2>



<p class="wp-block-paragraph">Atlanta-based Aptos, which builds software for retail clients, first deployed container-based microservices to support customer point-of-sale (POS) systems in late 2018. By the second half of 2019, the team recognised they needed a dedicated tool to automate and enforce Kubernetes security at scale.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;With microservices and containers in general, there&#8217;s opportunity to multiply your security risk exponentially, and they multiply the number of points [in the infrastructure] that need to be analyzed. Kubernetes is our means of delivering microservices, and we&#8217;re looking at it as a way to deploy applications securely as well.&#8221;</p><cite>— Jason Harris, VP of Cloud Architecture, Aptos</cite></blockquote>



<p class="wp-block-paragraph">Aptos evaluated products from Aqua, Twistlock, Qualys, and StackRox before selecting StackRox. The deciding factor was StackRox&#8217;s emphasis on container runtime security <em>in the context of the Kubernetes platform</em>, rather than treating containers as isolated units to be scanned independently.</p>



<h2 class="wp-block-heading">Why Kubernetes Context Matters for Runtime Security</h2>



<p class="wp-block-paragraph">Harris described microservices as &#8220;layers of containers that deliver a service,&#8221; which may incorporate open-source components or potentially rogue containers. In a Kubernetes environment, workloads move — pods are rescheduled, nodes are replaced, clusters scale up and down. This dynamism makes static, host-centric security models increasingly inadequate.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;[Within] Kubernetes in general, [resources] move, and that&#8217;s where StackRox adds value: looking into Kubernetes in addition to the containers.&#8221;</p><cite>— Jason Harris, VP of Cloud Architecture, Aptos</cite></blockquote>



<p class="wp-block-paragraph">This distinction — security visibility scoped to the Kubernetes control plane rather than just the container runtime — is increasingly important as clusters grow in size and complexity.</p>



<h2 class="wp-block-heading">DaemonSet Deployment: Simpler Cluster-Wide Coverage</h2>



<p class="wp-block-paragraph">A key architectural selling point for Aptos was how StackRox deploys within Kubernetes clusters. StackRox runs as a privileged <a href="https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/" rel="noopener noreferrer" target="_blank">DaemonSet</a> — a Kubernetes workload type that automatically runs a copy of a pod on every node in the cluster, including any nodes added later.</p>



<p class="wp-block-paragraph">This approach has practical operational benefits:</p>



<ul class="wp-block-list">
<li><strong>Automatic coverage of new nodes:</strong> When Aptos provisions a new cluster or scales an existing one, the DaemonSet ensures the security agent is present on every node without manual intervention.</li>
<li><strong>Simplified onboarding:</strong> Rather than running a separate deployment step per host, the DaemonSet setup is wrapped into the cluster provisioning process itself.</li>
<li><strong>Consistency:</strong> Every node runs identical agent configuration, reducing configuration drift.</li>
</ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;When we deploy a new cluster, it&#8217;s just wrapped into that process. Once you establish that DaemonSet in the cluster, any new nodes are going to inherit the daemon automatically.&#8221;</p><cite>— Jason Harris, VP of Cloud Architecture, Aptos</cite></blockquote>



<p class="wp-block-paragraph">The alternative — deploying a privileged security container on each individual host — requires more orchestration overhead and is more error-prone in fast-moving environments.</p>



<h2 class="wp-block-heading">Kubernetes Security Visibility as a Compliance Tool</h2>



<p class="wp-block-paragraph">Teams that use host-agent-based Kubernetes security tools typically automate agent deployment through infrastructure-as-code (IaC) tools such as Terraform. StackRox supplemented this with strong visibility into Kubernetes cluster configuration itself — a feature Aptos found unexpectedly valuable for regulatory compliance reporting.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;StackRox recently added a configuration management app that we&#8217;ve gotten far more value out of than we expected, because it&#8217;s turning into a good reporting tool on our Kubernetes ecosystem. It&#8217;s hard to have visibility into just even simple things like the number of clusters [in production] and the number of nodes [within them], and what&#8217;s my Kubernetes version on all those clusters?&#8221;</p><cite>— Jason Harris, VP of Cloud Architecture, Aptos</cite></blockquote>



<p class="wp-block-paragraph">Being able to present auditors with a comprehensive, accurate view of the Kubernetes environment — including cluster count, node count, and Kubernetes version across all clusters — is a practical compliance requirement that often gets overlooked in security tool evaluations.</p>



<h2 class="wp-block-heading">Remaining Challenges and Future Priorities</h2>



<p class="wp-block-paragraph">Kubernetes security is not a solved problem, and Aptos faces ongoing challenges as the retail industry demands richer microservices-based mobile applications. Supporting publicly hosted mobile app store APIs and handling customer payment data will raise the stakes further, introducing additional attack surface that must be secured at the Kubernetes platform level.</p>



<p class="wp-block-paragraph">Harris acknowledged that container image scanning within registries remained an area where StackRox lagged behind some competitors and dedicated registry tools such as Red Hat Quay. The specific capability he described needing:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;The view we needed was, &#8216;OK, show me this vulnerability across all my images, and if I flip to an image, show me any vulnerabilities above a certain level.'&#8221;</p><cite>— Jason Harris, VP of Cloud Architecture, Aptos</cite></blockquote>



<p class="wp-block-paragraph">According to a StackRox spokesperson cited in the original reporting, a feature providing cross-registry vulnerability views with severity filtering was previewed at KubeCon in November 2019 and was expected to reach general availability in February 2020.</p>



<h2 class="wp-block-heading">Key Takeaways for DevOps and Platform Engineering Teams</h2>



<ul class="wp-block-list">
<li><strong>Evaluate security tools at the platform level, not just the container level.</strong> Container image scanning is necessary but insufficient; Kubernetes-aware runtime security that understands pod scheduling, network policies, and cluster configuration provides meaningfully better coverage.</li>
<li><strong>Consider deployment architecture in your tool evaluation.</strong> A DaemonSet-based deployment model reduces operational overhead compared to per-host agent installation, especially in clusters that scale frequently.</li>
<li><strong>Security tooling can double as a compliance reporting asset.</strong> Cluster configuration visibility — versions, node counts, policy state — is genuinely useful for audit purposes and is worth weighting in tool selection.</li>
<li><strong>Infrastructure-as-code and policy-based security automation compound each other&#8217;s benefits.</strong> Consistent, automated cluster provisioning paired with automated security enforcement reduces configuration drift and improves overall security posture.</li>
<li><strong>No single tool covers every layer equally well.</strong> Aptos found StackRox strong on runtime and Kubernetes-context security, but weaker on registry image scanning — a reminder to assess tools against your specific priority stack.</li>
</ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;The visibility and the control we have in this world far outweighs the drift that you had in the older world. I&#8217;ll take the problems in the new world any day over our legacy challenges.&#8221;</p><cite>— Jason Harris, VP of Cloud Architecture, Aptos</cite></blockquote>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/retail-software-firm-takes-broad-view-of-kubernetes-security/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Dynatrace Extends Kubernetes Observability to the Full Stack with AI-Powered Insights</title>
		<link>https://www.bestdevops.com/dynatrace-extends-kubernetes-support-observability-goes-full-stack/</link>
					<comments>https://www.bestdevops.com/dynatrace-extends-kubernetes-support-observability-goes-full-stack/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Thu, 06 Feb 2020 05:21:29 +0000</pubDate>
				<category><![CDATA[Kubernetes]]></category>
		<category><![CDATA[AI-powered]]></category>
		<category><![CDATA[Containers]]></category>
		<category><![CDATA[Dynatrace]]></category>
		<category><![CDATA[Full-stack]]></category>
		<category><![CDATA[Microservices]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=10404</guid>

					<description><![CDATA[At its Perform 2020 conference, Dynatrace announced expanded Kubernetes support, including automatic ingestion of Kubernetes metrics and events into its Davis AI engine, plus automatic discovery of heterogeneous container runtimes.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>Originally reported by Computer Weekly. This article is based on Dynatrace announcements made at its Perform 2020 conference in Las Vegas.</em></p>



<h2 class="wp-block-heading">Dynatrace Brings Full-Stack Observability to Kubernetes</h2>



<p class="wp-block-paragraph">At its Perform 2020 conference in Las Vegas, Dynatrace announced a set of enhancements to its Kubernetes support, centred on deeper integration with its AI engine, Davis, and broader coverage for container runtimes. The updates are aimed at teams operating large, heterogeneous Kubernetes environments who need automated, context-aware observability rather than manual metric-dashboard inspection.</p>



<h2 class="wp-block-heading">Davis AI Now Automatically Ingests Kubernetes Metrics and Events</h2>



<p class="wp-block-paragraph">The headline capability is that the Davis AI engine now automatically ingests additional Kubernetes events and metrics. According to Dynatrace, this allows Davis to deliver real-time, precise answers about performance issues and anomalies across the full Kubernetes stack — from clusters and nodes down to individual containers and the workloads running inside them.</p>



<p class="wp-block-paragraph">Because Davis ingests dependency and relationship data across the entire stack automatically, it can correlate a latency spike in a microservice with, for example, resource contention at the node level — without requiring an operator to manually stitch together data from separate dashboards.</p>



<p class="wp-block-paragraph">Steve Tack, SVP of Product Management at Dynatrace, framed the problem this way:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;As organisations scale up their Kubernetes applications and microservices in production, the dynamic and distributed nature of these environments makes it impossible to understand and manage simply by looking at metrics and dashboards.&#8221;</p></blockquote>



<p class="wp-block-paragraph">Tack added that Dynatrace was reinvented specifically to support multi-cloud and microservices architectures, and that Davis AI&#8217;s automatic ingestion of Kubernetes metrics is what distinguishes the platform as a full-stack observability solution rather than a metrics aggregator.</p>



<h2 class="wp-block-heading">Automatic Discovery and Mapping of Heterogeneous Container Runtimes</h2>



<p class="wp-block-paragraph">A significant operational improvement in this release is automatic discovery, instrumentation, and topology mapping of heterogeneous container technologies running inside Kubernetes. Dynatrace now supports the following container runtimes out of the box:</p>



<ul class="wp-block-list">
<li><strong>Docker</strong> — the most widely deployed container runtime</li>
<li><strong>CRI-O</strong> — the lightweight OCI-compliant runtime developed for Kubernetes</li>
<li><strong>containerd</strong> — the CNCF-graduated runtime now the default in many managed Kubernetes distributions</li>
</ul>



<p class="wp-block-paragraph">This matters in practice because large enterprise Kubernetes environments often mix container runtimes across node pools — particularly when migrating workloads or running managed clusters on different cloud providers. Previously, non-Docker runtimes required additional manual instrumentation or provided limited visibility. With automatic discovery across all three runtimes, Dynatrace claims operators can maintain consistent observability regardless of the underlying runtime.</p>



<h2 class="wp-block-heading">Container Resource Usage Analysis and Kubernetes Resource Optimisation</h2>



<p class="wp-block-paragraph">Dynatrace also introduced new cloud application and microservice analysis capabilities focused on Kubernetes resource utilisation. These tools allow administrators and application owners to:</p>



<ul class="wp-block-list">
<li>Understand how CPU and memory are consumed across pods and namespaces</li>
<li>Identify over-provisioned or under-provisioned workloads</li>
<li>Detect performance degradation linked to resource contention</li>
<li>Solve issues faster by correlating resource usage with application-layer symptoms</li>
</ul>



<p class="wp-block-paragraph">The new container resource usage analysis also broadens coverage to match the range of runtimes described above, ensuring that resource metrics are available uniformly regardless of how containers are executed on the node.</p>



<h2 class="wp-block-heading">Why This Matters: The Scale of Kubernetes Adoption</h2>



<p class="wp-block-paragraph">Dynatrace cited a CIO research report at the time of the announcement, claiming that 68% of organisations were already using containers, with 86% expecting to deploy them within twelve months. While these figures were current as of early 2020 and adoption has continued to grow since, they illustrate the scale of the operational challenge: most engineering organisations are running containers in production, and a large proportion are converging on Kubernetes as their orchestration layer.</p>



<p class="wp-block-paragraph">At that scale, manual observability — watching dashboards, correlating alerts by hand, tracing issues across dozens of microservices — becomes untenable. The case for AI-assisted, automatic full-stack observability is straightforward: the environments are too dynamic and too distributed for human operators to reason about without tooling that understands dependencies in real time.</p>



<h2 class="wp-block-heading">Key Takeaways for Platform and DevOps Engineers</h2>



<ul class="wp-block-list">
<li><strong>Automatic metric ingestion reduces toil:</strong> Davis AI&#8217;s ability to ingest Kubernetes events and metrics without manual configuration lowers the instrumentation burden for platform teams.</li>
<li><strong>Multi-runtime support is increasingly important:</strong> As containerd and CRI-O displace Docker as default runtimes in major distributions, observability tools must keep pace — and this announcement signals that Dynatrace is tracking that shift.</li>
<li><strong>Resource optimisation is a day-two concern:</strong> The addition of Kubernetes resource utilisation analysis addresses a common post-migration pain point: understanding why a cluster costs what it costs and where workloads are underperforming.</li>
<li><strong>Full-stack correlation, not just metrics:</strong> The value proposition here is not raw metric collection but the causal chain from infrastructure event to application symptom — the AI layer is what makes that connection.</li>
</ul>



<p class="wp-block-paragraph">For teams evaluating Kubernetes observability platforms, the Dynatrace Perform 2020 announcements represent a meaningful expansion of automated coverage — though, as with any vendor announcement, independent evaluation against your own workload patterns and runtime choices remains essential.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/dynatrace-extends-kubernetes-support-observability-goes-full-stack/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Bridging the Gap Between AI and DevOps: How AIOps Is Reshaping IT Operations</title>
		<link>https://www.bestdevops.com/sparking-the-gap-between-ai-and-devops/</link>
					<comments>https://www.bestdevops.com/sparking-the-gap-between-ai-and-devops/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Fri, 31 Jan 2020 05:57:00 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<category><![CDATA[APIs]]></category>
		<category><![CDATA[AppDynamics]]></category>
		<category><![CDATA[Containers]]></category>
		<category><![CDATA[IoT environments]]></category>
		<category><![CDATA[Microservices]]></category>
		<category><![CDATA[multicloud]]></category>
		<category><![CDATA[Software-Market]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=10321</guid>

					<description><![CDATA[AIOps platforms are converging artificial intelligence with DevOps workflows to manage application complexity, automate root-cause analysis, and create closed-loop IT operations across hybrid and multicloud environments.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>This article is based on reporting originally published by <a href="https://www.nextplatform.com" rel="noopener">The Next Platform</a> (January 2020) and covers the state of AIOps adoption and Cisco/AppDynamics platform developments as of that date.</em></p>



<h2 class="wp-block-heading">Why AIOps Is Moving from Buzzword to Business Necessity</h2>



<p class="wp-block-paragraph">The term &#8220;AIOps&#8221; — artificial intelligence for IT operations — has been circulating for several years, but the pressure driving adoption is intensifying. Enterprises are generating massive volumes of operational data from datacenters, public and private clouds, edge infrastructure, and a rapidly expanding fleet of IoT devices. Inside that data lies the intelligence needed to keep distributed systems fast, reliable, and cost-efficient. The challenge is that no human team can process it fast enough at scale.</p>



<p class="wp-block-paragraph">This is the core problem AIOps platforms are designed to solve: collecting, correlating, and acting on operational data faster than traditional monitoring and incident-response workflows allow.</p>



<h2 class="wp-block-heading">The Business Case: Digital Experience Is Now a Competitive Differentiator</h2>



<p class="wp-block-paragraph">Poor application performance has direct revenue consequences. AppDynamics&#8217; <em>App Attention Index 2019</em> reported that up to 84 percent of global consumers had experienced problems with digital services, while 76 percent said their expectations of digital performance were increasing. The same survey found that roughly half of consumers would be willing to pay a premium for a product or service if the digital experience was meaningfully better than a competitor&#8217;s.</p>



<p class="wp-block-paragraph">Whitney Satin, director of product marketing at AppDynamics, summarized the shift in an interview with <em>The Next Platform</em>:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;This marks a significant shift in consumers&#8217; loyalty to a superior digital experience and brings to light that businesses across every industry are realizing that applications are the business. To keep pace with ever increasing user demands, IT teams are increasingly adopting cloud technologies to enable them to iterate quickly and compete on experience. Highly distributed, multicloud, microservices, APIs, containers, IoT environments, and relentless code releases introduce constant change, and all of this is happening at a staggering scale. That creates a world where the traditional enterprise is managing a complex myriad of legacy technologies like mainframes, datacenters, private clouds, and trying to implement cloud-native technologies.&#8221;</p><cite>— Whitney Satin, Director of Product Marketing, AppDynamics</cite></blockquote>



<h2 class="wp-block-heading">Cisco&#8217;s AIOps Strategy: The Central Nervous System for IT</h2>



<p class="wp-block-paragraph">Cisco acquired AppDynamics for $3.7 billion in 2017 as part of a broader strategic pivot away from hardware toward enterprise software and hybrid cloud solutions. The acquisition positioned Cisco directly in a competitive AIOps market that includes players such as Splunk, IBM, BMC, Zenoss, and OpsRamp.</p>



<p class="wp-block-paragraph">The centrepiece of the Cisco/AppDynamics AIOps vision is the <strong>Central Nervous System (CNS) for IT</strong> — a platform that uses AI and machine learning to automate IT operations across application and infrastructure domains. CNS is designed to:</p>



<ul class="wp-block-list">
<li>Monitor and manage applications across cloud, on-premises, and edge environments</li>
<li>Collect, manage, and analyze data from multiple operational domains in a unified interface</li>
<li>Automatically detect and remediate security and performance anomalies</li>
</ul>



<p class="wp-block-paragraph">The first product delivered under the CNS umbrella was the <strong>Cognition Engine</strong>, which applies machine learning to application and infrastructure management. Its key capabilities include automated diagnostics and root-cause analysis — reducing the time teams spend manually investigating incidents.</p>



<h2 class="wp-block-heading">New Capabilities: Experience Journey Maps and Workload Optimization</h2>



<p class="wp-block-paragraph">At Cisco Live Barcelona (early 2020), Cisco and AppDynamics announced additional products representing the first major integrations since CNS launched:</p>



<h3 class="wp-block-heading">AppDynamics Experience Journey Maps</h3>



<p class="wp-block-paragraph">Experience Journey Maps correlate business metrics, application performance data, and user experience signals into a single, unified view. Rather than requiring application teams and business stakeholders to work from separate dashboards, the tool provides shared context — showing how infrastructure state and application behavior are jointly affecting the end-user experience and business outcomes.</p>



<h3 class="wp-block-heading">Cisco Intersight Workload Optimizer</h3>



<p class="wp-block-paragraph">Intersight Workload Optimizer targets a persistent and costly problem in hybrid IT: infrastructure overprovisioning. Organizations routinely provision for peak capacity, leaving resources severely underutilized for the majority of the year. By combining real-time and historical data, Intersight identifies workload performance issues and rightsize opportunities — improving both compliance posture and infrastructure cost efficiency across hybrid application architectures.</p>



<p class="wp-block-paragraph">Critically, Intersight Workload Optimizer and Experience Journey Maps were designed to share and correlate data, giving both application teams and infrastructure teams a common language, common tooling, and aligned datasets. Satin described this coupling as &#8220;the latest proof point to Cisco&#8217;s software strategy,&#8221; enabling &#8220;the exchange and correlation of formally disparate data streams to bring shared context to the application and infrastructure teams.&#8221;</p>



<h3 class="wp-block-heading">HyperFlex Application Platform</h3>



<p class="wp-block-paragraph">The HyperFlex Application Platform extends Cisco&#8217;s container strategy by providing container-as-a-service capabilities aimed at simplifying Kubernetes provisioning and workload management from the datacenter to the cloud and edge. It incorporates open-source tooling, task automation, and integrates AppDynamics and Intersight for real-time monitoring across multicloud deployments. The platform is intended to serve both IT operations and DevOps groups within the same organization.</p>



<h2 class="wp-block-heading">Closing the Loop: Why Application and Infrastructure Teams Must Share Context</h2>



<p class="wp-block-paragraph">The deeper ambition behind these product integrations is architectural: creating a <strong>closed-loop operating model</strong> in which application teams and infrastructure teams are no longer isolated from each other&#8217;s data, workflows, or vocabulary.</p>



<p class="wp-block-paragraph">Liz Centoni, then senior vice president and general manager of Cisco&#8217;s Cloud, Compute and IoT group, articulated the cost of the status quo in a blog post at the time. She noted that application dependencies were projected to increase by approximately 250 percent over the following 12 months, and that organizations in North America were spending as much as 43 percent of their operational time — and an estimated $700 billion annually — on troubleshooting problems.</p>



<p class="wp-block-paragraph">Centoni described the structural problem clearly:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;On one hand, the complex, distributed nature of modern applications from the edge to the cloud (and everything in the middle) makes it difficult to root-cause the source of a poorly performing application. While on the other hand, blatant overprovisioning of infrastructure capacity (whether its on-prem or cloud) for &#8216;peak scale&#8217; leads to gross underutilization because for 364 days in the year, you&#8217;re <em>not</em> running at peak. Add data gravity limitations, containers, a myriad of opensource components, and the idiosyncrasies of every cloud in the sky — you&#8217;re looking at 25 hours a day, just to keep the lights on.&#8221;</p><cite>— Liz Centoni, SVP and GM, Cisco Cloud, Compute and IoT</cite></blockquote>



<p class="wp-block-paragraph">The closed-loop model addresses this by ensuring that insights generated on the infrastructure side are immediately visible and actionable on the application side, and vice versa. Automated remediation — triggered by AI analysis rather than manual escalation — is the end state both Cisco and the broader AIOps industry are working toward.</p>



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



<ul class="wp-block-list">
<li><strong>AIOps is not replacing DevOps engineers</strong> — it is removing the manual toil associated with incident triage, root-cause analysis, and capacity management so engineers can focus on higher-value work.</li>
<li><strong>Siloed tooling is a structural risk.</strong> When application teams and infrastructure teams operate from separate data sources, mean time to resolution (MTTR) increases and accountability is diffused.</li>
<li><strong>Overprovisioning is a hidden cost.</strong> Infrastructure sized for peak load is the norm, but AI-driven workload optimization offers a path to meaningful cost reduction without sacrificing headroom.</li>
<li><strong>The edge and IoT are expanding the monitoring surface.</strong> AIOps platforms are increasingly expected to ingest telemetry well beyond the traditional datacenter perimeter.</li>
<li><strong>Business metrics must connect to technical metrics.</strong> Tools like Experience Journey Maps reflect a maturing understanding that SLAs tied only to infrastructure uptime do not capture what customers actually experience.</li>
</ul>



<h2 class="wp-block-heading">The Competitive AIOps Landscape</h2>



<p class="wp-block-paragraph">As of early 2020, the AIOps market was highly competitive. Beyond Cisco and AppDynamics, key platforms included Splunk, IBM Watson AIOps, BMC Helix, Zenoss, and OpsRamp. Each takes a somewhat different approach to the core challenge of correlating signals from heterogeneous infrastructure into actionable intelligence. Organizations evaluating AIOps vendors should assess coverage across their specific stack — including on-premises, cloud-native, and edge tiers — as well as integration depth with existing CI/CD and incident management tooling.</p>



<p class="wp-block-paragraph"><em>Original reporting by <a href="https://www.nextplatform.com" rel="noopener">The Next Platform</a>, January 2020.</em></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/sparking-the-gap-between-ai-and-devops/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Cloud Computing Predictions for 2020: New Alliances, Security Shifts, and Market Consolidation</title>
		<link>https://www.bestdevops.com/predictions-2020-cloud-computing-sees-new-alliances-and-new-security-concerns-2/</link>
					<comments>https://www.bestdevops.com/predictions-2020-cloud-computing-sees-new-alliances-and-new-security-concerns-2/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Thu, 28 Nov 2019 05:59:25 +0000</pubDate>
				<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[Cloud computing]]></category>
		<category><![CDATA[Containers]]></category>
		<category><![CDATA[IBM]]></category>
		<category><![CDATA[Kubernetes]]></category>
		<category><![CDATA[RedHat]]></category>
		<category><![CDATA[Security]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=9303</guid>

					<description><![CDATA[Forrester's 2020 cloud computing predictions covered hyperscaler alliances, the rise of cloud-native development tools like service meshes and serverless, and the growing urgency of cloud security in the wake of high-profile breaches.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>This article is based on Forrester Research&#8217;s 2020 cloud computing predictions, originally summarized by ZDNet in November 2019. Statistics and forecasts reflect analyst estimates made at that time.</em></p>



<h2 class="wp-block-heading">The Cloud Landscape Heading into 2020</h2>



<p class="wp-block-paragraph">The cloud computing market entered 2020 on the back of a transformative 2019. Forrester had predicted that enterprises would begin modernizing core business applications with cloud platforms, and that migration did accelerate. At the same time, major industry moves reshaped competitive dynamics: IBM completed its acquisition of Red Hat, VMware reabsorbed Pivotal, Oracle partnered with Microsoft on high-speed connectivity between Oracle Cloud and Azure, and VMware brought its Cloud Foundation to Google Cloud.</p>



<p class="wp-block-paragraph">These moves signaled a market in flux — longtime competitors forming pragmatic alliances, and incumbents doubling down on their core strengths rather than fighting on all fronts simultaneously.</p>



<h2 class="wp-block-heading">Market Size and Adoption Benchmarks</h2>



<p class="wp-block-paragraph">According to Forrester&#8217;s projections made in late 2019, the combined public cloud market — spanning SaaS (cloud applications), PaaS (development and data platforms), and IaaS (infrastructure services) — was forecast to reach <strong>$299.4 billion</strong> in 2020. While growth rates were expected to moderate, analysts framed this as a sign of a maturing, consolidating market on a trajectory toward half a trillion dollars within a few years.</p>



<p class="wp-block-paragraph">Adoption figures at the time reflected broad enterprise commitment to cloud:</p>



<ul class="wp-block-list">
<li><strong>65%</strong> of North American enterprises relied on public cloud platforms.</li>
<li><strong>66%</strong> ran internal private clouds.</li>
</ul>



<h2 class="wp-block-heading">Key Prediction 1: Hyperscalers Refocus — IBM, Oracle Retreat to Strengths While Alibaba Challenges Google</h2>



<p class="wp-block-paragraph">Forrester anticipated that neither IBM nor Oracle would exit the hyperscale public cloud market — then dominated by AWS, Microsoft Azure, Google Cloud, and Alibaba Cloud — but that each would strategically narrow their focus.</p>



<ul class="wp-block-list">
<li><strong>IBM</strong> was expected to concentrate on helping enterprises use Red Hat&#8217;s OpenShift container platform to modernize core business applications across any cloud environment, rather than competing head-to-head with AWS or Azure on general-purpose infrastructure.</li>
<li><strong>Oracle</strong> was predicted to lean into its SaaS portfolio and autonomous database products, pointing customers toward Azure for general-purpose cloud services such as AI/ML, Kubernetes, containers, and IoT workloads. Analysts also expected Oracle to finalize high-speed connectivity agreements with AWS or Google to better serve its enterprise database customers.</li>
<li><strong>Alibaba Cloud</strong> was projected to generate approximately $4.5 billion in global cloud platform revenue, surpassing Google Cloud globally. However, Google was expected to retain its third-place ranking among North American clients due to Alibaba&#8217;s limited footprint in that region.</li>
</ul>



<p class="wp-block-paragraph">The broader theme: the hyperscale cloud wars were no longer purely about raw infrastructure competition. Specialization, strategic partnerships, and ecosystem control were becoming the primary battlegrounds.</p>



<h2 class="wp-block-heading">Key Prediction 2: Open Source Cloud-Native Development Battles — Service Meshes and Serverless</h2>



<p class="wp-block-paragraph">With Kubernetes having effectively won the container orchestration category by 2019, Forrester turned its attention to the next wave of cloud-native technology battles: <strong>service meshes</strong> and <strong>serverless computing</strong>.</p>



<p class="wp-block-paragraph">The cloud-native ecosystem was characterized by hundreds of competing open source projects and vendors. Two areas were expected to see concentrated competition in 2020:</p>



<ul class="wp-block-list">
<li><strong>Service meshes</strong> promise advanced interservice networking, observability, and security for microservices architectures. <strong>Istio</strong> was identified as the standout project in this space.</li>
<li><strong>Serverless computing</strong> abstracts infrastructure entirely from developers, enabling event-driven programming models. <strong>Knative</strong> was considered a strong foundation for enterprise serverless adoption.</li>
</ul>



<p class="wp-block-paragraph">Forrester&#8217;s expectation was that neither Istio nor Knative would be adopted as standalone open source tools by most enterprises. Instead, both would most likely be consumed as components of integrated cloud-native development platforms offered by major vendors: AWS, Microsoft, Google, VMware/Pivotal, or IBM/Red Hat.</p>



<p class="wp-block-paragraph">This pattern — open source innovation eventually absorbed into commercial platform offerings — was seen as the dominant adoption model for enterprise cloud-native tooling.</p>



<h2 class="wp-block-heading">Key Prediction 3: Cloud Management Vendors Must Tackle Security</h2>



<p class="wp-block-paragraph">The Capital One data breach — which exposed over 100 million customer records stored in AWS — became a defining moment for cloud security in 2019. The incident demonstrated that misconfigured cloud environments, not necessarily flaws in cloud provider infrastructure, were a primary attack vector.</p>



<p class="wp-block-paragraph">Forrester predicted that this breach, and others like it, would push cloud management vendors to elevate security from a secondary concern to a primary product focus. Specifically:</p>



<ul class="wp-block-list">
<li><strong>Hyperscale cloud providers</strong> were expected to increase investment in native security tooling and services.</li>
<li><strong>Cross-cloud management vendors</strong> would need to go beyond traditional identity and access management (IAM), building or acquiring capabilities such as workload security, posture management, and runtime protection.</li>
<li><strong>VMware&#8217;s acquisition of Carbon Black</strong> in 2019 was cited as an early example of this shift — embedding security capabilities throughout cloud management, virtualization, and container products.</li>
</ul>



<p class="wp-block-paragraph">The underlying message: in an increasingly hybrid cloud world, security could no longer be bolted on after deployment. It needed to be integrated into the platforms that enterprises used to manage cloud infrastructure from the ground up.</p>



<h2 class="wp-block-heading">Summary: Five Themes Forrester Identified for 2020</h2>



<ol class="wp-block-list">
<li>Hyperscale public cloud leaders would form more alliances while refocusing on core strengths.</li>
<li>Leading business application vendors would begin abandoning proprietary infrastructure stacks.</li>
<li>High-performance computing (HPC) adoption on cloud would accelerate.</li>
<li>The cloud-native development ecosystem would converge around service meshes and serverless platforms.</li>
<li>Cloud management vendors would shift focus to security in response to major breach events.</li>
</ol>



<p class="wp-block-paragraph">For DevOps teams and platform engineers, these predictions pointed toward several practical priorities: evaluating service mesh tooling before the market locked in, treating cloud security posture management as a first-class engineering concern, and watching how IBM, Oracle, and the hyperscalers redefined their platform boundaries in 2020.</p>



<p class="wp-block-paragraph"><em>Source: Forrester Research 2020 Cloud Predictions, as reported by ZDNet (November 2019).</em></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/predictions-2020-cloud-computing-sees-new-alliances-and-new-security-concerns-2/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How Medlife Uses AWS to Manage Containers, SMS, and Machine Learning at Scale</title>
		<link>https://www.bestdevops.com/medlife-uses-aws-to-efficiently-manage-containers-and-sms/</link>
					<comments>https://www.bestdevops.com/medlife-uses-aws-to-efficiently-manage-containers-and-sms/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Thu, 12 Sep 2019 06:02:44 +0000</pubDate>
				<category><![CDATA[AWS]]></category>
		<category><![CDATA[Containers]]></category>
		<category><![CDATA[Efficiently]]></category>
		<category><![CDATA[Medlife]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=7644</guid>

					<description><![CDATA[Indian online pharmacy Medlife built its entire cloud infrastructure on AWS, using Amazon ECS, SNS, ElastiCache, and EMR to accelerate deployments, improve SMS delivery rates, and scale reliably during traffic surges.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>This case study is based on reporting originally published by <a href="https://www.crn.in" rel="noopener">crn.in</a> and reflects the state of Medlife&#8217;s AWS infrastructure as of mid-2019. All quotes are attributed to Pranesh Vittal, database architect at Medlife.</em></p>



<h2 class="wp-block-heading">Background: Healthcare at Scale in India</h2>



<p class="wp-block-paragraph">India&#8217;s healthcare system is vast, geographically dispersed, and unevenly distributed between rural and urban areas. Patients routinely visit multiple providers to complete a single care episode, and supply-chain logistics for medicines are correspondingly complex.</p>



<p class="wp-block-paragraph">Medlife launched in 2014 as an online pharmacy and integrated healthcare platform. Its services include doctor consultations via outbound calls and diagnostic lab services from its Bangalore center. By 2019, Medlife operated in roughly 3,000 cities across India and ran 40 proprietary fulfillment centers. The company was cloud-native from day one, choosing Amazon Web Services (AWS) as its primary infrastructure provider.</p>



<h2 class="wp-block-heading">Secure SMS Delivery with Amazon SNS</h2>



<p class="wp-block-paragraph">SMS is the dominant customer communication channel in India, where mobile-subscriber penetration significantly exceeds email adoption. Medlife sends customers up to three SMS updates per order — covering order receipt, dispatch, and estimated delivery time — making reliable message delivery directly tied to revenue.</p>



<p class="wp-block-paragraph">After concerns arose about data handled by third-party SMS vendors, Medlife migrated to <strong>Amazon Simple Notification Service (Amazon SNS)</strong>. The decision was driven by two factors:</p>



<ul class="wp-block-list">
<li><strong>Security posture:</strong> AWS holds certifications including ISO 27001 and ISO 9001, which gave Medlife confidence in data handling for a regulated healthcare context.</li>
<li><strong>Delivery performance:</strong> The previous SMS provider suffered from dropped messages, causing lost orders. After moving to Amazon SNS, the SMS delivery SLA improved from 92% to 97%, with continued improvement expected.</li>
</ul>



<p class="wp-block-paragraph">Medlife now monitors messaging throughput and anomalies using <strong>Amazon CloudWatch</strong>, which provides alerting on unusual usage patterns — an important control for a service that processes high volumes of transactional SMS daily.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;We didn&#8217;t want to compromise data security. Hence, we went ahead with Amazon SNS due to the additional security that it had to offer, and the delivery timespans were quite fast.&#8221;</p><cite>— Pranesh Vittal, Database Architect, Medlife</cite></blockquote>



<h2 class="wp-block-heading">From Monolith to Microservices with Amazon ECS</h2>



<p class="wp-block-paragraph">Medlife&#8217;s engineering team made an early architectural decision to adopt a DevOps culture, and over time evolved from a monolithic (&#8220;meta&#8221;) architecture to a microservices model. They use <strong>Amazon Elastic Container Service (Amazon ECS)</strong> to orchestrate and manage their containers.</p>



<p class="wp-block-paragraph">Key outcomes from this transition include:</p>



<ul class="wp-block-list">
<li>Growth from 5 to 40 microservices over two years, covering orders, procurement, and inventory management.</li>
<li>Release cadence increased from <strong>two deployments per week to two deployments per day</strong> — a 7× improvement.</li>
<li>Faster iteration from prototype to production, enabled by decoupling application components into independently deployable services.</li>
</ul>



<p class="wp-block-paragraph">Medlife was an early adopter of ECS in the AWS Mumbai region after the region launched in December 2017, having previously run ECS workloads out of Singapore. According to Vittal, ECS simplified container setup and deployment pipelines significantly for the team.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;Amazon ECS works like a charm for setting up our containers and deployments.&#8221;</p><cite>— Pranesh Vittal, Database Architect, Medlife</cite></blockquote>



<h2 class="wp-block-heading">Automation and Autoscaling for Rapid Growth</h2>



<p class="wp-block-paragraph">A high degree of infrastructure automation allowed Medlife to manage its production environment with a small engineering team — a significant cost advantage for a growing startup. AWS autoscaling proved particularly valuable during traffic surges, which are common in e-commerce and online pharmacy during promotional campaigns.</p>



<p class="wp-block-paragraph">Medlife reported 10× growth between its second and third years of operation. AWS autoscaling enabled the platform to absorb that growth without requiring proportional increases in operations headcount or manual infrastructure management.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;The autoscaling works miraculously well, especially during surges. We just have to concentrate on our business growth and let AWS manage the infrastructure.&#8221;</p><cite>— Pranesh Vittal, Database Architect, Medlife</cite></blockquote>



<h2 class="wp-block-heading">Machine Learning: Stock Prediction and Batch Analytics</h2>



<p class="wp-block-paragraph">Medlife runs several machine-learning workloads on AWS to support pharmacy operations. The most demanding is a proprietary stock prediction tool that matches incoming orders to available inventory and requires sub-second response latency to function correctly at scale.</p>



<p class="wp-block-paragraph">To support ML operations alongside batch processing, inventory prediction, and broader analytics, Medlife deployed <strong>Amazon Elastic MapReduce (Amazon EMR)</strong> clusters. EMR enables the team to run large-scale data processing jobs without managing the underlying Hadoop or Spark infrastructure directly.</p>



<h3 class="wp-block-heading">Caching with Amazon ElastiCache for Redis</h3>



<p class="wp-block-paragraph">Medlife uses <strong>MongoDB</strong> as its primary database, deployed on Amazon EC2 instances. During high-traffic marketing campaigns, database performance degraded under load. To address this, the team evaluated <strong>Amazon ElastiCache for Redis</strong> as a caching layer during a proof of concept.</p>



<p class="wp-block-paragraph">The results were strong enough that ElastiCache for Redis was promoted to production, where it now serves static and semi-static data from cache, reducing read pressure on the primary MongoDB cluster and maintaining acceptable response times during traffic spikes.</p>



<h2 class="wp-block-heading">AWS Premium Support and Cost Optimization</h2>



<p class="wp-block-paragraph">Medlife subscribed to the <strong>AWS Premium Support</strong> tier to gain access to AWS solutions architects for pre-implementation reviews and debugging assistance. This support was particularly useful during the ECS proof of concept, where AWS engineers helped resolve integration issues quickly.</p>



<p class="wp-block-paragraph">The team uses <strong>AWS Trusted Advisor</strong> to identify cost-reduction opportunities across their infrastructure, consistent with a broader emphasis on cloud financial management. Vittal noted that the recommendations from AWS solutions architects have had a measurable impact on cost optimization outcomes.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;AWS puts a lot of emphasis on security and cost optimization and offers the right solutions for the right problems while keeping costs in mind.&#8221;</p><cite>— Pranesh Vittal, Database Architect, Medlife</cite></blockquote>



<h2 class="wp-block-heading">What&#8217;s Next: Data Lake, Voice, and Computer Vision</h2>



<p class="wp-block-paragraph">As of mid-2019, Medlife&#8217;s engineering roadmap included:</p>



<ul class="wp-block-list">
<li><strong>Data lake implementation</strong> to consolidate customer data and support deeper analytics across business verticals.</li>
<li><strong>Computer vision</strong> for product image and video validation — likely to support prescription verification and product authentication workflows.</li>
<li><strong>Voice interfaces and chatbots</strong> for customer care automation.</li>
</ul>



<p class="wp-block-paragraph">These initiatives reflect a broader pattern in healthcare technology: applying ML and AI capabilities to reduce manual effort in high-volume, compliance-sensitive workflows.</p>



<h2 class="wp-block-heading">Key AWS Services Used by Medlife</h2>



<figure class="wp-block-table"><table><thead><tr><th>AWS Service</th><th>Use Case</th></tr></thead><tbody><tr><td>Amazon SNS</td><td>Transactional SMS notifications to customers</td></tr><tr><td>Amazon CloudWatch</td><td>Monitoring SMS delivery and detecting usage anomalies</td></tr><tr><td>Amazon ECS</td><td>Container orchestration for 40+ microservices</td></tr><tr><td>Amazon EC2</td><td>Hosting primary MongoDB database</td></tr><tr><td>Amazon ElastiCache (Redis)</td><td>Caching layer to reduce database load during traffic spikes</td></tr><tr><td>Amazon EMR</td><td>ML workloads, batch processing, and analytics</td></tr><tr><td>AWS Trusted Advisor</td><td>Cost optimization and security recommendations</td></tr><tr><td>AWS Premium Support</td><td>Pre-implementation reviews and debugging assistance</td></tr></tbody></table></figure>



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



<ul class="wp-block-list">
<li><strong>SNS for transactional messaging</strong> is a viable alternative to third-party SMS aggregators when data security and delivery reliability are non-negotiable requirements.</li>
<li><strong>Migrating from monolith to microservices</strong> iteratively — starting with high-churn domains like orders and inventory — can dramatically increase deployment frequency without a full rewrite.</li>
<li><strong>Caching with Redis via ElastiCache</strong> is a well-proven pattern for protecting relational or document databases during marketing-driven traffic spikes.</li>
<li><strong>EMR for ML batch workloads</strong> removes cluster management overhead and integrates naturally with other AWS analytics services.</li>
<li><strong>Engaging solutions architects before large migrations</strong>, rather than after problems occur, reduces rework and helps teams get architecture decisions right on the first attempt.</li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/medlife-uses-aws-to-efficiently-manage-containers-and-sms/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Containers 102: Kubernetes and the Basics of Container Orchestration</title>
		<link>https://www.bestdevops.com/containers-102-kubernetes-and-the-basics-of-container-orchestration/</link>
					<comments>https://www.bestdevops.com/containers-102-kubernetes-and-the-basics-of-container-orchestration/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Fri, 16 Aug 2019 06:21:26 +0000</pubDate>
				<category><![CDATA[Kubernetes]]></category>
		<category><![CDATA[Containers]]></category>
		<category><![CDATA[Docker]]></category>
		<category><![CDATA[orchestration]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=7003</guid>

					<description><![CDATA[Kubernetes has become the gold standard for container orchestration. This guide explains how Kubernetes works—covering nodes, pods, services, volumes, namespaces, and manifests—so you can confidently get started with your first cluster.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">If you have already explored what containers are and why they matter, the natural next step is understanding how to manage them at scale. That is where Kubernetes comes in. Kubernetes has become the dominant standard for container orchestration, used by enterprises and startups alike to deploy, scale, and operate containerized workloads reliably.</p>



<h2 class="wp-block-heading">Why Container Orchestration Was Needed</h2>



<p class="wp-block-paragraph">When containers first emerged as a mainstream infrastructure pattern, it quickly became clear that running individual containers was only part of the challenge. Production environments demand networking between containers, high availability, health monitoring, and—especially for database workloads—persisted storage. A container management layer was needed to handle all of this.</p>



<p class="wp-block-paragraph">Early contenders for this role included Docker Swarm and Apache Mesos. Both gained traction but were ultimately overtaken in adoption by Kubernetes, which originated as an internal Google system called Borg—a large-scale cluster management platform that Google used to run its own workloads. Borg was later reimagined as an open source project, and Kubernetes now benefits from broad contributions across the technology industry.</p>



<h2 class="wp-block-heading">How Kubernetes Is Structured</h2>



<p class="wp-block-paragraph">At a high level, a Kubernetes cluster is composed of host servers—either physical machines or virtual machines—organised into two roles: the <strong>master node</strong> (also called the control plane) and <strong>worker nodes</strong>.</p>



<h3 class="wp-block-heading">The Master Node (Control Plane)</h3>



<ul class="wp-block-list">
<li><strong>etcd:</strong> A distributed key-value store that holds all cluster state—API objects, configuration, and service discovery data. For security reasons, only the API server communicates directly with etcd.</li>
<li><strong>API Server:</strong> The central management endpoint. All REST calls for new deployments or cluster modifications go through the API server.</li>
<li><strong>Scheduler:</strong> Determines which worker node a new pod should run on, based on current resource availability and constraints.</li>
<li><strong>Controller Manager:</strong> A set of controller processes that continuously reconcile the actual state of the cluster against the desired state declared in deployment manifests.</li>
</ul>



<h3 class="wp-block-heading">Worker Nodes</h3>



<p class="wp-block-paragraph">Each worker node runs two critical services:</p>



<ul class="wp-block-list">
<li><strong>kubelet:</strong> An agent that receives pod specifications, ensures the declared containers are running, and reports node health back to the control plane.</li>
<li><strong>kube-proxy:</strong> Manages network rules on the node, handles subnetting, and enables services to be reachable from outside the cluster.</li>
</ul>



<h2 class="wp-block-heading">Core Kubernetes Concepts</h2>



<h3 class="wp-block-heading">Pods</h3>



<p class="wp-block-paragraph">The <strong>pod</strong> is the fundamental unit of deployment in Kubernetes. A pod contains one or more containers that share network and storage resources. Best practice is to group containers of the same application tier into a single pod—for example, keeping web containers together—rather than mixing workloads such as a database container and a web container in the same pod.</p>



<p class="wp-block-paragraph">Pods are ephemeral by design. If a pod develops a runaway process or fails a health check, Kubernetes will terminate and replace it. This is normal and expected behaviour.</p>



<h3 class="wp-block-heading">Services</h3>



<p class="wp-block-paragraph">Because individual pods come and go, Kubernetes introduces <strong>Services</strong> to provide a stable networking endpoint. A Service represents a logical set of pods, exposes a consistent IP address, and acts as a gateway so that other parts of the application—or external clients—can reliably reach those pods regardless of which specific pod instances are currently running.</p>



<h3 class="wp-block-heading">Volumes and Persistent Storage</h3>



<p class="wp-block-paragraph">Containers are stateless and ephemeral by default, which is a problem for workloads like databases that must persist data across restarts. Kubernetes addresses this by allowing <strong>volumes</strong> to be attached to container definitions. Persistent Volumes (PVs) and Persistent Volume Claims (PVCs) decouple the storage lifecycle from the pod lifecycle, so data survives pod restarts or replacements. This is conceptually similar to shared-disk storage in a traditional failover cluster.</p>



<h3 class="wp-block-heading">Namespaces</h3>



<p class="wp-block-paragraph"><strong>Namespaces</strong> provide virtual partitions within a single Kubernetes cluster. They serve two main purposes:</p>



<ul class="wp-block-list">
<li><strong>Isolation:</strong> Resources in one namespace cannot directly communicate with resources in another namespace by default, creating a useful security boundary.</li>
<li><strong>Resource quotas:</strong> A namespace can be assigned CPU and memory quotas, preventing any one team or workload from consuming all available cluster resources.</li>
</ul>



<p class="wp-block-paragraph">If you have used Azure Resource Groups to logically partition cloud resources, namespaces serve a similar organisational role—though the network isolation behaviour is distinct.</p>



<h3 class="wp-block-heading">ReplicaSets and StatefulSets</h3>



<p class="wp-block-paragraph"><strong>ReplicaSets</strong> ensure a specified number of identical pod replicas are always running. If a pod dies, the ReplicaSet controller creates a replacement. <strong>StatefulSets</strong> extend this concept for workloads that require stable network identities and ordered deployment, such as databases.</p>



<h2 class="wp-block-heading">Declaring Infrastructure with Manifests</h2>



<p class="wp-block-paragraph">One of the most important shifts Kubernetes introduces is <strong>declarative infrastructure as code</strong>. Instead of issuing imperative commands to configure servers, you describe the desired state of your workloads in YAML (or JSON) manifest files. Kubernetes continuously works to make the cluster match that declared state.</p>



<p class="wp-block-paragraph">The following is a simple Deployment manifest that runs three replicas of an Nginx web server:</p>


<pre class="wp-block-code"><span><code class="hljs">apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: nginx
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.7.9
        ports:
        - containerPort: 80</code></span></pre>


<p class="wp-block-paragraph">Breaking this down:</p>



<ul class="wp-block-list">
<li><strong>apiVersion / kind:</strong> Declares the type of Kubernetes resource being created—in this case, a Deployment using the <code>apps/v1</code> API.</li>
<li><strong>metadata:</strong> Names the deployment and attaches labels that can be used by selectors elsewhere in the cluster.</li>
<li><strong>spec.replicas:</strong> Tells Kubernetes to keep three pod instances running at all times.</li>
<li><strong>spec.template.spec.containers:</strong> Defines the container image (<code>nginx:1.7.9</code>) and the port it listens on (80).</li>
</ul>



<p class="wp-block-paragraph">Storing manifests in a Git repository gives your team a full audit trail of infrastructure changes, makes rollbacks straightforward, and enables CI/CD pipelines to deploy updates consistently.</p>



<h2 class="wp-block-heading">High Availability in Kubernetes</h2>



<p class="wp-block-paragraph">Kubernetes is designed for resilience at multiple levels:</p>



<ul class="wp-block-list">
<li><strong>Application level:</strong> ReplicaSets ensure that the correct number of pod replicas are always running, automatically replacing failed pods.</li>
<li><strong>Control plane level:</strong> The etcd cluster can be replicated across multiple nodes, and the API server and other control plane components can be run in a highly available configuration to eliminate single points of failure.</li>
</ul>



<h2 class="wp-block-heading">Getting Started with Kubernetes</h2>



<p class="wp-block-paragraph">There are several practical options for experimenting with Kubernetes, depending on how much complexity you want to take on:</p>



<ul class="wp-block-list">
<li><strong>Docker Desktop:</strong> Includes a built-in option to enable a local single-node Kubernetes cluster. Ideal for quick local development and learning.</li>
<li><strong>Minikube:</strong> Runs a simulated Kubernetes cluster on a single local Linux, macOS, or Windows machine. Good for learning cluster concepts without cloud costs.</li>
<li><strong>Managed Kubernetes services:</strong> Azure Kubernetes Service (AKS), Amazon Elastic Kubernetes Service (EKS), and Google Kubernetes Engine (GKE) provision a production-grade, highly available cluster within minutes. These services abstract away control plane management, letting you focus on workloads.</li>
</ul>



<h2 class="wp-block-heading">Why Kubernetes Skills Matter</h2>



<p class="wp-block-paragraph">Kubernetes has moved from an emerging technology to a foundational platform across both enterprise IT and cloud-native startups. An increasing number of software products—including Microsoft SQL Server—now support Kubernetes as a deployment target. For DevOps engineers, platform engineers, and site reliability engineers, practical Kubernetes knowledge has become an expected core competency.</p>



<p class="wp-block-paragraph">The concepts covered here—pods, services, volumes, namespaces, manifests, and the control plane—form the foundation you need to go deeper into topics such as Helm chart packaging, ingress controllers, role-based access control (RBAC), and cluster autoscaling.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/containers-102-kubernetes-and-the-basics-of-container-orchestration/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How to Change the Root Password in a Docker Image</title>
		<link>https://www.bestdevops.com/how-to-change-a-root-password-in-a-docker-image/</link>
					<comments>https://www.bestdevops.com/how-to-change-a-root-password-in-a-docker-image/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Wed, 14 Aug 2019 06:08:45 +0000</pubDate>
				<category><![CDATA[Docker]]></category>
		<category><![CDATA[Containers]]></category>
		<category><![CDATA[Image]]></category>
		<category><![CDATA[password]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=6961</guid>

					<description><![CDATA[Learn how to set a root password on a running Docker container and commit the change to a new image — a practical step toward hardening official base images like CentOS.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">If you regularly deploy containers based on official Docker Hub images, you may have noticed that many base images ship without a root password set at all. While containers are generally designed to be ephemeral and access-controlled at the orchestration layer, there are scenarios — particularly in on-premises or development environments — where setting an explicit root password on the base image adds a meaningful layer of defence.</p>



<p class="wp-block-paragraph">This guide walks you through the process of setting a root password inside a running container and then committing that change to a new image you can reuse. The example uses the official CentOS image from Docker Hub, but the same steps apply to any official Linux distribution image (Ubuntu, Debian, Alpine with a shell, etc.). It assumes Docker is already installed and running on your system.</p>



<h2 class="wp-block-heading">Why Base Images Often Have No Root Password</h2>



<p class="wp-block-paragraph">Official base images are intentionally minimal. Because containers are typically accessed via <code>docker exec</code>, SSH is rarely installed, and the container runtime itself controls access. As a result, maintainers often leave the root account with no password — or with a locked account — to reduce image size and attack surface. This is fine for many workloads, but if you are building developer tooling, running interactive shells, or enabling SSH inside a container for any reason, a blank root password is a real risk.</p>



<h2 class="wp-block-heading">Step 1 — Deploy and Inspect the Base Container</h2>



<p class="wp-block-paragraph">Pull and start the official CentOS image in interactive mode:</p>


<pre class="wp-block-code"><span><code class="hljs">docker run -it centos</code></span></pre>


<p class="wp-block-paragraph">Docker will pull the image if it is not already cached locally, then drop you into a root shell inside the container. Verify the current state of the root account in the shadow password file:</p>


<pre class="wp-block-code"><span><code class="hljs">cat /etc/shadow | grep root</code></span></pre>


<p class="wp-block-paragraph">In the output you will see the root entry. The second colon-delimited field is the password hash. On a freshly pulled base image this field is typically empty or contains a single <code>!!</code>, confirming that no password is set.</p>



<h2 class="wp-block-heading">Step 2 — Set a New Root Password</h2>



<p class="wp-block-paragraph">Still inside the container shell, run the standard <code>passwd</code> command:</p>


<pre class="wp-block-code"><span><code class="hljs">passwd</code></span></pre>


<p class="wp-block-paragraph">You will be prompted to enter and confirm the new password. Use a strong password — at least 12 characters combining letters, numbers, and symbols. Once the command completes successfully, verify the change:</p>


<pre class="wp-block-code"><span><code class="hljs">cat /etc/shadow | grep root</code></span></pre>


<p class="wp-block-paragraph">The second field should now contain a long hashed string, confirming that the password has been set. Type <code>exit</code> to leave the container and return to your host shell.</p>



<h2 class="wp-block-heading">Step 3 — Find the Container ID</h2>



<p class="wp-block-paragraph">Before you can commit the change, you need the ID of the container you just exited. List all containers, including stopped ones:</p>


<pre class="wp-block-code"><span><code class="hljs">docker ps -a</code></span></pre>


<p class="wp-block-paragraph">Identify the container that ran the CentOS image. The full container ID is shown in the first column; you only need the first four or more characters to make it unique.</p>



<h2 class="wp-block-heading">Step 4 — Commit the Change to a New Image</h2>



<p class="wp-block-paragraph">Use <code>docker commit</code> to save the current container filesystem — including the updated <code>/etc/shadow</code> — as a new image:</p>


<pre class="wp-block-code"><span><code class="hljs language-xml">docker commit <span class="hljs-tag">&lt;<span class="hljs-name">CONTAINER_ID</span>&gt;</span> <span class="hljs-tag">&lt;<span class="hljs-name">NEW_IMAGE_NAME</span>&gt;</span></code></span></pre>


<p class="wp-block-paragraph">Replace <code>&lt;CONTAINER_ID&gt;</code> with the ID from the previous step and <code>&lt;NEW_IMAGE_NAME&gt;</code> with a meaningful name, for example:</p>


<pre class="wp-block-code"><span><code class="hljs">docker commit a3f9 centos-secured</code></span></pre>


<p class="wp-block-paragraph">Docker will output the SHA256 digest of the new image once the commit succeeds.</p>



<h2 class="wp-block-heading">Step 5 — Verify the New Image</h2>



<p class="wp-block-paragraph">Spin up a fresh container from the new image and confirm the password is persisted:</p>


<pre class="wp-block-code"><span><code class="hljs">docker run -it centos-secured</code></span></pre>


<p class="wp-block-paragraph">Inside the new container, check the shadow file again:</p>


<pre class="wp-block-code"><span><code class="hljs">cat /etc/shadow | grep root</code></span></pre>


<p class="wp-block-paragraph">You should see the hashed password in the second field, confirming the change is baked into the image. Every container you now launch from <code>centos-secured</code> will have the root password set.</p>



<h2 class="wp-block-heading">Alternative: Use a Dockerfile</h2>



<p class="wp-block-paragraph">The <code>docker commit</code> approach is quick but is not reproducible or auditable. A better practice for production or team environments is to encode the password change in a <code>Dockerfile</code>. The <code>RUN</code> instruction can call <code>passwd</code> non-interactively using <code>chpasswd</code>:</p>


<pre class="wp-block-code"><span><code class="hljs language-php">FROM centos
RUN <span class="hljs-keyword">echo</span> <span class="hljs-string">'root:YourStrongPassword'</span> | chpasswd</code></span></pre>


<p class="wp-block-paragraph">Build the image in the usual way:</p>


<pre class="wp-block-code"><span><code class="hljs">docker build -t centos-secured .</code></span></pre>


<p class="wp-block-paragraph">Be aware that hardcoding a plaintext password in a <code>Dockerfile</code> that is committed to source control is itself a security risk. Prefer injecting secrets at runtime using Docker secrets, environment variables read from a secrets manager, or build arguments that are not baked into the image history.</p>



<h2 class="wp-block-heading">Important Caveats</h2>



<ul class="wp-block-list">
<li><strong>Not all images support this.</strong> Some purpose-built images rely on the root account being locked or set to a specific value. Changing the password in those images may break the application running inside the container.</li>
<li><strong>The hashed password lives in the image layer.</strong> Anyone with read access to the image can extract <code>/etc/shadow</code> and attempt to crack the hash offline. Use a strong, unique password and restrict who can pull or inspect the image.</li>
<li><strong><code>docker commit</code> is not a substitute for proper secrets management.</strong> For production workloads, manage credentials with a dedicated secrets management system rather than baking them into images.</li>
<li><strong>Root access inside a container is still constrained by the container runtime.</strong> Unless the container is granted additional Linux capabilities or runs in privileged mode, the root user inside a container cannot escalate privileges on the host.</li>
</ul>



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



<p class="wp-block-paragraph">Setting a root password on a Docker base image is a straightforward two-step process: change the password inside a running container, then commit the container to a new image. For repeatable builds, the <code>Dockerfile</code> + <code>chpasswd</code> approach is preferable. Either way, treat the resulting image with the same care you would apply to any artefact that contains a credential.</p>



<p class="wp-block-paragraph"><em>Original article sourced from <a href="https://www.techrepublic.com">TechRepublic</a>.</em></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/how-to-change-a-root-password-in-a-docker-image/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Powering Edge Infrastructure with Kubernetes: A Primer</title>
		<link>https://www.bestdevops.com/powering-edge-with-kubernetes-a-primer/</link>
					<comments>https://www.bestdevops.com/powering-edge-with-kubernetes-a-primer/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Fri, 02 Aug 2019 10:13:53 +0000</pubDate>
				<category><![CDATA[Kubernetes]]></category>
		<category><![CDATA[application]]></category>
		<category><![CDATA[Containers]]></category>
		<category><![CDATA[Data]]></category>
		<category><![CDATA[Technologies]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=6663</guid>

					<description><![CDATA[Kubernetes is rapidly expanding beyond the data center into edge infrastructure. Learn why it is well-suited for edge deployments and explore the three primary architectural approaches for using Kubernetes at the edge.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>This article is based on a post originally sourced from <a href="https://containerjournal.com" rel="noopener">containerjournal.com</a>, covering Kubernetes adoption at the edge as of mid-2019. Some project details may have evolved since publication.</em></p>



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



<p class="wp-block-paragraph">Since its release in 2014, Kubernetes has seen remarkable adoption across data centers and cloud environments. As a container orchestration platform, it has proven capable of handling diverse IT workloads — from virtualized network functions to AI/ML pipelines and GPU-accelerated compute. Kubernetes has effectively become the de facto standard for enterprises scaling toward cloud-native architectures.</p>



<p class="wp-block-paragraph">The next frontier for Kubernetes adoption is <strong>edge infrastructure</strong>: distributed environments with constrained hardware resources, intermittent connectivity to a central cloud, and thousands of nodes to manage simultaneously. Edge deployments serve as the processing layer closest to IoT sensors and end devices, making low latency, resilience, and centralized policy enforcement critical requirements.</p>



<p class="wp-block-paragraph">This article explains why Kubernetes is well-suited to edge environments and walks through three architectural patterns the Kubernetes IoT Edge Working Group has proposed for deploying Kubernetes at the edge.</p>



<h2 class="wp-block-heading">Why Kubernetes for Edge?</h2>



<p class="wp-block-paragraph">Edge nodes introduce a new infrastructure tier between IoT devices and the central cloud or on-premises data center. Operators need to manage workloads at the edge with the same level of automation and dynamism they apply to their cloud environments. Manually managing thousands of geographically distributed edge nodes is not operationally feasible at scale.</p>



<p class="wp-block-paragraph">Kubernetes is a strong candidate for edge orchestration for several reasons:</p>



<ul class="wp-block-list">
<li><strong>Infrastructure agnosticism:</strong> Kubernetes can schedule workloads across heterogeneous hardware — x86 servers, ARM devices, GPUs, and FPGAs — without requiring changes to the application layer.</li>
<li><strong>Unified operational model:</strong> A single control plane and API surface means the same policy definitions, RBAC rules, and deployment manifests can govern workloads across cloud, on-premises, and edge environments.</li>
<li><strong>Horizontal scalability:</strong> Kubernetes is designed to scale out, making it practical to manage a large fleet of edge nodes from a centralized control plane.</li>
<li><strong>High availability and self-healing:</strong> Kubernetes continuously monitors node and pod health, automatically rescheduling failed workloads. This is particularly important at the edge where physical access to nodes for manual intervention is difficult.</li>
<li><strong>Rapid application delivery:</strong> Container images can be pushed to edge nodes with the same CI/CD pipelines used for cloud services, enabling consistent and fast software updates across the fleet.</li>
</ul>



<p class="wp-block-paragraph">In a typical edge and IoT architecture, analytics and control plane services reside in the cloud. Data and instructions flow bidirectionally between cloud and edge. Kubernetes provides a common operational paradigm so that policies and rulesets can be applied uniformly across the entire infrastructure, or scoped narrowly to specific edge sites and nodes when needed.</p>



<h2 class="wp-block-heading">How Can Kubernetes Be Used in Edge Architecture?</h2>



<p class="wp-block-paragraph">In March 2019, a <strong>Kubernetes IoT Edge Working Group</strong> was formed, comprising engineers from Red Hat, VMware, Futurewei, Google, Edgeworx, and other organizations. The group was established to discuss, design, and document approaches for running Kubernetes in edge and IoT use cases.</p>



<p class="wp-block-paragraph">At their presentation during KubeCon Europe 2019, the working group outlined three primary architectural approaches for deploying Kubernetes at the edge. Each trade-off differs in where the control plane lives and how much resource overhead is imposed on the edge node itself.</p>



<p class="wp-block-paragraph">A standard Kubernetes cluster consists of:</p>



<ul class="wp-block-list">
<li><strong>Master (control plane):</strong> Exposes the API server, schedules workloads, and manages cluster state via etcd.</li>
<li><strong>Worker nodes:</strong> Run the container runtime (e.g., containerd or Docker), the <code>kubelet</code> agent that communicates with the master, and one or more <strong>pods</strong> — groups of tightly coupled containers.</li>
</ul>



<p class="wp-block-paragraph">The three approaches for edge scenarios build on this foundation in different ways.</p>



<h3 class="wp-block-heading">Approach 1: Whole Cluster at the Edge</h3>



<p class="wp-block-paragraph">In this model, a complete, self-contained Kubernetes cluster runs directly on the edge node or a small cluster of edge nodes. Both the control plane and workloads are co-located at the edge site, reducing dependency on a persistent cloud connection.</p>



<p class="wp-block-paragraph">The main challenge with this approach is resource overhead. Standard Kubernetes control plane components (API server, controller manager, scheduler, etcd) consume significant memory and CPU, which is scarce on edge hardware.</p>



<p class="wp-block-paragraph"><strong><a href="https://k3s.io" rel="noopener">K3s</a></strong> (by Rancher) is the reference implementation for this approach. K3s packages Kubernetes into a single binary under 100 MB, removes legacy and non-essential components, replaces etcd with SQLite by default, and reduces minimum memory requirements substantially. This makes it viable to run a production-grade Kubernetes cluster on resource-constrained edge nodes such as ARM-based single-board computers or small industrial servers.</p>



<h3 class="wp-block-heading">Approach 2: Cloud Control Plane with Edge Nodes (KubeEdge)</h3>



<p class="wp-block-paragraph">In this architecture, the Kubernetes control plane remains in the cloud (public or private), while lightweight edge agents manage containers and local resources on edge nodes. The edge nodes do not run a full control plane; instead, they run a thin agent that communicates with the cloud control plane and can operate autonomously during periods of network disconnection.</p>



<p class="wp-block-paragraph"><strong><a href="https://kubeedge.io" rel="noopener">KubeEdge</a></strong> is the reference implementation for this model. Originally based on Huawei&#8217;s Intelligent Edge Fabric (IEF) IoT platform, KubeEdge extends Kubernetes to the edge by adding:</p>



<ul class="wp-block-list">
<li>An <strong>EdgeCore</strong> agent running on edge nodes that manages local pods and device communication.</li>
<li>A <strong>CloudCore</strong> component running in the cloud that bridges the standard Kubernetes API with EdgeCore agents.</li>
<li>Offline autonomy — edge nodes can continue running workloads even when the cloud connection is interrupted.</li>
</ul>



<p class="wp-block-paragraph">This approach reduces the resource footprint on edge nodes significantly while enabling centralized visibility and policy management. It is well-suited for large-scale deployments with many diverse edge sites.</p>



<h3 class="wp-block-heading">Approach 3: Hierarchical Cloud Plus Edge Using Virtual Kubelet</h3>



<p class="wp-block-paragraph">In this model, a <strong>Virtual Kubelet</strong> running in the cloud presents edge nodes and their pods as an abstracted Kubernetes node to the control plane. The Virtual Kubelet intercepts scheduling decisions and delegates actual workload execution to edge infrastructure, without the edge nodes themselves being directly registered as standard Kubernetes nodes.</p>



<p class="wp-block-paragraph">This approach offers the greatest flexibility in how edge resources are represented and managed. It allows edge infrastructure from different vendors or using different runtimes to be plugged into a standard Kubernetes control plane through a common adapter interface. Virtual Kubelet was originally designed to connect Kubernetes to serverless container platforms (such as Azure Container Instances), but the same abstraction layer is applicable to edge scenarios.</p>



<p class="wp-block-paragraph">The trade-off is increased architectural complexity and a harder debugging experience when issues span the cloud-to-edge boundary.</p>



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



<p class="wp-block-paragraph">Despite its strengths, using Kubernetes for edge and IoT environments introduces real challenges that the community is actively working to address:</p>



<ul class="wp-block-list">
<li><strong>Intermittent connectivity:</strong> Edge nodes may lose contact with the cloud control plane. Workloads must continue running and state must reconcile cleanly when connectivity is restored.</li>
<li><strong>Fleet management at scale:</strong> Managing thousands of edge nodes — each potentially running different hardware configurations — requires sophisticated tooling for configuration drift detection, automated updates, and rollback.</li>
<li><strong>Security at the edge:</strong> Edge nodes are physically accessible in ways that cloud servers are not, increasing the attack surface. mTLS between components, node attestation, and secrets management at the edge require careful design.</li>
<li><strong>Observability:</strong> Aggregating metrics, logs, and traces from thousands of distributed edge nodes into a coherent monitoring system adds significant data pipeline complexity.</li>
<li><strong>Resource constraints:</strong> Standard Kubernetes tooling and add-ons (Prometheus, Istio, etc.) may be too resource-heavy for constrained edge hardware, requiring lighter-weight alternatives.</li>
</ul>



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



<p class="wp-block-paragraph">Kubernetes brings a proven, infrastructure-agnostic orchestration model to edge environments, enabling teams to manage distributed edge workloads with the same tools and practices used in the cloud. Three primary architectural approaches exist for deploying Kubernetes at the edge:</p>



<ol class="wp-block-list">
<li><strong>Whole cluster at the edge</strong> — full Kubernetes on lightweight distributions like K3s, suitable for semi-autonomous sites.</li>
<li><strong>Cloud control plane with edge agents</strong> — projects like KubeEdge keep the control plane centralized while running thin agents on edge nodes with offline autonomy.</li>
<li><strong>Virtual Kubelet abstraction</strong> — edge resources are presented to a cloud control plane through a virtual node interface, maximizing flexibility.</li>
</ol>



<p class="wp-block-paragraph">The right approach depends on the available hardware resources at the edge, acceptable latency for control-plane communication, offline operation requirements, and the scale of the deployment. As the Kubernetes ecosystem continues to mature its edge capabilities — through projects like KubeEdge, K3s, and working groups within the CNCF — the operational model for managing edge infrastructure is converging toward the same Kubernetes-native patterns already established in the cloud.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/powering-edge-with-kubernetes-a-primer/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Containers and Cybersecurity: What Security Teams Need to Know About Ansible, Kubernetes, and Container Deployments</title>
		<link>https://www.bestdevops.com/containers-and-cybersecurity-ansible-kubernetes-more-to-consider/</link>
					<comments>https://www.bestdevops.com/containers-and-cybersecurity-ansible-kubernetes-more-to-consider/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Sat, 15 Jun 2019 06:08:24 +0000</pubDate>
				<category><![CDATA[Ansible]]></category>
		<category><![CDATA[Consider]]></category>
		<category><![CDATA[Containers]]></category>
		<category><![CDATA[Cybersecurity]]></category>
		<category><![CDATA[Kubernetes]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=5418</guid>

					<description><![CDATA[Containers are reshaping enterprise security operations. Learn how container technology, Ansible, and Kubernetes intersect with cybersecurity — including the risks and opportunities security teams should understand.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>This article expands on concepts originally discussed on channelfutures.com regarding container technology and its cybersecurity implications.</em></p>



<h2 class="wp-block-heading">Why Containers Matter for Enterprise Security</h2>



<p class="wp-block-paragraph">Container adoption in enterprise computing has accelerated rapidly, and with it comes a set of security considerations that DevOps and security operations teams must address together. Whether your organization is already running containers in production or evaluating them, understanding how containers interact with your security posture is no longer optional.</p>



<p class="wp-block-paragraph">This article breaks down what containers are, how they affect security operations, and how tools like Ansible and Kubernetes fit into a security-conscious container strategy.</p>



<h2 class="wp-block-heading">What Is a Container, Really?</h2>



<p class="wp-block-paragraph">A modern application is rarely a single executable. It typically consists of application code, runtime dependencies, configuration files, and environment-specific settings. Traditionally, moving an application from a development server to a production server meant carefully replicating all of these components — a process prone to inconsistency and human error.</p>



<p class="wp-block-paragraph">A container solves this by bundling the application and all of its dependencies into a single, portable image. That image can be saved, versioned, and deployed consistently across many servers regardless of differences in the underlying operating system configuration. For operations teams, this means faster, more predictable deployments. For security teams, it means both new capabilities and new risks.</p>



<h2 class="wp-block-heading">The Security Implications of Containers</h2>



<h3 class="wp-block-heading">The Risks</h3>



<ul class="wp-block-list">
<li><strong>Vulnerability propagation:</strong> If a container image includes a vulnerable library or misconfigured component, every instance spun up from that image inherits the vulnerability. Speed of deployment — normally an advantage — amplifies the blast radius of a compromised image.</li>
<li><strong>Image trust:</strong> Teams that implicitly trust images pulled from registries without scanning them risk deploying unreviewed or outdated code. Image provenance and signing are critical controls.</li>
<li><strong>Shared kernel risks:</strong> Unlike virtual machines, containers share the host operating system kernel. A kernel-level vulnerability can, in certain configurations, affect all containers running on that host.</li>
<li><strong>Overprivileged containers:</strong> Containers run with elevated privileges by default in some configurations, increasing the impact of a container escape.</li>
</ul>



<h3 class="wp-block-heading">The Opportunities</h3>



<ul class="wp-block-list">
<li><strong>Immutable infrastructure:</strong> Because containers are built from images, a known-good configuration can be saved and redeployed automatically. If an application is compromised or a server goes down due to an attack, recovery is a matter of redeploying a verified image rather than manually rebuilding a server.</li>
<li><strong>Rapid incident response:</strong> Specific network and application configurations can be pre-tested, saved as container images, and automatically deployed as part of an incident response playbook.</li>
<li><strong>Isolation:</strong> Containers provide a degree of workload isolation. A misbehaving or compromised application can be stopped and replaced without affecting other workloads on the same host.</li>
<li><strong>Consistency between environments:</strong> Because the same image runs in development, staging, and production, security testing performed in development is more likely to reflect real production behavior.</li>
</ul>



<h2 class="wp-block-heading">Ansible and Container Security Automation</h2>



<p class="wp-block-paragraph">Ansible is an open-source IT automation tool that uses human-readable YAML playbooks to define configuration and orchestration tasks. It is agentless, meaning it does not require software to be installed on managed nodes — it connects over SSH or WinRM.</p>



<p class="wp-block-paragraph">In a container security context, Ansible is useful for:</p>



<ul class="wp-block-list">
<li><strong>Automating hardened host configuration:</strong> Before containers are deployed, Ansible playbooks can enforce CIS benchmark settings, disable unnecessary services, and configure kernel parameters on the host.</li>
<li><strong>Container image build pipelines:</strong> Ansible can be used within Dockerfiles or alongside them to ensure images are built from a known, reproducible state.</li>
<li><strong>Automated incident response:</strong> Playbooks can be triggered in response to alerts to isolate a container, revoke credentials, or redeploy a clean image — reducing mean time to recovery (MTTR).</li>
<li><strong>Network disruption response:</strong> As demonstrated at Interop 2019, Ansible can automate the response to a network disruption by detecting a failure and switching to a secondary link, all without human intervention.</li>
</ul>



<p class="wp-block-paragraph">The Interop 2019 Network Orchestration Hands-on Showcase used Ansible as part of a proof-of-concept deployment on Raspberry Pi hardware, demonstrating that container-based automation is accessible even to smaller organizations with modest infrastructure budgets.</p>



<h2 class="wp-block-heading">Kubernetes and Security at Scale</h2>



<p class="wp-block-paragraph">Kubernetes (K8s) is the dominant container orchestration platform for production workloads. It manages the scheduling, scaling, networking, and lifecycle of containers across a cluster of hosts. From a security perspective, Kubernetes introduces both additional controls and additional attack surface.</p>



<h3 class="wp-block-heading">Key Kubernetes Security Considerations</h3>



<ul class="wp-block-list">
<li><strong>Role-Based Access Control (RBAC):</strong> Kubernetes has a built-in RBAC system. Properly scoping service account permissions is essential — overly permissive roles are a common misconfiguration.</li>
<li><strong>Network Policies:</strong> By default, Kubernetes allows all pods to communicate with each other. Network Policies allow teams to define explicit allow rules, implementing a least-privilege network model inside the cluster.</li>
<li><strong>Pod Security:</strong> Kubernetes allows security contexts to be defined per pod, controlling whether containers can run as root, whether they can access the host network, and whether they can escalate privileges.</li>
<li><strong>Secret management:</strong> Kubernetes Secrets store sensitive data such as passwords and API keys. However, Secrets are base64-encoded, not encrypted by default at rest — additional configuration or external secret management tools (such as HashiCorp Vault) are recommended for sensitive environments.</li>
<li><strong>Audit logging:</strong> The Kubernetes API server can be configured to emit audit logs, giving security teams visibility into who did what and when inside the cluster.</li>
</ul>



<h2 class="wp-block-heading">Practical Starting Points for Security Teams</h2>



<p class="wp-block-paragraph">If your organization is beginning to adopt containers or is looking to harden an existing deployment, consider the following starting points:</p>



<ol class="wp-block-list">
<li><strong>Scan images before deployment.</strong> Use a container image scanning tool integrated into your CI/CD pipeline to catch known CVEs before images reach production.</li>
<li><strong>Use minimal base images.</strong> Smaller base images (such as Alpine Linux or distroless images) reduce the attack surface by including only what the application needs.</li>
<li><strong>Never run containers as root</strong> unless absolutely required and explicitly justified.</li>
<li><strong>Enforce image signing and verified registries.</strong> Only pull images from trusted, verified sources. Consider using image signing (such as Docker Content Trust or Cosign) to verify image integrity.</li>
<li><strong>Automate security responses with Ansible playbooks</strong> so that common incident scenarios have a documented, tested, and repeatable remediation path.</li>
<li><strong>Apply Kubernetes Network Policies</strong> to enforce micro-segmentation within your cluster.</li>
<li><strong>Treat your container infrastructure as code</strong> — version-control your Kubernetes manifests, Ansible playbooks, and Dockerfiles so that security reviews and audits are straightforward.</li>
</ol>



<h2 class="wp-block-heading">Containers Are Not Inherently Secure — But They Can Be</h2>



<p class="wp-block-paragraph">The perception that containers are too complex or too new for security-sensitive environments is understandable, but increasingly outdated. The tooling around container security has matured significantly. Ansible provides accessible automation for configuration and response. Kubernetes provides a rich set of security primitives for production workloads. And the container model itself — immutable, versioned, reproducible — aligns well with security engineering principles.</p>



<p class="wp-block-paragraph">The key is intentional adoption: building security controls into the container lifecycle from the start rather than bolting them on after deployment. Teams that do this well will find that containers improve, rather than undermine, their security posture.</p>



<p class="wp-block-paragraph"><em>The Interop 2019 demonstration team made their containers and support code available on GitHub for teams interested in replicating their network automation experiment. Refer to the original channelfutures.com coverage for direct links to those resources.</em></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/containers-and-cybersecurity-ansible-kubernetes-more-to-consider/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How to Successfully Use Containers: Benefits, Risks, and Best Practices</title>
		<link>https://www.bestdevops.com/how-to-successfully-use-containers/</link>
					<comments>https://www.bestdevops.com/how-to-successfully-use-containers/#respond</comments>
		
		<dc:creator><![CDATA[Roushan Kumar]]></dc:creator>
		<pubDate>Tue, 11 Jun 2019 06:30:08 +0000</pubDate>
				<category><![CDATA[Containerization]]></category>
		<category><![CDATA[Containers]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Docker]]></category>
		<category><![CDATA[Kubernetes]]></category>
		<category><![CDATA[successfully]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=5272</guid>

					<description><![CDATA[Containers promise consistent, repeatable deployments across hybrid and cloud environments — but they introduce their own risks. Here's what DevOps teams need to know to use them effectively.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">In traditional software development, code that works perfectly in a developer&#8217;s local environment can behave unexpectedly once deployed to staging or production. Environment differences — OS versions, library versions, configuration drift — cause bugs that are difficult to reproduce and expensive to fix. Containers address this problem directly by packaging an application together with everything it needs to run.</p>



<p class="wp-block-paragraph">Adoption of containerization technologies like Docker and Kubernetes has grown rapidly across the industry, and understanding both the benefits and the risks is essential for any DevOps team looking to move workloads into containers successfully.</p>



<h2 class="wp-block-heading">Why Use Containers?</h2>



<p class="wp-block-paragraph">Containers change the fundamental model of software delivery. A container image bundles application code, runtime, libraries, and configuration into a single, portable artifact. Developers build the image once, test it, validate it, and then deploy it — knowing that what runs in production is byte-for-byte identical to what was tested.</p>



<p class="wp-block-paragraph">This model provides several concrete advantages over traditional virtual machine (VM)-based deployments:</p>



<ul class="wp-block-list">
  <li><strong>Lower resource overhead:</strong> Containers share the host operating system kernel rather than running a full guest OS, so they consume significantly less CPU, memory, and storage than VMs. This allows more workloads to run on the same underlying hardware.</li>
  <li><strong>Portability:</strong> A container image runs the same way on a developer&#8217;s laptop, a CI server, and a cloud provider&#8217;s managed Kubernetes cluster — eliminating the &#8220;works on my machine&#8221; problem.</li>
  <li><strong>Consistent delivery pipeline:</strong> The same container image can be used at every stage of the pipeline — build, test, staging, and production — removing environment-specific surprises.</li>
  <li><strong>Faster deployments and scaling:</strong> Containers start in seconds, not minutes, and container orchestrators like Kubernetes can spin up or tear down replicas automatically in response to load.</li>
  <li><strong>Support for modernization:</strong> Teams can incrementally containerize legacy monolithic applications while simultaneously building new cloud-native microservices alongside them.</li>
</ul>



<p class="wp-block-paragraph">These qualities make containers especially valuable in hybrid and multi-cloud environments, where workloads need to move across different infrastructure providers without requiring application changes.</p>



<h2 class="wp-block-heading">Containers Add Value — But Also Introduce Risk</h2>



<p class="wp-block-paragraph">It is important to be clear about what containers do <em>not</em> solve. They eliminate environment-drift problems, but they do not make software immune to bugs, outages, or security vulnerabilities.</p>



<h3 class="wp-block-heading">Security Vulnerabilities in Base Images</h3>



<p class="wp-block-paragraph">Container images are built on top of base images — typically minimal Linux distributions — and those base images frequently contain unpatched vulnerabilities. Security research from Snyk has found that widely used public Docker images commonly carry dozens of known vulnerabilities, particularly when they have not been recently updated. Any container built on an outdated base image inherits all of those vulnerabilities.</p>



<p class="wp-block-paragraph">Practical mitigations include:</p>



<ul class="wp-block-list">
  <li>Regularly scanning images with tools such as Trivy, Snyk Container, or AWS ECR image scanning before pushing to a registry.</li>
  <li>Rebuilding and republishing images whenever base image updates are available.</li>
  <li>Using minimal base images (e.g., Alpine or distroless images) to reduce the attack surface.</li>
  <li>Enforcing image provenance policies so that only images from trusted, scanned registries can be deployed.</li>
</ul>



<h3 class="wp-block-heading">The Uniformity Risk</h3>



<p class="wp-block-paragraph">Containers solve the mixed-environment problem by ensuring identical software runs everywhere. This is both their greatest strength and a significant risk amplifier. If a vulnerability or misconfiguration is baked into an image, every replica instantiated from that image is equally vulnerable. An exploit that works against one container works against all of them simultaneously.</p>



<p class="wp-block-paragraph">This makes rigorous image validation before deployment — not after — essential. Vulnerability scanning, image signing, and admission controllers in Kubernetes (such as OPA/Gatekeeper or Kyverno) can help enforce policy gates that prevent vulnerable images from reaching production.</p>



<h3 class="wp-block-heading">The Cost of Downtime</h3>



<p class="wp-block-paragraph">Application outages carry real economic impact regardless of whether the underlying infrastructure uses containers or VMs. Organizations should not assume that containerization alone reduces their operational risk; it shifts the risk profile rather than eliminating it. Proper testing, observability, and incident response processes remain essential.</p>



<h2 class="wp-block-heading">A Better Approach to Testing Containerized Applications</h2>



<p class="wp-block-paragraph">Moving to containers requires a corresponding evolution in how QA and testing are done. Simply lifting an existing testing approach and applying it to containerized apps is insufficient.</p>



<ul class="wp-block-list">
  <li><strong>Test under production-like conditions:</strong> Containers can behave differently depending on CPU limits, memory constraints, network policies, and storage configurations. QA environments should mirror production resource settings as closely as possible.</li>
  <li><strong>Integrate security scanning into CI/CD:</strong> Vulnerability scanning should happen automatically at image build time, not as a one-off manual check. Block pipeline progression if critical vulnerabilities are detected.</li>
  <li><strong>Test network behavior:</strong> Microservices running in containers communicate over the network. Test for latency, timeouts, partial failures, and retry logic — not just happy-path flows.</li>
  <li><strong>Use chaos engineering:</strong> Tools like Chaos Monkey or Litmus can deliberately introduce failures (container crashes, network partitions) to verify that the system degrades gracefully and recovers correctly.</li>
  <li><strong>Validate container orchestration configuration:</strong> Kubernetes manifests, Helm charts, resource quotas, and network policies are all part of the deployable artifact. Lint and test them as part of the pipeline.</li>
</ul>



<h2 class="wp-block-heading">Key Practices for Successfully Running Containers in Production</h2>



<p class="wp-block-paragraph">Beyond testing, several operational practices distinguish teams that run containers reliably in production from those that struggle:</p>



<ul class="wp-block-list">
  <li><strong>Run containers as non-root:</strong> Avoid running processes inside containers as the root user. Use a dedicated, low-privilege user in your Dockerfile.</li>
  <li><strong>Set resource limits:</strong> Always define CPU and memory requests and limits in Kubernetes pod specs to prevent a single noisy container from starving others on the same node.</li>
  <li><strong>Use health checks:</strong> Define liveness and readiness probes so that the orchestrator knows when to restart a failed container or stop routing traffic to one that is not yet ready.</li>
  <li><strong>Store configuration externally:</strong> Use environment variables, ConfigMaps, or secrets management tools (such as HashiCorp Vault or Kubernetes Secrets) rather than baking configuration into images.</li>
  <li><strong>Implement centralized logging and monitoring:</strong> Container logs are ephemeral. Ship them to a centralized system (e.g., ELK stack, Datadog, or CloudWatch) and instrument applications with metrics and distributed tracing.</li>
  <li><strong>Maintain an image registry hygiene policy:</strong> Delete old, unused image tags regularly. Old images are security liabilities and inflate storage costs.</li>
</ul>



<h2 class="wp-block-heading">Containers Are Powerful — But Not a Silver Bullet</h2>



<p class="wp-block-paragraph">Containers genuinely improve developer productivity, deployment consistency, and infrastructure efficiency. They are one of the most impactful operational shifts a software team can make. However, they introduce their own failure modes and security considerations that teams must plan for explicitly.</p>



<p class="wp-block-paragraph">The teams that get the most value from containers are those that treat image security, testing fidelity, and orchestration configuration with the same rigor they apply to application code. Containers used thoughtfully — with proper scanning, testing, resource management, and observability — enable faster, safer software delivery. Containers used carelessly can propagate vulnerabilities and misconfigurations at scale.</p>



<p class="wp-block-paragraph">Invest the time to understand the risks, build the right tooling into your pipeline, and containers will become one of the most reliable parts of your infrastructure.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/how-to-successfully-use-containers/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How to Improve DevOps Value with Containers and Microservices</title>
		<link>https://www.bestdevops.com/how-to-improve-devops-value-with-containers-and-microservices/</link>
					<comments>https://www.bestdevops.com/how-to-improve-devops-value-with-containers-and-microservices/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Fri, 24 May 2019 06:24:51 +0000</pubDate>
				<category><![CDATA[Microservices]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Containers]]></category>
		<category><![CDATA[Deployment Automation]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Software]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=5140</guid>

					<description><![CDATA[Containers and microservices are natural allies for DevOps teams. Learn how combining these technologies drives agility, consistency, and continuous delivery across your software pipeline.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">DevOps is not simply a collection of tools or systems—it is a methodology that demands stakeholder buy-in, cultural alignment, and sound system design. At its core, DevOps relies on collaboration between development and operations teams, guided by shared best practices, to accelerate and stabilize software delivery.</p>



<p class="wp-block-paragraph">The better the underlying system design, the more value a DevOps implementation can generate. Legacy monolithic architectures impose constraints that slow delivery cycles and inhibit the agility DevOps requires. Microservices and containers, deployed in cloud-native environments, remove many of those constraints and create the flexible foundation DevOps needs to thrive.</p>



<h2 class="wp-block-heading">What Are Microservices and Why Do They Matter for DevOps?</h2>



<p class="wp-block-paragraph">Microservices architecture decomposes large, monolithic applications into small, independently deployable services, each responsible for a discrete business capability. Unlike traditional applications where a change to one component can ripple unpredictably through the entire codebase, each microservice owns its data and logic. Services communicate through well-defined APIs, and when a service needs to change, it is replaced rather than patched in place—keeping the API contract stable while the implementation evolves.</p>



<p class="wp-block-paragraph">This design philosophy delivers several concrete advantages for DevOps teams:</p>



<ul class="wp-block-list">
<li><strong>Independent scalability:</strong> Individual services can be scaled up or down based on demand without touching unrelated parts of the system.</li>
<li><strong>Faster release cycles:</strong> Teams can ship changes to a single service on its own timeline, decoupled from every other service.</li>
<li><strong>Reusability:</strong> A well-designed microservice can be consumed by multiple applications or business units, reducing duplicated effort.</li>
<li><strong>Parallel development:</strong> Separate teams can work on separate services simultaneously, reducing bottlenecks and handoff delays.</li>
</ul>



<p class="wp-block-paragraph">When DevOps practices are layered on top of a microservices architecture, development and operations teams can work in parallel—each team owning its service end-to-end, from code to production—without waiting for a centralized release train.</p>



<h2 class="wp-block-heading">What Are Containers and How Do They Enable DevOps?</h2>



<p class="wp-block-paragraph">Containers package an application and all of its dependencies—libraries, configuration, runtime—into a single, self-contained unit. Because that unit runs identically regardless of the host environment, containers eliminate the classic &#8220;works on my machine&#8221; problem that has historically created friction between development and operations.</p>



<p class="wp-block-paragraph">Containers are the natural host for microservices. Each microservice runs in its own container, isolated from others yet able to communicate over defined network interfaces. This arrangement gives teams the portability to move a service from a developer&#8217;s laptop to a test cluster to a production cloud environment with minimal friction.</p>



<p class="wp-block-paragraph">Containerizing microservices directly enables two core DevOps drivers:</p>



<ul class="wp-block-list">
<li><strong>Agility:</strong> Teams can build, test, and ship individual containers quickly without coordinating a full-system deployment.</li>
<li><strong>Collaboration:</strong> Developers and operations engineers share the same container image, so there is no ambiguity about what is being deployed or how it is configured.</li>
</ul>



<h2 class="wp-block-heading">Consistency Across Development, Test, and Production</h2>



<p class="wp-block-paragraph">One of the most persistent sources of delivery risk is environment drift—subtle differences between the machine where code was written, the server where it was tested, and the infrastructure where it runs in production. Containers largely eliminate this problem. The same image that a developer runs locally is promoted through each stage of the pipeline unchanged, so environment-specific failures surface earlier and are easier to reproduce and fix.</p>



<p class="wp-block-paragraph">Consistent environments also simplify collaboration. When every team member pulls the same container image, there is a single source of truth. Nobody is debugging issues caused by a missing library or a mismatched runtime version on someone else&#8217;s workstation.</p>



<p class="wp-block-paragraph">This consistency is particularly valuable for continuous delivery. Because containerized microservices are loosely coupled, a single service can be updated and redeployed without restarting the rest of the application. If a container becomes unhealthy, an orchestration platform such as Kubernetes can restart it in isolation, preventing a cascading failure across the entire system and keeping overall availability high.</p>



<h2 class="wp-block-heading">Platform and Language Agnosticism</h2>



<p class="wp-block-paragraph">Containers are largely agnostic to the programming language or framework used inside them. A team can write one microservice in Go, another in Python, and a third in Java—each in a separate container—and the orchestration layer treats them uniformly. This polyglot capability lets teams choose the best tool for each job rather than being constrained to a single technology stack decided years earlier.</p>



<p class="wp-block-paragraph">Containers also move across environments—on-premises servers, public cloud providers, hybrid setups—with minimal changes to the deployment pipeline. Note that some Windows-specific workloads require Windows container hosts and are not directly portable to Linux environments; this is an edge case worth accounting for in architecture planning.</p>



<h2 class="wp-block-heading">Driving DevOps Value: Key Practices Enabled by Containerized Microservices</h2>



<h3 class="wp-block-heading">Continuous Quality Assurance</h3>



<p class="wp-block-paragraph">Delivering software in smaller increments through containers and microservices makes thorough, automated testing more practical. Each service has a well-defined boundary, so unit tests, integration tests, and contract tests can be scoped precisely. Automated test suites run against every pull request and every container build, catching regressions early when they are cheapest to fix. This encourages a culture where testing is continuous rather than a gate at the end of a long release cycle.</p>



<h3 class="wp-block-heading">Deployment Automation</h3>



<p class="wp-block-paragraph">Manual promotion of software from staging to production is error-prone, especially when multiple services are involved. Automated deployment pipelines—triggered by a passing test suite and a container image push to a registry—reduce human error and shorten the time between a code change and its availability to users.</p>



<p class="wp-block-paragraph">Common patterns that improve deployment reliability include:</p>



<ul class="wp-block-list">
<li><strong>Blue/green deployments:</strong> Running two identical production environments and switching traffic between them, enabling instant rollback if an issue is detected.</li>
<li><strong>Canary releases:</strong> Routing a small percentage of traffic to a new container version before full rollout, limiting the blast radius of any defect.</li>
<li><strong>Rolling updates:</strong> Gradually replacing old container instances with new ones so the application remains available throughout the update.</li>
</ul>



<h3 class="wp-block-heading">Performance Testing Before Production</h3>



<p class="wp-block-paragraph">User experience is a measurable business outcome, and performance regressions—slower response times, increased error rates—can erode it quickly. Because containerized microservices environments can be reproduced faithfully at smaller scale, performance and load tests can be integrated into the CI/CD pipeline. Teams can evaluate the impact of a change on throughput and latency before it reaches production users, and schedule deployments for periods when the cost of a brief slowdown is lowest.</p>



<h2 class="wp-block-heading">The Synergy Between DevOps and Containerized Microservices</h2>



<p class="wp-block-paragraph">DevOps and containerized microservices are mutually reinforcing. DevOps practices—continuous integration, continuous delivery, infrastructure as code, shared ownership—provide the cultural and procedural framework. Containers and microservices provide the technical architecture that makes those practices operationally feasible at scale.</p>



<p class="wp-block-paragraph">Together, they enable organizations to move from large, infrequent, high-risk releases to small, frequent, low-risk deployments. Feedback loops shorten, incident response improves, and teams spend less time coordinating deployments and more time building features.</p>



<p class="wp-block-paragraph">Realizing that value requires investment: in tooling (container registries, orchestration platforms, observability stacks), in process (CI/CD pipelines, runbook automation), and in culture (cross-functional team ownership, blameless postmortems). Organizations that treat containers and microservices as a drop-in replacement for existing processes without addressing the cultural and process dimensions typically see limited returns. Those that align all three dimensions consistently report faster delivery, higher availability, and better developer experience.</p>



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



<ul class="wp-block-list">
<li><strong>Microservices</strong> break monolithic applications into independently deployable units, enabling parallel development and granular scaling.</li>
<li><strong>Containers</strong> package each microservice with its dependencies, ensuring consistent behaviour across every environment in the delivery chain.</li>
<li><strong>Environment consistency</strong> reduces integration surprises, speeds debugging, and enables genuine continuous delivery.</li>
<li><strong>Platform agnosticism</strong> lets teams choose the right language and framework per service without sacrificing deployment uniformity.</li>
<li><strong>Automated quality gates</strong>—testing, deployment, and performance validation—are far more practical when each service is a discrete, independently deployable container.</li>
<li>The combination of DevOps culture and containerized microservices architecture produces faster release cycles, better reliability, and a stronger return on DevOps investment.</li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/how-to-improve-devops-value-with-containers-and-microservices/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>DevOps at Trainline has been a &#8216;great adventure&#8217;</title>
		<link>https://www.bestdevops.com/devops-at-trainline-has-been-a-great-adventure/</link>
					<comments>https://www.bestdevops.com/devops-at-trainline-has-been-a-great-adventure/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Wed, 06 Mar 2019 06:24:52 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Cloud and Infrastructure]]></category>
		<category><![CDATA[Containers]]></category>
		<category><![CDATA[Microservices]]></category>
		<category><![CDATA[Trainline]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=4953</guid>

					<description><![CDATA[Source- computing.co.uk In 2015, Trainline adopted DevOps in a bid to speed delivery. It started by virtualising services and containerising them, [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Source- <a href="https://www.computing.co.uk/ctg/news/3072053/devops-at-trainline-has-been-a-great-adventure" target="_blank" rel="noopener">computing.co.uk</a></p>
<p>In 2015, Trainline adopted DevOps in a bid to speed delivery. It started by virtualising services and containerising them, and the new platforms demanded a new way of working.</p>
<p>Sana Essid is a platform operations engineer at Trainline. With the infrastructure hosted on AWS, this mostly entails monitoring the cloud services, building new containerised microservices and helping to standardise the architecture.</p>
<p>An operations engineer for 15 years at a number of different organisations, she has seen some big changes in the role as in-house servers have been replaced by cloud services.</p>
<p>&#8220;Fifteen years ago it was very quiet, everything was very stable and the traditional operations job was just to keep an eye and chill out,&#8221; she told <em>Computing</em>. &#8220;Now with AWS services you have to play around with things and they&#8217;re much more prone to being rebuilt or restarted or destroyed. It keeps you much busier, and that&#8217;s what I like. I like being busy.&#8221;</p>
<p>With the advent of cloud and DevOps, the job now needs a different type of person. Those looking for a quiet life need not apply.</p>
<p>&#8220;There&#8217;s definitely a learning curve. You to move from one tech to another way quicker, but it&#8217;s easier if you have a background in infrastructure.&#8221;</p>
<p><strong>Staying on the tracks</strong></p>
<p>Trainline operates in 45 countries and has more than 80 million visits per month from people using its website and app to buy tickets and check timetables. Its workforce is spread out over of lots of separate teams, some more Agile than the others. Sana sees it as her responsibility to ensure that best practice flows from one team to another through what she calls a &#8220;trickle-down process&#8221;. There is a constant tension between experimentation and stability she says.</p>
<p>&#8220;DevOps can get adopted quite quickly depending on how much leeway you give to people. But the more leeway you give the less control you may have. There will come a point where you will be going sideways and you say ‘how can we standardise and make sure things are under control&#8217;?&#8221;</p>
<p>As an e-commerce firm doing business across national boundaries, regulations are an obvious limiting factor when it comes to developer experimentation, and compliance is uppermost in the operations team&#8217;s mind. Far from being the &#8220;Department of No&#8221;, however, Sana sees her team as a facilitator rather than an enforcer of best practice.</p>
<p>&#8220;Each time a new service is created it has to go through us to make it live, and this is where we as platform ops make sure everything is working to the right standard,&#8221; she said. &#8220;All the DevOps teams and operations work together to design standards, and then we say ‘this is the Training way to do things&#8217;.&#8221;</p>
<p><strong>New platforms, new tools</strong></p>
<p>Another part of the job is investigating new tools. With the move to containers, her team is evaluating orchestration software and it&#8217;s currently a toss-up between Kubernetes and ECS. Monitoring tools need to be container-friendly too, and picking the right one is important.</p>
<p>&#8220;There&#8217;s New Relic, Sensu, Kibana, Elk &#8211; all these tools. Which one is best, particularly for our future needs?&#8221;</p>
<p>And while it&#8217;s currently wedded to AWS, alternative platforms are being trialled in the background at Trainline, including Azure and GCP.</p>
<p>&#8220;At my previous employer the <em>Telegraph</em> we found you can take advantage of the strengths of different cloud providers. For example, Google will be very good for big data, but with AWS the range of services is way more extensive,&#8221; Sana said. &#8220;Also, in terms of cost, there are areas where each cloud provider will be cheaper, so that&#8217;s another thing to consider.&#8221;</p>
<p>Sana sees this watching brief as an essential part of keeping Trainline at the cutting edge. The DevOps and Agile ways of working have been wholly beneficial, she believes.</p>
<p>&#8220;Everything is now standardised and obviously it has to be. But that means you don&#8217;t have your development team going to left and right. I see that as a great success. Also how DevOps has been mastered here at Trainline, the rate at which development happens, being able to bring new features for our customers so quickly &#8211; that&#8217;s one of the big wins.</p>
<p>&#8220;it&#8217;s been a great adventure to go down the DevOps methodology and the Agile way of working. When I look at my 15 years&#8217; experience and see where we were and where we are now it&#8217;s amazing. What will the future give us? Maybe with artificial intelligence and all these new technologies coming along, we might not need technicians any more &#8211; who knows!&#8221;</p>
<p>&nbsp;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/devops-at-trainline-has-been-a-great-adventure/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How Jenkins X Modernises CI/CD for Kubernetes and the Cloud</title>
		<link>https://www.bestdevops.com/how-jenkins-x-updates-this-ci-cd-tool-for-the-cloud-kubernetes/</link>
					<comments>https://www.bestdevops.com/how-jenkins-x-updates-this-ci-cd-tool-for-the-cloud-kubernetes/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Sat, 23 Feb 2019 05:42:21 +0000</pubDate>
				<category><![CDATA[Continuous Delivery]]></category>
		<category><![CDATA[(CI/CD)]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Containers]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Jenkins]]></category>
		<category><![CDATA[Kubernetes]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=4930</guid>

					<description><![CDATA[Jenkins was built for a pre-container world. Jenkins X reimagines the same automation server for cloud-native, Kubernetes-based workflows — without requiring Kubernetes expertise from every developer on the team.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Jenkins was one of the first essential technologies of the DevOps revolution. Over the years, development and operations teams built an enormous ecosystem of plugins, build packs, and custom scripts around it. But Jenkins was designed before containers became the dominant deployment unit, and that origin shows whenever teams try to use it in a Docker- or Kubernetes-based environment. Jenkins X was created specifically to close that gap.</p>



<h2 class="wp-block-heading">The Problem with Jenkins and Containers</h2>



<p class="wp-block-paragraph">Jenkins automates continuous integration well, but continuous delivery in Jenkins is largely assembled by hand: custom scripts, manual configuration, and siloed release operations stitched together in a Jenkinsfile. Getting Jenkins to properly orchestrate resources and processes in a cloud environment with containers requires finding the right combination of plugins, configuration values, and code — and making them all work together reliably.</p>



<p class="wp-block-paragraph">Teams working with containers frequently lose significant time on tasks that should be automatic: packaging software as Docker images, authoring Kubernetes YAML manifests, and wiring those artefacts into a pipeline. Kubernetes does support continuous delivery automation, but bridging a traditional Jenkins pipeline to a container-based cloud environment demands deep expertise in <em>both</em> Jenkins and Kubernetes simultaneously.</p>



<p class="wp-block-paragraph">This expertise bottleneck creates friction. Jenkins power users become gatekeepers, slowing down developers who simply want to spin up a new project and ship code. The result is pressure for even more automation — automation that standard Jenkins, in a cloud-native context, struggles to provide out of the box.</p>



<h2 class="wp-block-heading">How Jenkins X Changes Things</h2>



<p class="wp-block-paragraph">Jenkins X is a purpose-built CI/CD platform designed to ship applications continuously on Kubernetes. Its central goal is to automate the entire CI/CD process for cloud-native workloads, and it does so without requiring every developer on the team to be a Kubernetes expert.</p>



<p class="wp-block-paragraph">Under the hood, Jenkins X combines Jenkins itself with a curated set of open source tools, including:</p>



<ul class="wp-block-list">
<li><strong>Helm</strong> — Kubernetes package manager for defining, installing, and upgrading applications</li>
<li><strong>Skaffold</strong> — handles building and pushing Docker images as part of the pipeline</li>
<li><strong>Monocular</strong> — a UI for browsing and installing Helm charts</li>
<li><strong>ChartMuseum</strong> — a Helm chart repository server</li>
<li><strong>Nexus</strong> — artifact repository management</li>
<li><strong>KSync</strong> — file synchronisation between local environments and Kubernetes pods</li>
<li><strong>Docker</strong> — container image building and distribution</li>
</ul>



<p class="wp-block-paragraph">Critically, Jenkins X automates the <em>installation, configuration, and ongoing upgrades</em> of all these tools, and wires them into a coherent CI/CD workflow. Teams no longer have to assemble and maintain that stack themselves.</p>



<h3 class="wp-block-heading">Pull Request Previews and Early Feedback</h3>



<p class="wp-block-paragraph">One of the more developer-friendly features of Jenkins X is automatic preview environments. For every pull request, Jenkins X can spin up a short-lived preview deployment so that the proposed change can be reviewed in a live environment before it merges to staging or production. This brings reliability and security checks earlier in the development cycle, and it eliminates many of the last-minute surprises that surface only after deployment. The net effect is that teams can release quality software more frequently and more predictably.</p>



<h2 class="wp-block-heading">Not Just for Kubernetes Experts</h2>



<p class="wp-block-paragraph">Jenkins X serves two distinct audiences. The first is experienced Jenkins users who are already working with Kubernetes and want a tighter, more automated integration between the two. The second — and arguably more important — audience is developers who have little or no Kubernetes knowledge and simply need a straightforward CI/CD path to the cloud.</p>



<p class="wp-block-paragraph">Jenkins X provides opinionated bootstrapping for major cloud providers, which is particularly valuable for organisations running hybrid cloud environments where supporting multiple targets is a hard requirement. It sets sensible defaults so that a developer can get a functioning pipeline without hand-crafting Kubernetes manifests or understanding cluster internals.</p>



<p class="wp-block-paragraph">At the same time, Jenkins X is not a black box. The generated Dockerfiles, Helm charts, and pipeline definitions are fully visible and editable. Teams that need fine-grained control can modify any of these artefacts directly. It is also possible to use Jenkins X to build and manage workloads that run <em>outside</em> a Kubernetes cluster, making it more flexible than a purely Kubernetes-centric tool.</p>



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



<ul class="wp-block-list">
<li>Classic Jenkins was not designed for containerised, cloud-native environments, and adapting it to Kubernetes requires significant manual effort.</li>
<li>Jenkins X wraps Jenkins with a curated, auto-configured toolchain (Helm, Skaffold, Docker, and others) to deliver an opinionated but flexible cloud-native CI/CD platform.</li>
<li>Automatic pull request preview environments push quality and security feedback earlier in the development cycle.</li>
<li>Jenkins X lowers the barrier to cloud adoption for teams without deep Kubernetes expertise, while still exposing full configuration control for those who need it.</li>
<li>Hybrid and multi-cloud deployments are supported through its bootstrapping and chart-based deployment model.</li>
</ul>



<p class="wp-block-paragraph"><em>Original source article: <a href="https://searchmicroservices.techtarget.com/tip/How-Jenkins-X-updates-this-CI-CD-tool-for-the-cloud-Kubernetes" target="_blank" rel="noopener">searchmicroservices.techtarget.com</a></em></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/how-jenkins-x-updates-this-ci-cd-tool-for-the-cloud-kubernetes/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>DevOps Predictions for 2019: Consolidation, Kubernetes, and DevSecOps</title>
		<link>https://www.bestdevops.com/devops-predictions-for-2019/</link>
					<comments>https://www.bestdevops.com/devops-predictions-for-2019/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Fri, 28 Dec 2018 05:10:22 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Containers]]></category>
		<category><![CDATA[DevSecOps]]></category>
		<category><![CDATA[Digital Transformation]]></category>
		<category><![CDATA[Microservices]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=4804</guid>

					<description><![CDATA[Industry leaders share their 2019 DevOps predictions, covering cloud-native consolidation, microservices maturity, Kubernetes complexity, and the rise of DevSecOps.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>This article is based on industry perspectives originally published in late 2018. Quotes and predictions are attributed to named practitioners from that period. The original source article appeared on <a href="https://www.computerworlduk.com/devops/how-puppet-insights-will-tell-you-where-you-are-on-your-devops-journey-3684977/" target="_blank" rel="noopener">computerworlduk.com</a>.</em></p>



<p class="wp-block-paragraph">By the close of 2018, DevOps had moved well beyond a niche engineering philosophy. With continuous delivery pipelines, infrastructure-as-code, and cross-functional teams becoming standard in forward-looking organisations, the question heading into 2019 was less &#8220;should we adopt DevOps?&#8221; and more &#8220;how do we scale it, secure it, and sustain it?&#8221;</p>



<p class="wp-block-paragraph">Here is what prominent practitioners and executives were predicting for the year ahead, covering cloud-native consolidation, tooling maturity, containers and Kubernetes, and the growing importance of DevSecOps.</p>



<h2 class="wp-block-heading">Cloud-Native Consolidation</h2>



<p class="wp-block-paragraph">Major acquisitions in the open-source ecosystem — IBM acquiring Red Hat, VMware acquiring Heptio, and Microsoft acquiring GitHub — signalled a broader consolidation trend in the cloud-native market. Abby Kearns, then Executive Director of the Cloud Foundry Foundation, described the landscape as &#8220;big, fragmented and frothy&#8221; but expected it to mature rapidly.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;As the market and the technology mature, we&#8217;ll see alignment around a key technology. The leaders in the ecosystem will prevail, either through significant exits or acquisitions by incumbent technology companies. The rest of the market solidifies around the prevailing solutions, and it moves at scale.&#8221;</p><cite>Abby Kearns, Executive Director, Cloud Foundry Foundation</cite></blockquote>



<p class="wp-block-paragraph">Nigel Kersten, VP of Ecosystem Engineering at Puppet, pointed to Microsoft&#8217;s GitHub acquisition as particularly significant, predicting it would help Microsoft build lasting credibility in open source — and that its long-term results would &#8220;stand in stark contrast to the IBM/Red Hat one in terms of results and longevity&#8221;.</p>



<h2 class="wp-block-heading">Death to DevOps, Long Live DevOps?</h2>



<p class="wp-block-paragraph">One of the more provocative predictions for 2019 was that &#8220;DevOps is dead&#8221; narratives would gain traction in the press — not because the practices were disappearing, but because they were becoming so normalised as to no longer be remarkable.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;The real remaining work will continue to be enterprises working out how to scale devops from small teams to huge organisations, and many pundits will misread the situation and declare that devops is dead in 2019.&#8221;</p><cite>Nigel Kersten, VP of Ecosystem Engineering, Puppet</cite></blockquote>



<p class="wp-block-paragraph">Mark Madden, Digital Transformation Director of Emerging Technologies at CGI UK, expected 2019 to bring a broader wave of enterprise adoption, particularly in traditionally conservative industries:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;In 2019, people&#8217;s reaction to the devops approach will continue to change at pace, moving from curiosity through to acceptance. Already, a few leading organisations across the utilities, public sector, and financial services industries who were at the vanguard of devops adoption have spoken of the cost savings and increased productivity through the automation derived from devops.&#8221;</p><cite>Mark Madden, CGI UK</cite></blockquote>



<p class="wp-block-paragraph">The implication was clear: DevOps was not dying — it was graduating from an avant-garde movement to standard operational practice. The challenge for 2019 and beyond would be scaling DevOps culture across large, complex organisations, not just small agile teams.</p>



<h2 class="wp-block-heading">Tooling: Microservices Disillusionment and Emerging Technologies</h2>



<p class="wp-block-paragraph">Edson Yanaga, Director of Developer Experience at Red Hat, predicted that microservices would be &#8220;entering the trough of disillusionment&#8221; — borrowing Gartner&#8217;s Hype Cycle terminology — as more organisations began sharing stories of failed or over-engineered microservices implementations.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;We&#8217;ll realise that microservices is not a silver bullet — nothing is — but it&#8217;s very useful in some particular situations.&#8221;</p><cite>Edson Yanaga, Red Hat</cite></blockquote>



<p class="wp-block-paragraph">Yanaga also predicted a shift in architectural preferences:</p>



<ul class="wp-block-list">
<li><strong>Message-driven architectures</strong> would be recognised as a better fit for most enterprise use cases than HTTP/REST APIs.</li>
<li><strong>Apache Kafka</strong> would continue to grow in adoption as an event-streaming backbone.</li>
<li><strong>Istio</strong>, the service mesh co-launched by Google and IBM, would gain traction — though managing its configuration on distributed architectures would remain a challenge, likely handled through separate deployment pipelines and Git repositories.</li>
</ul>



<p class="wp-block-paragraph">Kunal Agarwal, CEO of Unravel Data, agreed on Kafka&#8217;s continued rise alongside Apache Spark, and added that <strong>TensorFlow</strong> and <strong>H2O</strong> were positioned to be breakout technologies for DevOps teams working with data and machine learning pipelines in 2019.</p>



<h2 class="wp-block-heading">Containers and Kubernetes: Promise vs. Complexity</h2>



<p class="wp-block-paragraph">Containers were already a dominant theme in DevOps tooling by 2018, but predictions for 2019 focused on closing the gap between the promise of containers and the practical difficulty of working with them day-to-day.</p>



<p class="wp-block-paragraph">The Cloud Native Computing Foundation (CNCF) had acknowledged that Kubernetes presented a significant complexity barrier for developers, and that community-led efforts to simplify the container orchestration system would be necessary. Docker&#8217;s enterprise pitch centred on abstracting that complexity behind a friendlier interface.</p>



<p class="wp-block-paragraph">Yanaga expected incremental but meaningful improvements to the container developer experience in 2019:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;Areas like debugging, packaging, code editors and others are still years behind the non-container ones. We won&#8217;t reach maturity in the next year, but I expect things to improve around the container development experience.&#8221;</p><cite>Edson Yanaga, Red Hat</cite></blockquote>



<p class="wp-block-paragraph">He also noted that 2018 had seen a proliferation of Kubernetes-based Function-as-a-Service (FaaS) platforms, and predicted that 2019 would bring standardisation efforts around the FaaS programming model on top of Kubernetes — potentially driven by the CNCF or the Eclipse Foundation — leading to longer-term platform consolidation.</p>



<p class="wp-block-paragraph">Chris Griggs, VP and GM for EMEA at SkyTap, framed containers as a cultural challenge as much as a technical one:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;There will be a widespread acknowledgement that you cannot master containers without first fully embracing the cultural shift toward shared responsibility for delivering great software. As such, many more IT teams will actively encourage developers to take more responsibility for their code working in the real world, and operations to take part in this evolution by treating their infrastructure as code.&#8221;</p><cite>Chris Griggs, SkyTap</cite></blockquote>



<h2 class="wp-block-heading">DevSecOps: Embedding Security Into the Pipeline</h2>



<p class="wp-block-paragraph">Security remained one of the most pressing concerns for DevOps teams heading into 2019. As developer and operations roles merged, the expectation was that security practices would need to be baked into the team&#8217;s culture and toolchain — not bolted on at the end of the release cycle.</p>



<p class="wp-block-paragraph">Gary McGraw, VP of Security Technology at Synopsys, highlighted a critical gap: while automated tools for code-level security analysis and application-level penetration testing had matured over many years, the same could not be said for <strong>architectural risk analysis</strong> and <strong>threat modelling</strong>.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;The lack of automation for architectural risk analysis will mean that in many cases it is conveniently left out — oops, we&#8217;ll just sweep that under the rug. This is becoming a more tangible problem as devops adoption progresses.&#8221;</p><cite>Gary McGraw, Synopsys</cite></blockquote>



<p class="wp-block-paragraph">CGI&#8217;s Mark Madden called for greater collaboration between security and DevOps practitioners, and made the case for DevSecOps as an operational standard:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;With devsecops embedded correctly, this can help speed up and add process-optimised security into the CI/CD position for releases. It also helps to mitigate threats caused by the number of security flaws within the development application cycle, as these can be identified and attacked as necessary, rather than at the end as an afterthought.&#8221;</p><cite>Mark Madden, CGI UK</cite></blockquote>



<p class="wp-block-paragraph">The consensus across practitioners was that automating security checks earlier in the pipeline — at the code commit, build, and integration stages — was achievable and necessary, but that fully automating design-level threat analysis remained an unsolved problem.</p>



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



<ul class="wp-block-list">
<li><strong>Market consolidation</strong> in the cloud-native space was accelerating, driven by major acquisitions including IBM–Red Hat, VMware–Heptio, and Microsoft–GitHub.</li>
<li><strong>DevOps &#8220;death&#8221; headlines</strong> were expected to reflect maturity and normalisation, not decline. The real challenge was scaling DevOps practices across large enterprises.</li>
<li><strong>Microservices disillusionment</strong> was anticipated as organisations confronted the real-world complexity of distributed architectures.</li>
<li><strong>Kafka, Istio, TensorFlow, and H2O</strong> were identified as technologies to watch in 2019 DevOps toolchains.</li>
<li><strong>Kubernetes complexity</strong> remained a barrier, with community effort needed to improve the developer experience.</li>
<li><strong>DevSecOps</strong> — embedding security throughout the CI/CD pipeline — was becoming a mainstream expectation, though automated threat modelling remained a gap.</li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/devops-predictions-for-2019/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
