<?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>IT applications &#8211; Best DevOps</title>
	<atom:link href="https://www.bestdevops.com/tag/it-applications/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 14:24:55 +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>Verizon and AWS Partner to Deliver 5G Mobile Edge Computing via AWS Wavelength</title>
		<link>https://www.bestdevops.com/verizon-aws-partner-to-deliver-5g-mobile-edge-computing-to-boston-bay-area/</link>
					<comments>https://www.bestdevops.com/verizon-aws-partner-to-deliver-5g-mobile-edge-computing-to-boston-bay-area/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Mon, 10 Aug 2020 05:17:28 +0000</pubDate>
				<category><![CDATA[AWS]]></category>
		<category><![CDATA[APIs]]></category>
		<category><![CDATA[IoT]]></category>
		<category><![CDATA[IT applications]]></category>
		<category><![CDATA[IT-adoptions]]></category>
		<category><![CDATA[Software technology]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=13208</guid>

					<description><![CDATA[AWS Wavelength reached general availability on Verizon's 5G network in 2020, enabling developers to deploy ultra-low latency applications at the edge of 5G infrastructure in Boston and the San Francisco Bay Area using familiar AWS tools.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>Original reporting credit: <a href="https://www.thefastmode.com" rel="noopener">thefastmode.com</a>. Original announcement date: August 2020.</em></p>



<h2 class="wp-block-heading">AWS Wavelength Goes GA on Verizon 5G</h2>



<p class="wp-block-paragraph">Amazon Web Services announced the general availability of <strong>AWS Wavelength</strong> on Verizon&#8217;s 5G network, giving developers the ability to build ultra-low latency applications for mobile devices and end-users in <strong>Boston</strong> and the <strong>San Francisco Bay Area</strong>. The launch marked a significant step in bringing cloud-native development patterns directly to the edge of carrier 5G infrastructure.</p>



<h2 class="wp-block-heading">What Is AWS Wavelength?</h2>



<p class="wp-block-paragraph">AWS Wavelength embeds AWS compute and storage services inside telecommunications providers&#8217; data centers at the edge of their 5G networks. These deployments are called <strong>Wavelength Zones</strong>. Application traffic originating from a mobile device travels only as far as the nearest cell tower and then on to a Wavelength Zone hosted in a metro aggregation site — eliminating the multiple network hops through regional aggregation points and the public internet that ordinarily add latency.</p>



<p class="wp-block-paragraph">From a developer perspective, Wavelength Zones look and behave like any other AWS infrastructure. Teams use the same AWS APIs, SDKs, CLI tools, and management consoles they already know, and workloads running in a Wavelength Zone can connect seamlessly back to services and data in a parent AWS Region.</p>



<h2 class="wp-block-heading">Why Edge Latency Matters for Modern Applications</h2>



<p class="wp-block-paragraph">Even with AWS operating 24 Regions and 77 Availability Zones worldwide (as of the announcement period), many emerging application categories require latencies that a regional cloud footprint alone cannot deliver over a mobile network. Use cases that benefit from Wavelength-class edge compute include:</p>



<ul class="wp-block-list">
<li><strong>Machine learning inference</strong> — running real-time model scoring close to the data source rather than round-tripping to a remote Region.</li>
<li><strong>Internet of Things (IoT)</strong> — processing sensor and telemetry data at the network edge to reduce response time and backhaul cost.</li>
<li><strong>Smart manufacturing</strong> — enabling low-latency feedback loops on factory floors connected over private 5G or carrier mmWave.</li>
<li><strong>Autonomous driving and ADAS</strong> — offloading compute-intensive perception tasks to nearby edge nodes.</li>
<li><strong>Live event and video streaming</strong> — reducing buffering and improving quality of experience for large concurrent audiences.</li>
<li><strong>Cloud gaming</strong> — lowering input-to-display round-trip time to make streaming games feel responsive.</li>
</ul>



<h2 class="wp-block-heading">How the Traffic Path Changes</h2>



<p class="wp-block-paragraph">In a conventional cloud architecture, a request from a mobile device traverses the radio access network (RAN), travels through multiple carrier aggregation hops, exits onto the public internet, and finally reaches an AWS Region data center. Each hop adds latency.</p>



<p class="wp-block-paragraph">With Wavelength, the path is shortened to: <strong>device → cell tower → Wavelength Zone (metro aggregation site)</strong>. Traffic never leaves the carrier network to reach the application&#8217;s latency-sensitive compute layer. Only traffic that genuinely requires broader cloud services — persistent storage, managed databases, AI training, etc. — flows back to the parent Region.</p>



<h2 class="wp-block-heading">Consistent Developer Experience Across Carriers</h2>



<p class="wp-block-paragraph">One of AWS&#8217;s stated design goals for Wavelength is a <strong>uniform developer experience across multiple 5G operators worldwide</strong>. Because Wavelength Zones expose the same AWS primitives regardless of which carrier hosts the underlying infrastructure, a development team can write once and deploy across different telecom partners without reworking deployment pipelines or operations tooling — even when those carriers have different internal deployment semantics.</p>



<p class="wp-block-paragraph">This portability is particularly valuable for ISVs and SaaS vendors who need to serve customers on different carrier networks in different geographies without maintaining separate application stacks per operator.</p>



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



<p class="wp-block-paragraph">Developers already familiar with Amazon EC2, Amazon EBS, and Amazon VPC can extend an existing VPC into a Wavelength Zone by creating a subnet inside the zone, launching EC2 instances with carrier IP addresses, and routing edge traffic through those instances. AWS documentation and the AWS Management Console guide the configuration steps.</p>



<p class="wp-block-paragraph">Applications that require ultra-low latency for their user-facing or device-facing layer — but rely on a broader set of AWS services for persistence, analytics, or orchestration — are the best candidates for a Wavelength deployment pattern.</p>



<h2 class="wp-block-heading">Video Overview</h2>



<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_42358"  width="675" height="379"  data-origwidth="675" data-origheight="379" src="https://www.youtube.com/embed/?enablejsapi=1&#038;list=PLTCuRW0ikUdMFARYSiWm733n1DcCem6bN&#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/verizon-aws-partner-to-deliver-5g-mobile-edge-computing-to-boston-bay-area/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Red Hat Adds Quarkus Java Runtime for Kubernetes to Red Hat Runtimes Subscription</title>
		<link>https://www.bestdevops.com/red-hat-adds-java-runtime-for-kubernetes-to-subscription/</link>
					<comments>https://www.bestdevops.com/red-hat-adds-java-runtime-for-kubernetes-to-subscription/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Sat, 06 Jun 2020 07:49:43 +0000</pubDate>
				<category><![CDATA[Red Hat]]></category>
		<category><![CDATA[COVID-19]]></category>
		<category><![CDATA[IT applications]]></category>
		<category><![CDATA[Kubernetes]]></category>
		<category><![CDATA[OPENSHIFT]]></category>
		<category><![CDATA[Software technology]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=12812</guid>

					<description><![CDATA[Red Hat has added Quarkus — a Kubernetes-native Java framework — to its Red Hat Runtimes subscription, giving enterprise developers a modern alternative to traditional JVM deployments on Kubernetes and OpenShift.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>Source: <a href="https://containerjournal.com" rel="noopener">containerjournal.com</a></em></p>



<h2 class="wp-block-heading">Red Hat Brings Quarkus into the Red Hat Runtimes Subscription</h2>



<p class="wp-block-paragraph">Red Hat has added <strong>Quarkus</strong> — a Java framework purpose-built for Kubernetes — to its Red Hat Runtimes subscription portfolio. The move gives subscribers access to a cloud-native Java runtime alongside other supported runtimes, making it easier for enterprise development teams to adopt Quarkus when deploying Java applications on Kubernetes platforms such as Red Hat OpenShift.</p>



<p class="wp-block-paragraph">According to Rich Sharples, Senior Director of Cloud Services at Red Hat, Quarkus deliberately removes layers of JVM code that were originally designed to provide cross-platform portability — a concern that Kubernetes itself now largely addresses through containerization and orchestration.</p>



<h2 class="wp-block-heading">Why Traditional JVMs Are a Poor Fit for Kubernetes</h2>



<p class="wp-block-paragraph">The Java Virtual Machine was engineered decades before Kubernetes existed. Its design goals — write once, run anywhere — were met by abstracting away the underlying operating system. In a Kubernetes environment, that abstraction is already handled by the container runtime and the orchestration layer itself. As a result, a conventional JVM carries unnecessary overhead when deployed inside a container pod.</p>



<p class="wp-block-paragraph">This overhead manifests in two important ways for Kubernetes workloads:</p>



<ul class="wp-block-list">
  <li><strong>Slow startup times:</strong> Traditional JVMs perform significant class-loading and JIT compilation at startup, making rapid pod scaling sluggish.</li>
  <li><strong>High memory consumption:</strong> The JVM&#8217;s memory footprint is relatively large, reducing the density of workloads that can run on a given cluster node.</li>
</ul>



<p class="wp-block-paragraph">Quarkus addresses both issues directly, offering faster boot times and improved memory density compared to a legacy JVM deployment.</p>



<h2 class="wp-block-heading">Key Technical Features of Quarkus</h2>



<h3 class="wp-block-heading">Kubernetes-Native Scaling</h3>



<p class="wp-block-paragraph">Because Quarkus is optimized for container environments, Java applications built with it can scale up and down more efficiently as Kubernetes reallocates cluster resources. This elasticity is critical for microservices workloads that must respond quickly to traffic spikes or resource constraints.</p>



<h3 class="wp-block-heading">Extensive Extension Library</h3>



<p class="wp-block-paragraph">Quarkus ships with a library of more than 200 extensions, covering a broad range of enterprise Java standards and integrations. Notable examples include:</p>



<ul class="wp-block-list">
  <li><strong>RESTEasy</strong> — JAX-RS implementation for building REST APIs</li>
  <li><strong>Hibernate ORM</strong> — object-relational mapping for database access</li>
  <li><strong>Eclipse MicroProfile</strong> — enterprise Java APIs for microservices</li>
  <li><strong>Red Hat AMQ Streams</strong> — Kafka-based event streaming</li>
  <li><strong>Red Hat AMQ Broker</strong> — messaging middleware</li>
  <li><strong>Red Hat Fuse</strong> — integration platform based on Apache Camel</li>
</ul>



<h3 class="wp-block-heading">Developer Productivity Features</h3>



<p class="wp-block-paragraph">Quarkus includes a <strong>live coding</strong> mode that reflects code changes immediately in a running application without requiring a full restart. Combined with <strong>unified configuration</strong> — a single configuration file covering all extensions — this significantly reduces the feedback loop during local development.</p>



<h3 class="wp-block-heading">Reactive Programming Support</h3>



<p class="wp-block-paragraph">Quarkus exposes a <strong>Reactive programming model</strong> that simplifies the construction of complex distributed applications. This is particularly relevant for event-driven microservices that rely on asynchronous data streams, where a blocking I/O model would limit throughput and scalability.</p>



<h2 class="wp-block-heading">Why This Matters for Enterprise Java Adoption on Kubernetes</h2>



<p class="wp-block-paragraph">Java remains one of the most widely deployed languages in enterprise environments, and organizations are not about to abandon years of Java expertise and existing application investments. However, for Kubernetes to achieve broad enterprise adoption, it must be able to run both <em>new</em> cloud-native Java applications and <em>existing</em> Java workloads efficiently.</p>



<p class="wp-block-paragraph">By bundling Quarkus within the Red Hat Runtimes subscription, Red Hat lowers the barrier for development teams to evaluate and adopt a Kubernetes-optimized Java stack. Developers already using other runtimes in the subscription will encounter Quarkus as a first-class option rather than a separate evaluation project.</p>



<h2 class="wp-block-heading">The Broader Context: Cloud Migration and Microservices</h2>



<p class="wp-block-paragraph">Enterprise organizations are under increasing pressure to move applications to the cloud in pursuit of greater flexibility and operational resilience. This trend is accelerating adoption of microservices architectures on Kubernetes clusters — and Java-based microservices remain a dominant choice in enterprise shops.</p>



<p class="wp-block-paragraph">Many organizations will initially lift existing monolithic Java applications into the cloud with minimal changes. Once in a containerized environment, those applications often become candidates for incremental decomposition into microservices — a process that Quarkus is designed to support from the outset.</p>



<p class="wp-block-paragraph">Red Hat&#8217;s inclusion of Quarkus in a subscription model reflects a broader bet that enterprises want to modernize Java workloads without abandoning the language — and that Kubernetes is the deployment platform where that modernization will happen.</p>



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



<figure class="wp-block-table"><table><thead><tr><th>Feature</th><th>Benefit</th></tr></thead><tbody><tr><td>Kubernetes-native design</td><td>Removes JVM overhead no longer needed in containerized environments</td></tr><tr><td>Fast startup &amp; low memory footprint</td><td>Higher pod density and faster horizontal scaling</td></tr><tr><td>200+ extensions</td><td>Broad ecosystem coverage including Red Hat middleware</td></tr><tr><td>Live coding</td><td>Immediate feedback loop during development</td></tr><tr><td>Reactive model</td><td>Efficient handling of async, event-driven workloads</td></tr><tr><td>Red Hat Runtimes subscription</td><td>Supported alongside existing runtimes with enterprise SLA</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">For Java development teams evaluating Kubernetes-native runtimes, Quarkus — now available as part of Red Hat Runtimes — is worth considering as a path to modernizing both greenfield microservices and migrated enterprise Java applications.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/red-hat-adds-java-runtime-for-kubernetes-to-subscription/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>What Is DevSecOps and Why Is It Important for Your Organization?</title>
		<link>https://www.bestdevops.com/what-is-devsecops-and-why-is-it-important-for-your-company/</link>
					<comments>https://www.bestdevops.com/what-is-devsecops-and-why-is-it-important-for-your-company/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Tue, 26 May 2020 06:09:19 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<category><![CDATA[DevSecOps]]></category>
		<category><![CDATA[CI/CD]]></category>
		<category><![CDATA[IT applications]]></category>
		<category><![CDATA[IT security]]></category>
		<category><![CDATA[Software-Market]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=12652</guid>

					<description><![CDATA[DevSecOps integrates security into every stage of the software development lifecycle, making it a shared responsibility across development, operations, and security teams. Learn what DevSecOps is, why it matters, its key benefits, and common adoption challenges.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">The DevOps philosophy has fundamentally changed how technology organizations operate and how software development projects are executed. By combining development and operations principles, DevOps emphasizes shorter, faster delivery cycles and frequent deployments of features and fixes. But velocity without security is a liability. To extract full value from DevOps agility, security must be an integrated, continuous concern throughout the entire application development lifecycle. That is the core premise of <strong>DevSecOps</strong>.</p>



<h2 class="wp-block-heading">What Is DevSecOps?</h2>



<p class="wp-block-paragraph">Like DevOps, DevSecOps operates within an Agile framework that breaks projects into manageable, iterative chunks. The critical distinction is that DevSecOps integrates security into <em>every</em> phase of the development process rather than treating it as a final gate before release.</p>



<p class="wp-block-paragraph">In traditional waterfall models, security reviews typically happened late in the project lifecycle, often only after a product was nearly complete. DevSecOps replaces that pattern by compelling continuous communication between development, operations, and security teams from day one.</p>



<p class="wp-block-paragraph">DevSecOps makes <strong>every team member responsible for security</strong>. It merges two goals that have historically been in tension — writing secure code and delivering software quickly — into a single streamlined process. Security issues are addressed as they arise during development, rather than discovered after a vulnerability surfaces in production. This means thinking through infrastructure security, database hardening, and application-level controls from the very beginning of a project.</p>



<h2 class="wp-block-heading">Why Is DevSecOps Important?</h2>



<p class="wp-block-paragraph">The push toward DevSecOps is driven by two significant and interconnected shifts in the software industry.</p>



<h3 class="wp-block-heading">1. New Infrastructure Technologies</h3>



<p class="wp-block-paragraph">Technology infrastructure has undergone transformational change over the past two decades. The widespread adoption of cloud computing, shared resources, containers, and dynamic provisioning has delivered extraordinary gains in speed, cost efficiency, and scalability. These capabilities have dramatically expanded what application development teams can achieve.</p>



<p class="wp-block-paragraph">Cloud-native deployment in particular has turbocharged development scale and velocity, accelerating the shift toward DevOps and agile methodologies. Monolithic, multi-year software launches have given way to continuous delivery pipelines where code ships weekly, daily, or even multiple times per day.</p>



<h3 class="wp-block-heading">2. The Pace of Modern Development</h3>



<p class="wp-block-paragraph">In earlier software development models, security reviews were feasible at the end of a project because projects routinely spanned many months or years. Security teams had time to conduct thorough audits before a product reached users.</p>



<p class="wp-block-paragraph">DevOps has compressed that timeline to weeks or even days per iteration. Legacy compliance monitoring tools and security workflows were not designed for this pace of change. If security practices are not adapted to match modern delivery speeds, organizations face an ever-growing risk of vulnerabilities shipping directly into production environments undetected.</p>



<h2 class="wp-block-heading">Key Benefits of DevSecOps</h2>



<p class="wp-block-paragraph">Integrating security earlier in the development cycle produces compounding advantages over time. Greater security automation reduces the risk of human error and misconfiguration, both of which can inadvertently introduce vulnerabilities or cause production outages. The specific benefits include the following.</p>



<h3 class="wp-block-heading">Reduced Manual Security Configuration Overhead</h3>



<p class="wp-block-paragraph">DevSecOps reduces the time security architects spend manually configuring security controls sprint after sprint. Functions such as firewall rule management, vulnerability scanning, identity and access management (IAM), and secrets management can be automated and embedded directly into CI/CD pipelines. This frees security teams to focus on policy design, threat modeling, and higher-value strategic work.</p>



<h3 class="wp-block-heading">Security Becomes an Enabler, Not a Blocker</h3>



<p class="wp-block-paragraph">A common friction point in software organizations is that developers perceive security requirements as obstacles to innovation and speed. DevSecOps shifts that dynamic by embedding security tooling and practices into existing developer workflows — through IDE plugins, pre-commit hooks, automated static analysis (SAST), and dependency scanning — rather than adding external approval gates.</p>



<p class="wp-block-paragraph">When security is a natural part of the development workflow rather than a final hurdle, teams can build products that are both innovative and secure. This also delivers better return on investment from an organization&#8217;s security infrastructure and improves operational efficiency across IT and security roles.</p>



<h3 class="wp-block-heading">Earlier Detection of Vulnerabilities</h3>



<p class="wp-block-paragraph">Attackers actively target applications in production, probing for vulnerabilities, deploying malware, and exploiting misconfigured systems. When a major vulnerability is discovered after a product is already live, the potential damage to organizational reputation and user trust is significant — and remediation is far more expensive than catching the same issue during development.</p>



<p class="wp-block-paragraph">Continuous vulnerability testing throughout the DevSecOps pipeline means security gaps are identified and remediated early, when the cost and complexity of fixing them is lowest. This is sometimes described as &#8220;shifting security left&#8221; — moving security validation earlier in the development process.</p>



<h3 class="wp-block-heading">Additional Operational Benefits</h3>



<ul class="wp-block-list">
<li>Greater agility for security teams responding to emerging threats</li>
<li>Faster feedback loops between developers and security reviewers</li>
<li>Improved cross-team communication and shared ownership of risk</li>
<li>More opportunities for automated security testing at every pipeline stage</li>
<li>Enhanced product reliability and reduced production incidents</li>
<li>Improved operational efficiency across development, operations, and security departments</li>
</ul>



<h2 class="wp-block-heading">Common Obstacles to DevSecOps Adoption</h2>



<p class="wp-block-paragraph">Transitioning to DevSecOps is not without challenges. Organizations often encounter the following barriers.</p>



<ul class="wp-block-list">
<li><strong>Skills gap:</strong> The number of security professionals with hands-on DevSecOps experience remains relatively low. Finding engineers who are fluent in both secure coding practices and CI/CD toolchains can be difficult.</li>
<li><strong>Cultural resistance:</strong> Shifting security responsibility to the entire development team requires a meaningful cultural change that not all organizations find easy to navigate.</li>
<li><strong>No universal playbook:</strong> There is no single DevSecOps implementation that fits every organization. Differences in regulatory requirements, existing infrastructure, toolchains, and business goals mean each organization must tailor its approach.</li>
<li><strong>Legacy tooling:</strong> Existing governance and compliance tools may not integrate cleanly with modern CI/CD pipelines, requiring investment in new tooling or significant customization.</li>
</ul>



<p class="wp-block-paragraph">None of these challenges is insurmountable. As DevSecOps matures as a discipline and more organizations document successful implementations, the knowledge base and available tooling continue to improve.</p>



<h2 class="wp-block-heading">DevSecOps Is DevOps Done Well</h2>



<p class="wp-block-paragraph">For much of software development history, application security was treated as an afterthought — a final checkpoint that slowed releases and was often minimized in the interest of competitive speed. Bypassing or trivializing security is a risky strategy with potentially severe consequences once an application is in production.</p>



<p class="wp-block-paragraph">DevSecOps reframes security as a foundational engineering concern. DevOps teams must automate security controls to protect not just the development environment and its data, but also the integrity of the CI/CD pipeline itself. The goal is to release code quickly <em>and</em> securely — not to choose one at the expense of the other.</p>



<p class="wp-block-paragraph">Organizations that have adopted this philosophy report positive outcomes from integrating security earlier, shortening feedback loops, strengthening controls, and reducing production incidents through shared team responsibility.</p>



<p class="wp-block-paragraph">If you are going to do DevOps well, it must include a meaningful security component. That, in essence, is what DevSecOps is.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/what-is-devsecops-and-why-is-it-important-for-your-company/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Keep Applications Secure in Atlassian Bitbucket with Automated Pull Requests</title>
		<link>https://www.bestdevops.com/keep-applications-secure-in-atlassian-bitbucket-with-automated-pull-requests/</link>
					<comments>https://www.bestdevops.com/keep-applications-secure-in-atlassian-bitbucket-with-automated-pull-requests/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Thu, 23 Apr 2020 05:31:58 +0000</pubDate>
				<category><![CDATA[Bitbucket]]></category>
		<category><![CDATA[IT applications]]></category>
		<category><![CDATA[IT technology]]></category>
		<category><![CDATA[Nexus]]></category>
		<category><![CDATA[SCM tools]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=12006</guid>

					<description><![CDATA[Learn how automated pull requests in Atlassian Bitbucket can help development teams manage open source dependencies, reduce vulnerable components, and enforce security policies without adding developer noise.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>This article is based on reporting originally published on <a href="https://securityboulevard.com" rel="noopener">Security Boulevard</a> and covers Sonatype&#8217;s Nexus Lifecycle integration with Atlassian Bitbucket.</em></p>



<h2 class="wp-block-heading">The Case for Automating Dependency Security</h2>



<p class="wp-block-paragraph">Modern software development depends heavily on open source components. Every third-party library or framework added to a codebase introduces potential security risk, especially if that dependency is not kept up to date. As development organizations scale and try to ship faster, manually tracking and remediating vulnerable dependencies becomes impractical.</p>



<p class="wp-block-paragraph">According to Sonatype&#8217;s 2019 State of the Software Supply Chain Report—which analyzed more than 36,000 open source components from the Maven Central Repository—exemplary development teams are significantly more likely to use automated tools to manage their open source software (OSS) dependencies. Those same teams also report a substantially lower rate of vulnerable component usage, demonstrating a clear correlation between automation and improved security posture.</p>



<h2 class="wp-block-heading">Where Developers Work: Source Control Management Systems</h2>



<p class="wp-block-paragraph">Source control management (SCM) systems—such as GitHub, GitLab, and Atlassian Bitbucket—are central to modern development workflows. They are typically the first place where code is shared, reviewed by peers, and evaluated by automated tools. This makes SCMs a natural integration point for security and dependency management tooling.</p>



<p class="wp-block-paragraph">Bringing security checks directly into the SCM layer means developers encounter policy violations and remediation guidance at the earliest possible moment—before vulnerable code is merged into a main branch or deployed to production.</p>



<h2 class="wp-block-heading">The Problem with Existing Automated Dependency Solutions</h2>



<p class="wp-block-paragraph">A growing number of tools can automatically open pull requests to upgrade vulnerable dependencies. However, many teams report quickly disabling these integrations. The most common complaints include:</p>



<ul class="wp-block-list">
<li><strong>Alert noise:</strong> Tools that generate large volumes of pull requests or notifications overwhelm developers and lead to &#8220;alert fatigue,&#8221; making it harder to prioritize genuine risks.</li>
<li><strong>Lack of policy context:</strong> Generic tools typically suggest upgrading to the next non-vulnerable version without considering whether that version aligns with an organization&#8217;s approved open source policies.</li>
<li><strong>False positives:</strong> Without precise vulnerability intelligence, tools may flag components that do not actually pose a risk in the context of how they are used.</li>
<li><strong>Haphazard updates:</strong> Blindly upgrading dependencies to the latest version can introduce breaking changes or compatibility issues without any guarantee of meaningful security improvement.</li>
</ul>



<h2 class="wp-block-heading">Sonatype Nexus Lifecycle and Automated Pull Requests for Bitbucket</h2>



<p class="wp-block-paragraph">Sonatype&#8217;s Nexus Lifecycle integrates with several SCM platforms, including Atlassian Bitbucket. The Bitbucket integration supports automated pull requests that are designed to address the shortcomings described above. Key characteristics of this approach include:</p>



<ul class="wp-block-list">
<li><strong>Policy-aware remediation:</strong> Rather than suggesting the next available non-vulnerable version, Nexus Lifecycle evaluates candidate upgrades against your organization&#8217;s configured open source policies before recommending a fix.</li>
<li><strong>Nexus Intelligence data:</strong> Remediation guidance is backed by Sonatype&#8217;s proprietary vulnerability and component intelligence database, which is intended to reduce false positives compared to community-sourced vulnerability feeds alone.</li>
<li><strong>Reduced noise:</strong> By filtering recommendations through policy rules and accurate component data, the integration aims to surface only actionable pull requests—minimizing the volume of irrelevant alerts developers need to process.</li>
<li><strong>Automated dependency maintenance:</strong> Pull requests are opened automatically when a violation is detected, lowering the manual burden on developers and security teams.</li>
</ul>



<h2 class="wp-block-heading">How Policy-Driven Automation Differs from Generic Upgrades</h2>



<p class="wp-block-paragraph">A standard automated dependency tool might detect that <code>lodash 4.17.4</code> has a known vulnerability and immediately open a pull request to upgrade to <code>lodash 4.17.21</code>. A policy-driven tool like Nexus Lifecycle performs additional checks:</p>



<ul class="wp-block-list">
<li>Is the proposed upgrade version itself on the organization&#8217;s approved list?</li>
<li>Does the new version introduce any new policy violations (e.g., license incompatibilities)?</li>
<li>Is the vulnerability actually exploitable given how the component is used in this project?</li>
<li>Does the organization&#8217;s policy require upgrading, or is a workaround acceptable?</li>
</ul>



<p class="wp-block-paragraph">This additional context is what separates policy-driven automation from simple version bumping, and it is the primary reason teams are less likely to disable such integrations due to noise.</p>



<h2 class="wp-block-heading">Getting Started: Integrating Nexus Lifecycle with Bitbucket</h2>



<p class="wp-block-paragraph">To take advantage of automated pull requests for Bitbucket with Nexus Lifecycle, your team will generally need:</p>



<ol class="wp-block-list">
<li>An active Sonatype Nexus Lifecycle license with SCM integration enabled.</li>
<li>Atlassian Bitbucket (Cloud or Data Center—confirm which editions are supported with Sonatype directly).</li>
<li>An open source policy configured in Nexus Lifecycle that reflects your organization&#8217;s risk tolerance, approved licenses, and component standards.</li>
<li>Repository-level configuration to connect Bitbucket repositories to Nexus Lifecycle scans.</li>
</ol>



<p class="wp-block-paragraph">Once configured, Nexus Lifecycle monitors repositories for policy violations and opens targeted pull requests with remediation details, including the recommended upgrade version and the policy rationale behind the recommendation.</p>



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



<ul class="wp-block-list">
<li>Automating open source dependency management at the SCM layer is an increasingly common practice among high-performing development teams.</li>
<li>Generic automated upgrade tools often create more problems than they solve due to noise and lack of policy context.</li>
<li>Policy-driven tools like Sonatype Nexus Lifecycle aim to generate only actionable, context-aware pull requests in Atlassian Bitbucket.</li>
<li>Integrating security into the developer workflow—rather than treating it as a downstream gate—reduces the cost and friction of remediating vulnerabilities.</li>
</ul>



<p class="wp-block-paragraph">For more information on Sonatype&#8217;s SCM integrations and open source policy management, visit the <a href="https://www.sonatype.com/products/open-source-security-dependency-management" rel="noopener">Sonatype product page</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/keep-applications-secure-in-atlassian-bitbucket-with-automated-pull-requests/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>7 Best Practices for Building Applications for Containers and Kubernetes</title>
		<link>https://www.bestdevops.com/7-best-practices-building-applications-for-containers-and-kubernetes/</link>
					<comments>https://www.bestdevops.com/7-best-practices-building-applications-for-containers-and-kubernetes/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Tue, 03 Mar 2020 05:28:12 +0000</pubDate>
				<category><![CDATA[Kubernetes]]></category>
		<category><![CDATA[CI/CD]]></category>
		<category><![CDATA[IT applications]]></category>
		<category><![CDATA[Microservices]]></category>
		<category><![CDATA[Software-Market]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=11029</guid>

					<description><![CDATA[Learn key best practices for building cloud-native applications designed specifically for containers and Kubernetes, from microservices architecture to CI/CD automation and image optimization.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Not every application belongs in a container, and not every workload should be orchestrated with Kubernetes. Before you invest in container-native development, it is worth distinguishing between what you <em>can</em> run in containers and what you <em>should</em>. That distinction becomes especially important when you are building a brand-new application versus migrating an existing monolith.</p>



<p class="wp-block-paragraph">This article focuses on the greenfield scenario: building applications designed from the ground up to run in containers and be operated with Kubernetes. Practitioners sometimes call this cloud-native development. It is often the most practical starting point for teams new to containers, because purpose-built apps expose fewer migration surprises and let you learn orchestration concepts on clean ground.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;Containers [and orchestration] are a technical vehicle for building, deploying, and running cloud-native applications. I typically recommend to those starting their journey with containers to use a new, simple greenfield application as their test case.&#8221;</p><cite>Rani Osnat, VP of Strategy, Aqua Security</cite></blockquote>



<h2 class="wp-block-heading">1. Think and Build Modern</h2>



<p class="wp-block-paragraph">Building for containers is not just a packaging decision — it is an architectural one. Modern application patterns such as microservices and the <a href="https://12factor.net/" rel="noopener">Twelve-Factor App methodology</a> fit naturally with how Kubernetes schedules, scales, and heals workloads.</p>



<p class="wp-block-paragraph">Miles Ward, CTO at SADA, recommends treating this as a genuine opportunity: &#8220;If you&#8217;re building an app, build it in a modern way!&#8221; He is quick to add nuance, though. Microservices are not a hard requirement for running on Kubernetes. &#8220;A monolithic approach can also work, provided it can scale horizontally either as a single horizontal deployment or as multiple deployments with different endpoints to the same codebase.&#8221;</p>



<p class="wp-block-paragraph">Similarly, the Twelve-Factor methodology is a useful starting point but not an absolute rulebook. Apply its principles where they genuinely improve your design — environment-based configuration, stateless processes, and declarative setup are almost always worth adopting.</p>



<p class="wp-block-paragraph">For greenfield projects, the microservices path offers the clearest alignment with Kubernetes capabilities. Rani Osnat recommends architecting so that &#8220;individual containers can be refreshed without breaking the application&#8221; and so that &#8220;container images represent units that can be released independently, allowing for an efficient CI/CD implementation.&#8221;</p>



<p class="wp-block-paragraph">Concrete ways to apply modern thinking from day one:</p>



<ul class="wp-block-list">
<li><strong>Define container images as logical, independently scalable units.</strong> Components such as databases, logging agents, monitoring sidecars, load balancers, and session stores typically belong in their own containers or container groups (Osnat).</li>
<li><strong>Integrate with Kubernetes APIs.</strong> &#8220;Kubernetes has powerful API extension mechanisms,&#8221; says Vaibhav Kamra, VP of Engineering and co-founder at Kasten. &#8220;By integrating with those, you can immediately take advantage of existing tools in the ecosystem like command-line utilities and authentication.&#8221;</li>
<li><strong>Choose container-friendly runtimes and frameworks.</strong> Most modern languages now respect container resource boundaries (CPU and memory limits) correctly. Ravi Lachhman, DevOps advocate at Harness, notes that earlier JVM versions famously ignored cgroup limits, leading to out-of-memory kills — a problem that has largely been addressed in recent releases.</li>
</ul>



<h2 class="wp-block-heading">2. Make CI/CD and Automation Non-Negotiable</h2>



<p class="wp-block-paragraph">Kubernetes automates container scheduling, self-healing, and scaling. Your development and deployment pipeline should match that level of automation, or the operational overhead of managing many containers will quickly become unmanageable.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;Build applications and services with automation as minimum table stakes. With the proliferation of services and components, this can become an unmanageable issue.&#8221;</p><cite>Chander Damodaran, Chief Architect, Brillio</cite></blockquote>



<p class="wp-block-paragraph">A well-structured CI/CD pipeline enforces consistency across every build and deployment. It bakes in testing, security scanning, linting, and change-management gates so that human error is caught early and rollbacks are fast.</p>



<p class="wp-block-paragraph">Lachhman frames this around resilience: &#8220;Using any new platform requires a lot of trial and error. Having a robust continuous delivery pipeline in place can ensure that confidence-building standards like testing, security, and change management strategies are followed to ensure your applications are running effectively.&#8221; Automation does not prevent mistakes — it makes recovery from them faster and more predictable.</p>



<p class="wp-block-paragraph">Practical pipeline checkpoints to build in from the start:</p>



<ul class="wp-block-list">
<li>Automated unit and integration tests triggered on every commit</li>
<li>Container image build and vulnerability scanning on every merge</li>
<li>Automated promotion between environments (dev → staging → production) with configurable approval gates</li>
<li>Rollback or canary-deployment strategies driven by health checks, not manual intervention</li>
</ul>



<h2 class="wp-block-heading">3. Keep Container Images as Small as Possible</h2>



<p class="wp-block-paragraph">Image size affects pull time, startup latency, storage costs, and — critically — security posture. Every package installed in a container image is a potential attack surface. Keeping images lean reduces both blast radius and operational friction.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;Only include what you absolutely need. Often images contain packages which are not needed to run the contained application. Make sure to remove all other packages — including shell utilities — that are not required by the application. This not only makes the images smaller but reduces the attack surface for security issues.&#8221;</p><cite>Ken Mugrage, Principal Technologist, Office of the CTO, ThoughtWorks</cite></blockquote>



<p class="wp-block-paragraph">Nilesh Deo, Director of Product Marketing at CloudBolt, connects image size directly to application performance: &#8220;Create a smaller container and base image. The smaller the image, the faster it can load, and as a result, the application will be faster.&#8221;</p>



<p class="wp-block-paragraph">Techniques for keeping images lean:</p>



<ul class="wp-block-list">
<li><strong>Use multi-stage builds.</strong> Compile or build artifacts in a full SDK image, then copy only the output binary or application files into a minimal runtime image (for example, <code>alpine</code> or a distroless base).</li>
<li><strong>Start from minimal base images.</strong> Prefer purpose-built minimal images over general-purpose OS images when your runtime supports them.</li>
<li><strong>Remove build tools, package managers, and shell utilities</strong> from the final runtime image unless the application explicitly requires them.</li>
<li><strong>Audit installed packages regularly</strong> — dependencies added during development often linger in production images.</li>
<li><strong>Scan images for known CVEs</strong> as part of your CI/CD pipeline, and treat new critical vulnerabilities as build-breaking conditions.</li>
</ul>



<h2 class="wp-block-heading">4. Design for Statelessness and Horizontal Scalability</h2>



<p class="wp-block-paragraph">Kubernetes excels at scaling stateless workloads horizontally. Applications that store session state, local files, or in-process caches in a way that is tightly coupled to a single pod instance will fight the scheduler rather than benefit from it.</p>



<p class="wp-block-paragraph">Design application containers to be disposable and interchangeable. Any pod instance should be able to handle any request without knowledge of what other pod instances have processed. Externalise state to dedicated services: use a database for persistent data, a distributed cache (such as Redis) for session state, and object storage for files. This is one of the core tenets of the Twelve-Factor App methodology and maps directly to how Kubernetes Deployments manage replica sets.</p>



<p class="wp-block-paragraph">When you genuinely need stateful workloads — databases, message queues, distributed storage — Kubernetes provides <code>StatefulSets</code>, Persistent Volumes, and a growing ecosystem of Operators designed to manage stateful applications safely. Use these abstractions deliberately rather than trying to force stateful behaviour onto a <code>Deployment</code>.</p>



<h2 class="wp-block-heading">5. Implement Proper Health Checks and Graceful Shutdown</h2>



<p class="wp-block-paragraph">Kubernetes relies on application-level signals to make scheduling decisions. Without them, the scheduler cannot distinguish a healthy pod from one that is deadlocked, initialising, or overloaded. Implementing health checks correctly is one of the highest-leverage things you can do to make your application behave well in a cluster.</p>



<p class="wp-block-paragraph">Kubernetes offers three probe types:</p>



<ul class="wp-block-list">
<li><strong>Liveness probes</strong> — tell Kubernetes when to restart a container that is running but not functioning (for example, deadlocked).</li>
<li><strong>Readiness probes</strong> — tell Kubernetes when a container is ready to receive traffic. A pod that fails its readiness probe is removed from Service endpoints without being restarted.</li>
<li><strong>Startup probes</strong> — give slow-starting containers time to initialise before liveness checks begin, preventing premature restarts.</li>
</ul>



<p class="wp-block-paragraph">Equally important is graceful shutdown. When Kubernetes terminates a pod, it sends a <code>SIGTERM</code> signal. Your application should catch this signal, stop accepting new requests, finish in-flight requests, and then exit cleanly. Set <code>terminationGracePeriodSeconds</code> in your pod spec to give your application enough time to drain. Failing to handle <code>SIGTERM</code> properly leads to dropped requests during rolling updates and node drains.</p>



<h2 class="wp-block-heading">6. Externalise Configuration and Secrets</h2>



<p class="wp-block-paragraph">Configuration that is baked into container images couples your build artefacts to a specific environment. That means separate builds for development, staging, and production — or, worse, secrets embedded in image layers. Neither outcome is acceptable in a production Kubernetes environment.</p>



<p class="wp-block-paragraph">The solution is to externalise all environment-specific configuration. Kubernetes provides two native mechanisms:</p>



<ul class="wp-block-list">
<li><strong>ConfigMaps</strong> — for non-sensitive configuration data such as feature flags, connection strings (without credentials), or tuning parameters. ConfigMaps can be mounted as files or injected as environment variables.</li>
<li><strong>Secrets</strong> — for sensitive values such as passwords, API keys, and TLS certificates. Kubernetes Secrets are base64-encoded by default; for production workloads, integrate with an external secrets manager (such as HashiCorp Vault, AWS Secrets Manager, or GCP Secret Manager) and use a Secrets Store CSI driver or an Operator to inject them at runtime.</li>
</ul>



<p class="wp-block-paragraph">Treating configuration as external to the image means a single container image can be promoted unchanged from development through to production, with only the injected configuration differing between environments. This is a foundational principle of the Twelve-Factor methodology and a practical prerequisite for reliable CI/CD pipelines.</p>



<h2 class="wp-block-heading">7. Plan for Observability from Day One</h2>



<p class="wp-block-paragraph">In a microservices-based containerised system, debugging a problem by logging into a server and inspecting files is no longer practical. Pods are ephemeral and may have already been rescheduled by the time an incident is investigated. You need centralised, structured observability built into the application from the beginning — not bolted on later.</p>



<p class="wp-block-paragraph">The three pillars of observability in a Kubernetes environment:</p>



<ul class="wp-block-list">
<li><strong>Logs</strong> — Write structured logs (JSON is preferable) to <code>stdout</code> and <code>stderr</code>. Kubernetes captures these streams, and cluster-level log aggregators (Fluentd, Fluent Bit, Loki) can forward them to a centralised store. Avoid writing logs to files inside the container.</li>
<li><strong>Metrics</strong> — Expose application metrics in a format that your metrics system can scrape. Prometheus is the de facto standard in the Kubernetes ecosystem. Instrument your application to expose request rates, error rates, latency histograms, and resource utilisation via a <code>/metrics</code> endpoint.</li>
<li><strong>Distributed tracing</strong> — In a microservices architecture, a single user request may traverse many services. Implement distributed tracing using an OpenTelemetry-compatible library so you can follow a request end-to-end and identify latency bottlenecks across service boundaries.</li>
</ul>



<p class="wp-block-paragraph">Investing in observability early pays compound dividends. It shortens incident resolution time, makes capacity planning more accurate, and gives your CI/CD pipeline the feedback signals needed to validate canary deployments and progressive rollouts.</p>



<h2 class="wp-block-heading">Putting It All Together</h2>



<p class="wp-block-paragraph">Building applications for containers and Kubernetes is as much a design discipline as it is a tooling choice. The practices above — modern architecture, pipeline automation, lean images, stateless design, robust health signalling, externalised configuration, and built-in observability — are mutually reinforcing. Adopting them together from the start of a greenfield project is far easier than retrofitting them into an application that was never designed with container orchestration in mind.</p>



<p class="wp-block-paragraph">If your team is just beginning its Kubernetes journey, start small: pick a genuinely new, low-risk service, apply these principles deliberately, and use it as the learning vehicle for your platform practices before rolling them out to more critical workloads.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/7-best-practices-building-applications-for-containers-and-kubernetes/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Databases Are Getting the Full DevOps Treatment — What the Data Shows</title>
		<link>https://www.bestdevops.com/databases-also-getting-the-full-devops-treatment-survey-shows/</link>
					<comments>https://www.bestdevops.com/databases-also-getting-the-full-devops-treatment-survey-shows/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Mon, 02 Mar 2020 05:57:48 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[deployments]]></category>
		<category><![CDATA[IT applications]]></category>
		<category><![CDATA[IT trends]]></category>
		<category><![CDATA[Software-Market]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=11015</guid>

					<description><![CDATA[Database deployments are increasingly being managed with DevOps practices. A Redgate survey of 2,000 developers reveals rising automation, tighter DBA-developer collaboration, and measurable quality gains — but version control adoption still lags.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>This article is based on findings reported by <a href="https://www.zdnet.com" rel="noopener">ZDNet</a> drawing on a Redgate Software survey of approximately 2,000 developers. Original survey data and quotes are attributed to Redgate Software and its contributors.</em></p>



<h2 class="wp-block-heading">DevOps Is No Longer Just for Application Code</h2>



<p class="wp-block-paragraph">For most of its history, DevOps has been synonymous with application delivery — continuous integration pipelines, automated testing, and frequent releases of application code. Databases, by contrast, were often treated as static infrastructure: carefully managed, rarely automated, and firmly in the hands of DBAs working in isolation from development teams.</p>



<p class="wp-block-paragraph">That picture is changing. According to a Redgate Software survey of roughly 2,000 developers, database changes are increasingly being managed with the same principles applied to application code: version control, automated testing, continuous delivery, and collaborative ownership.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;Databases are recognized as another code deployment which can and should be managed, tested, automated, and improved with the same robust, reliable methodologies applied to application code.&#8221;</p><cite>— Kendra Little, DevOps Advocate, Redgate Software</cite></blockquote>



<h2 class="wp-block-heading">Key Findings: Adoption Is Rising, but Unevenly</h2>



<p class="wp-block-paragraph">The survey paints a picture of an industry in transition. DevOps adoption for databases is clearly growing, but it remains inconsistent — particularly around foundational practices like version control.</p>



<h3 class="wp-block-heading">Adoption and Deployment Frequency</h3>



<ul class="wp-block-list">
<li><strong>68%</strong> of respondents are in some phase of DevOps adoption across their projects.</li>
<li><strong>18%</strong> say they have adopted DevOps &#8220;across all projects,&#8221; up from 15% the previous year.</li>
<li><strong>46%</strong> are performing some form of database deployment automation.</li>
<li><strong>49%</strong> report needing to deploy database changes weekly or on-demand — up significantly from 37% in a comparable 2017 survey.</li>
<li>More than <strong>60%</strong> of managers in larger enterprises believe a full transition from traditional to automated database deployments can be achieved within a year.</li>
</ul>



<h3 class="wp-block-heading">The Version Control Gap</h3>



<p class="wp-block-paragraph">One of the more striking findings is how many teams are deploying frequently without the safety net of version control. Of those deploying database changes weekly or more often, only <strong>47%</strong> report using version control for their database schemas and migration scripts. That means a substantial share of teams are making direct changes to production databases without a reliable audit trail or rollback mechanism — a practice that directly correlates with defects requiring hotfixes, according to the survey.</p>



<h2 class="wp-block-heading">Why Databases Present Unique DevOps Challenges</h2>



<p class="wp-block-paragraph">Applying DevOps to databases is not simply a matter of bolting a pipeline onto an existing schema. As Kellyn Pot&#8217;Vin-Gorman, co-author of the Redgate report, explains, databases introduce a set of concerns that don&#8217;t arise with stateless application code:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;Databases, which were formerly seen as configurable repositories much like file shares, are now seen as stateful data, controlled by code. However, databases present unique challenges in using change methodology due to the very nature and value of data. In particular, data loss can put the continued existence of the company at risk. This results in database deployments requiring more care than standard change management to ensure the code that&#8217;s deployed and data quality aren&#8217;t impacted. The natural state of a database environment is growth, so as the surface area naturally spreads, the challenge of change management and releases becomes more daunting.&#8221;</p><cite>— Kellyn Pot&#8217;Vin-Gorman, Report Co-Author, Redgate Software</cite></blockquote>



<p class="wp-block-paragraph">The core challenge is statefulness. Unlike application binaries that can be replaced atomically, a database holds the organisation&#8217;s actual data. A bad migration can corrupt or destroy records that have real business value — and unlike a failed application deployment, a failed database migration may not be trivially reversible.</p>



<h2 class="wp-block-heading">The Cost of Staying Siloed</h2>



<p class="wp-block-paragraph">The survey asked respondents to identify the biggest drawbacks of keeping database development separate from application development pipelines. The top responses were:</p>



<ul class="wp-block-list">
<li><strong>Slow development and release cycles</strong> — cited by 24% of respondents.</li>
<li><strong>Inability to respond quickly to changing business requirements</strong> — cited by 21%.</li>
<li><strong>Increased risk of failed deployments or downtime</strong> — cited by 18%.</li>
</ul>



<p class="wp-block-paragraph">These are not abstract concerns. In a competitive environment where applications ship continuously, a database team on a quarterly release cycle becomes a bottleneck that slows the entire organisation.</p>



<h2 class="wp-block-heading">Developers Own Database Work — Whether They&#8217;re Ready or Not</h2>



<p class="wp-block-paragraph">One clear finding is that database responsibility has shifted significantly toward developers. <strong>78%</strong> of survey respondents say they are responsible for both application and database deployment. This reflects a broader trend in which full-stack ownership — including the data layer — is becoming the norm rather than the exception.</p>



<p class="wp-block-paragraph">This shift creates both opportunity and risk. Developers who own the full stack can ship features end-to-end without waiting for handoffs, but they also need the tooling, processes, and training to handle database changes safely. The version control gap highlighted above suggests that tooling and process adoption has not fully kept pace with the expansion of responsibility.</p>



<h2 class="wp-block-heading">DevOps Improves Developer–DBA Collaboration</h2>



<p class="wp-block-paragraph">One of the more encouraging findings is the impact DevOps adoption has on the relationship between developers and database administrators. The survey found a significant difference in collaboration depending on whether DevOps practices were in place:</p>



<ul class="wp-block-list">
<li><strong>82%</strong> of developers in DevOps settings report that they and DBAs work together as a team.</li>
<li>In non-DevOps settings, that figure drops to <strong>58%</strong>.</li>
</ul>



<p class="wp-block-paragraph">This is consistent with the broader DevOps principle that organisational silos — not just technical ones — are a primary source of delivery friction. When database and application teams operate in a shared pipeline with shared visibility, collaboration becomes a natural byproduct of the workflow.</p>



<h2 class="wp-block-heading">Measurable Quality Benefits for Teams That Go All In</h2>



<p class="wp-block-paragraph">Teams that have fully embraced database DevOps practices report better outcomes than those still in transition. According to the survey:</p>



<ul class="wp-block-list">
<li>Respondents who reported that all or nearly all their database deployments take place with the system online also reported <strong>lower lead times for changes and lower defect rates</strong>.</li>
<li><strong>37%</strong> of those who have adopted DevOps across all projects report that 1% or fewer of their deployments introduce code defects requiring hotfixes.</li>
<li>That compares to <strong>30%</strong> for all other groups — a meaningful gap that suggests full adoption, not partial adoption, drives quality improvements.</li>
</ul>



<h2 class="wp-block-heading">What DataOps Adds to the Picture</h2>



<p class="wp-block-paragraph">It is worth distinguishing database DevOps from the related discipline of DataOps. While database DevOps focuses on applying CI/CD and change-management practices to database schema and code changes, DataOps is broader: it applies similar automation and quality principles to the flow of data itself through an organisation — from ingestion and transformation pipelines to analytics and reporting. Both disciplines are growing, and in mature organisations they increasingly overlap.</p>



<h2 class="wp-block-heading">Practical Takeaways for Engineering Teams</h2>



<p class="wp-block-paragraph">Based on the survey findings, teams looking to improve their database delivery practices should prioritise the following:</p>



<ol class="wp-block-list">
<li><strong>Put your database schemas and migration scripts under version control.</strong> This is the minimum baseline for repeatable, auditable deployments. Given that nearly half of frequent deployers are skipping this step, it represents the single biggest gap in current practice.</li>
<li><strong>Automate database deployments as part of your CI/CD pipeline.</strong> Manual deployments are slower and more error-prone. Treating schema changes as code — validated in a pipeline before reaching production — reduces defect rates.</li>
<li><strong>Integrate DBA expertise into the development workflow.</strong> Rather than a handoff model, embed DBA knowledge into design and code review. The data shows that DevOps teams do this far more effectively than non-DevOps teams.</li>
<li><strong>Plan for zero-downtime migrations.</strong> The survey links online deployments to better lead times and lower defect rates. Techniques such as expand-contract migrations, backward-compatible schema changes, and blue-green database deployments make this achievable.</li>
<li><strong>Test database changes as rigorously as application code.</strong> This includes unit tests for stored procedures, integration tests against a representative data set, and automated rollback verification.</li>
</ol>



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



<p class="wp-block-paragraph">The Redgate survey is a useful data point in a broader shift: databases are no longer exempt from the engineering discipline applied to the rest of the software stack. As deployment frequency increases and developer ownership of the data layer grows, the teams that treat database changes as first-class code — versioned, tested, automated, and collaboratively owned — are already seeing measurable advantages in release quality and speed. The version control and automation gaps that remain represent both a risk for teams that haven&#8217;t closed them and an opportunity for those ready to do so.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/databases-also-getting-the-full-devops-treatment-survey-shows/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Google Cloud Acquires Cornerstone Technology to Accelerate Mainframe Migration</title>
		<link>https://www.bestdevops.com/google-cloud-moves-to-aid-mainframe-migration/</link>
					<comments>https://www.bestdevops.com/google-cloud-moves-to-aid-mainframe-migration/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Sat, 22 Feb 2020 05:58:16 +0000</pubDate>
				<category><![CDATA[IT Training]]></category>
		<category><![CDATA[Amazon Web Services]]></category>
		<category><![CDATA[Google cloud]]></category>
		<category><![CDATA[IBM]]></category>
		<category><![CDATA[IT applications]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[open-source]]></category>
		<category><![CDATA[RedHat]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=10806</guid>

					<description><![CDATA[Google Cloud acquired mainframe migration specialist Cornerstone Technology to help enterprises move COBOL, PL/1, and Assembler workloads to cloud-native environments — but analysts urge caution before abandoning the mainframe.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>Original reporting: <a href="https://www.networkworld.com" rel="noopener">Network World</a> | Original post date: February 22, 2020</em></p>



<h2 class="wp-block-heading">Google Cloud Buys Cornerstone Technology</h2>



<p class="wp-block-paragraph">Google Cloud acquired Cornerstone Technology, a firm specializing in mainframe-to-cloud migration services, with the explicit goal of helping enterprises running &#8220;Big Iron&#8221; workloads transition to private and public cloud infrastructure. The acquisition was announced in February 2020.</p>



<p class="wp-block-paragraph">According to Howard Weale, Google&#8217;s Director of Transformation Practice, the core of Cornerstone&#8217;s value lies in its <strong>G4 platform</strong> — an automated toolchain that can decompose legacy mainframe programs written in COBOL, PL/1, or Assembler and recast them as cloud-native services running in managed, containerized environments.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;Through the use of automated processes, Cornerstone&#8217;s tools can break down your COBOL, PL/1, or Assembler programs into services and then make them cloud native, such as within a managed, containerized environment.&#8221;</p><cite>Howard Weale, Director of Transformation Practice, Google Cloud</cite></blockquote>



<h2 class="wp-block-heading">What the Cornerstone Platform Offers</h2>



<p class="wp-block-paragraph">Google stated that the Cornerstone technology would form the foundation of its future mainframe-to-Google Cloud product offerings. The platform is designed to address three common migration challenges:</p>



<ul class="wp-block-list">
<li><strong>Migration roadmap assessment:</strong> Google will evaluate a customer&#8217;s existing mainframe environment and produce a structured roadmap toward a modern services architecture.</li>
<li><strong>Cross-language and cross-database conversion:</strong> The toolchain is designed to convert source code from one language to another (for example, COBOL to Java) and migrate data from legacy databases to modern equivalents.</li>
<li><strong>Automated workload migration:</strong> Automated pipelines move converted workloads onto Google Cloud infrastructure, reducing manual re-platforming effort.</li>
</ul>



<p class="wp-block-paragraph">Weale noted that a key use case is breaking apart mainframe monolithic applications into either Java monoliths or Java microservices — aligning legacy systems with contemporary service-oriented and microservices architectures that most enterprises now favor for new development.</p>



<h2 class="wp-block-heading">Why This Matters for Google&#8217;s Enterprise Strategy</h2>



<p class="wp-block-paragraph">Mainframe workloads represent some of the most business-critical and deeply entrenched systems in industries such as banking, insurance, and government. Winning migration contracts in these sectors is a significant revenue opportunity — and a strong signal to large enterprises that a cloud provider can handle their most demanding requirements.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;Easy mainframe migration will go a long way as Google attracts large enterprises to its cloud.&#8221;</p><cite>Matt Eastwood, Senior Vice President, Enterprise Infrastructure, Cloud, Developers and Alliances, IDC</cite></blockquote>



<p class="wp-block-paragraph">The Cornerstone acquisition also positions Google Cloud more directly against competitors that already offer mainframe migration services, including <strong>Amazon Web Services</strong>, <strong>IBM/Red Hat</strong>, and <strong>Microsoft Azure</strong>. Each of these vendors has made investments in tooling or partnerships to help enterprises retire or re-platform mainframe workloads.</p>



<h2 class="wp-block-heading">Analyst Caution: Mainframe Migration Is Not Always the Right Move</h2>



<p class="wp-block-paragraph">Despite the momentum behind cloud migration, Gartner issued a pointed warning — referenced in a report titled <em>Considering Leaving Legacy IBM Platforms? Beware, as Cost Savings May Disappoint, While Risking Quality</em> — advising organizations to scrutinize mainframe migration decisions carefully before committing.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;The value gained by moving applications from the traditional enterprise platform onto the next &#8216;bright, shiny thing&#8217; rarely provides an improvement in the business process or the company&#8217;s bottom line. A great deal of analysis must be performed and each cost accounted for.&#8221;</p><cite>Gartner, <em>Considering Leaving Legacy IBM Platforms? Beware, as Cost Savings May Disappoint, While Risking Quality</em></cite></blockquote>



<p class="wp-block-paragraph">Gartner&#8217;s core argument is that mainframes, while perceived as dated, continue to evolve. IBM and other vendors are actively integrating open-source tooling and modernizing hardware, making the platforms more accessible to developers. Application leaders were advised to re-evaluate the actual capabilities and total cost of ownership of their existing mainframe platforms before initiating a migration.</p>



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



<ul class="wp-block-list">
<li><strong>Automated language conversion is the hard part.</strong> COBOL-to-Java conversion at scale has historically been error-prone and expensive. Evaluate any toolchain&#8217;s output quality rigorously before trusting automated conversions in production.</li>
<li><strong>Containerization is not free modernization.</strong> Wrapping a converted monolith in a container does not automatically make it cloud-native. Teams should plan for behavioral equivalence testing and performance validation post-migration.</li>
<li><strong>TCO analysis is essential.</strong> Mainframe licensing models differ fundamentally from cloud pricing. A detailed total-cost-of-ownership model, including staffing, testing, and ongoing cloud spend, is necessary before a business case can be made.</li>
<li><strong>Phased migration reduces risk.</strong> Rather than a full lift-and-shift, consider migrating lower-risk workloads first to validate tooling and build organizational confidence.</li>
<li><strong>Vendor lock-in trades.</strong> Moving from mainframe to a single cloud provider replaces one form of lock-in with another. Multi-cloud or abstraction-layer strategies should be considered where long-term portability matters.</li>
</ul>



<p class="wp-block-paragraph">Google Cloud&#8217;s acquisition of Cornerstone Technology signals serious intent to compete for enterprise mainframe migration budgets. However, as Gartner&#8217;s guidance underscores, the decision to migrate should be driven by rigorous analysis rather than vendor momentum — regardless of how compelling the automation tooling appears.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/google-cloud-moves-to-aid-mainframe-migration/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Google Cloud Embraces GitOps with Application Manager for Kubernetes</title>
		<link>https://www.bestdevops.com/google-cloud-embraces-gitops-with-new-application-manager-for-kubernetes/</link>
					<comments>https://www.bestdevops.com/google-cloud-embraces-gitops-with-new-application-manager-for-kubernetes/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Fri, 21 Feb 2020 04:58:49 +0000</pubDate>
				<category><![CDATA[Google Cloud]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[GitHub]]></category>
		<category><![CDATA[GitLab]]></category>
		<category><![CDATA[GitOps]]></category>
		<category><![CDATA[Google cloud]]></category>
		<category><![CDATA[IT applications]]></category>
		<category><![CDATA[Software-Market]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=10753</guid>

					<description><![CDATA[Google's Application Manager for GKE brings GitOps-style deployment automation to Kubernetes, letting developers manage infrastructure configuration alongside application code using the appctl CLI.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>Originally reported by The Register. Original publication date: February 2020.</em></p>



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



<p class="wp-block-paragraph">Google introduced Application Manager for Google Kubernetes Engine (GKE) as a beta feature aimed at simplifying GitOps workflows for Kubernetes deployments. The tool, centered around a component Google calls Application Delivery, is designed to attract developers who want code-oriented, repository-driven deployment automation without stitching together multiple third-party tools.</p>



<h2 class="wp-block-heading">What Is GitOps?</h2>



<p class="wp-block-paragraph">GitOps is an operational model in which the desired state of infrastructure and application deployments is stored declaratively in a Git repository, alongside application source code. Key principles include:</p>



<ul class="wp-block-list">
  <li><strong>Declarative configuration:</strong> Infrastructure requirements are described in version-controlled files, typically YAML.</li>
  <li><strong>Pull-request-driven changes:</strong> Any change to infrastructure or configuration goes through a standard Git review and merge process.</li>
  <li><strong>Automated reconciliation:</strong> A controller or agent continuously ensures the live environment matches the state described in the repository.</li>
  <li><strong>Full audit trail:</strong> Git history provides a complete, tamper-evident record of every change.</li>
</ul>



<p class="wp-block-paragraph">GitOps has become increasingly popular for Kubernetes environments because Kubernetes itself is API-driven and configuration is naturally expressed in YAML manifests, making it a natural fit for repository-based management.</p>



<h2 class="wp-block-heading">How Google&#8217;s Application Manager Works</h2>



<p class="wp-block-paragraph">Application Manager runs as an add-on inside a GKE cluster and is controlled through a command-line interface invoked with the <code>appctl</code> binary. Here is the general workflow:</p>



<h3 class="wp-block-heading">1. Repository Setup</h3>



<p class="wp-block-paragraph">Repositories must be hosted on either GitHub or GitLab. After installing Application Manager into a GKE cluster, developers initialize their project with <code>appctl</code>, which provisions two default repositories:</p>



<ul class="wp-block-list">
  <li>One for <strong>application source code</strong></li>
  <li>One for <strong>deployment configuration</strong></li>
</ul>



<p class="wp-block-paragraph">Separating configuration from code is a common GitOps best practice, as it allows deployment state to evolve independently of the application&#8217;s release cycle.</p>



<h3 class="wp-block-heading">2. Defining Kubernetes Configuration with Kustomize</h3>



<p class="wp-block-paragraph">Developers describe their Kubernetes deployment requirements in YAML using a <a href="https://kustomize.io/">Kustomize</a> configuration. Kustomize is a Kubernetes-native configuration management tool that allows base manifests to be patched for different environments (e.g., staging vs. production) without duplicating YAML files.</p>



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



<p class="wp-block-paragraph">Using <code>appctl</code> commands, developers register named environments such as <code>testing</code>, <code>staging</code>, and <code>production</code>. Each environment maps to a distinct Kubernetes namespace or cluster target, and the configuration for each is tracked in the deployment repository.</p>



<h3 class="wp-block-heading">4. Preparing and Reviewing a Release</h3>



<p class="wp-block-paragraph">When a developer is ready to deploy, they run:</p>


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


<p class="wp-block-paragraph">This command tags the application version and automatically opens a <strong>pull request</strong> in the configuration repository. The team can review infrastructure and configuration changes exactly as they would review code changes. This is the core GitOps loop: changes are proposed, reviewed, and approved before anything reaches the cluster.</p>



<h3 class="wp-block-heading">5. Applying the Deployment</h3>



<p class="wp-block-paragraph">Once the pull request is approved and merged, the developer runs:</p>


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


<p class="wp-block-paragraph">This creates or updates the target environment and deploys the application to the GKE cluster according to the approved configuration.</p>



<h3 class="wp-block-heading">6. Promoting and Rolling Back</h3>



<p class="wp-block-paragraph"><code>appctl prepare</code> can also be used to promote a verified deployment from one environment to another — for example, from <code>staging</code> to <code>production</code>. Rollbacks are also supported, leveraging Git history to revert to a previously known-good state.</p>



<h2 class="wp-block-heading">Observability and the Google Cloud Console</h2>



<p class="wp-block-paragraph">Application Manager surfaces deployment metadata in the Google Cloud Console, including:</p>



<ul class="wp-block-list">
  <li>Current deployed version</li>
  <li>Revision history</li>
  <li>Application health status</li>
</ul>



<p class="wp-block-paragraph">This gives teams a consolidated view of deployment state without needing to query the cluster directly or consult the Git log manually.</p>



<h2 class="wp-block-heading">Google Cloud Marketplace Integration</h2>



<p class="wp-block-paragraph">Google also designed Application Manager with third-party applications in mind. Applications installed from the Google Cloud Marketplace could potentially use Application Manager for version updates, allowing cluster operators to trigger upgrades of marketplace applications directly from the Cloud Console with an <strong>Update</strong> button, rather than performing manual Helm or kubectl operations.</p>



<h2 class="wp-block-heading">CI/CD Pipeline Integration</h2>



<p class="wp-block-paragraph">Application Manager is designed to complement existing CI/CD tooling rather than replace it. It is intended to integrate with:</p>



<ul class="wp-block-list">
  <li><strong>Jenkins</strong> — a widely used open-source CI/CD server</li>
  <li><strong>Tekton Pipelines</strong> — a Kubernetes-native CI/CD framework that Google has contributed to and champions</li>
</ul>



<p class="wp-block-paragraph">For teams that want a leaner setup, Application Manager also provides a self-contained GitOps workflow without requiring additional orchestration tools.</p>



<h2 class="wp-block-heading">Limitations to Be Aware Of</h2>



<p class="wp-block-paragraph">Application Manager simplifies the <em>automation</em> of Kubernetes deployments, but it does not simplify the <em>design</em> of those deployments. Teams still need to:</p>



<ul class="wp-block-list">
  <li>Understand Kubernetes resource types (Deployments, Services, Ingress, etc.)</li>
  <li>Write correct and appropriately scoped YAML manifests</li>
  <li>Configure Kustomize overlays for each environment</li>
  <li>Manage secrets and RBAC policies separately</li>
</ul>



<p class="wp-block-paragraph">The tool assumes you already know <em>what</em> to deploy; it automates <em>how</em> that deployment is tracked, reviewed, and executed.</p>



<h2 class="wp-block-heading">Strategic Significance for Google Cloud</h2>



<p class="wp-block-paragraph">Developer experience is a key competitive differentiator among major cloud providers. By reducing friction in the GitOps setup for GKE, Google is lowering the barrier for development teams to adopt repeatable, auditable deployment practices on its platform. For organizations already invested in GitHub or GitLab and Kubernetes, Application Manager offers a tightly integrated path to GitOps without requiring teams to evaluate and integrate standalone tools such as Argo CD or Flux independently.</p>



<p class="wp-block-paragraph">Whether Application Manager has matured significantly since its 2020 beta launch, or whether Google has evolved its GitOps strategy (for example, through Config Sync or other GKE features), warrants a check against current Google Cloud documentation before making adoption decisions.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/google-cloud-embraces-gitops-with-new-application-manager-for-kubernetes/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Continuous Deployment Software Market Upcoming Trends Forecast till 2026: AWS, CircleCI, Ansible</title>
		<link>https://www.bestdevops.com/continuous-deployment-software-market-upcoming-trends-forecast-till-2026-aws-circleci-ansible/</link>
					<comments>https://www.bestdevops.com/continuous-deployment-software-market-upcoming-trends-forecast-till-2026-aws-circleci-ansible/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Wed, 19 Feb 2020 06:20:45 +0000</pubDate>
				<category><![CDATA[Ansible]]></category>
		<category><![CDATA[CircleCI]]></category>
		<category><![CDATA[Continuous Delivery]]></category>
		<category><![CDATA[AWS]]></category>
		<category><![CDATA[Cloud Platforms]]></category>
		<category><![CDATA[digital revolution]]></category>
		<category><![CDATA[IT applications]]></category>
		<category><![CDATA[Red Hat]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=10714</guid>

					<description><![CDATA[Source:-oaoa.com Red Hat, Inc., the world&#8217;s leading provider of open source solutions, today announced that Omnitracs, LLC, the global pioneer [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Source:-oaoa.com</p>
<p>Red Hat, Inc., the world&#8217;s leading provider of open source solutions, today announced that Omnitracs, LLC, the global pioneer of fleet management solutions to transportation and logistics companies, has delivered its Omnitracs One platform, the next-generation of fleet management innovation, on the foundation of Red Hat OpenShift. Using the industry’s leading enterprise Kubernetes platform along with Red Hat Ansible Automation Platform, Omnitracs One is a completely cloud-native offering and provides an enhanced user experience with a clear path towards future innovations.</p>
<p>The transportation industry is undergoing a digital revolution and Omnitracs engaged Red Hat as the partner to help accelerate its own transformation efforts. Omnitracs wanted to build upon proven, cloud-native technologies, but with the backing of enterprise-grade support and expertise. The company selected Red Hat based on its reputation for supporting flexible, open technologies in production environments, as well as its knowledge and leadership in enabling cloud-native innovation.</p>
<p>With Red Hat’s expertise and guidance, Omnitracs was able to effectively embrace a shift from on-premises development technologies to cloud-native services, improving overall operations and creating a more collaborative development process culture. Omnitracs One benefits commercial fleets of all sizes through a superior driver experience, a comprehensive library of third-party integrations, device independence and exchangeable data across operations.</p>
<p><strong>The team also enhanced several capabilities, including:</strong></p>
<p>Driving wholesale transformation across the Omnitracs One platform and the entire development process.<br>
Improving the reliability, scalability and overall platform security of the Omnitracs One solution<br>
Reducing development time to bring new features to market and more quickly address changing customer needs<br>
Red Hat’s collaboration with Omnitracs extended beyond technology development, with Red Hat providing training and strategic guidance on product deployment through Red Hat Open Innovation Labs. The Red Hat team also trained the Omnitracs staff on the entire development process, teaching them how to use powerful cloud-based toolchains to create new applications for a cloud-native future.</p>
<p>Although the initial project is complete, Omnitracs and Red Hat are continuing their work together through various community initiatives, including a recent codefest to improve the Truckers Against Trafficking mobile application. Red Hat and Omnitracs plan to continue these initiatives in the future to further enhance the transportation industry through cloud-native solutions.</p>
<p><strong>Supporting Quotes:</strong></p>
<p><strong>Ashesh Badani, senior vice president, Cloud Platforms, Red Hat</strong></p>
<p>“Transformation is more than just changing how code is built or how a new product is delivered; rather true transformation stems from evolving an organization’s development process, from top to bottom, by building on the principles of open technologies, culture and principles. We’re pleased to have helped Omnitracs embrace this change through the expertise of Red Hat Open Innovation Labs and the adoption of cloud-native, fully open technologies like Red Hat OpenShift and Red Hat Ansible Automation Platform.”</p>
<p>Kent Norton, chief technology officer, Omnitracs</p>
<p>“The key result from our successful collaboration with Red Hat is how we now approach technology as well as people and processes. We have re-engineered how we develop, test, secure and deploy software. This has enabled us to not only build and launch an innovative platform for fleet management, but it has also created substantial opportunities for future success with the tools and knowledge needed to address cloud-native demands.”</p>
<p><strong>Additional Resources</strong></p>
<p>Read more Red Hat customer success stories<br>
Learn more about Red Hat OpenShift<br>
Learn more about Red Hat Ansible Automation Platform<br>
Learn more about Red Hat Open Innovation Labs<br>
Learn more about cloud-native application development<br>
Connect with Red Hat</p>
<p><strong>Learn more about Red Hat</strong><br>
Get more news in the Red Hat newsroom<br>
Read the Red Hat blog<br>
Follow Red Hat on Twitter<br>
Join Red Hat on Facebook<br>
Watch Red Hat videos on YouTube<br>
Follow Red Hat on LinkedIn<br>
About Red Hat, Inc.</p>
<p>Red Hat is the world’s leading provider of enterprise open source software solutions, using a community-powered approach to deliver reliable and high-performing Linux, hybrid cloud, container, and Kubernetes technologies. Red Hat helps customers integrate new and existing IT applications, develop cloud-native applications, standardize on our industry-leading operating system, and automate, secure, and manage complex environments. Award-winning support, training, and consulting services make Red Hat a trusted adviser to the Fortune 500. As a strategic partner to cloud providers, system integrators, application vendors, customers, and open source communities, Red Hat can help organizations prepare for the digital future.</p>
<p><strong>Forward-Looking Statements</strong></p>
<p>Certain statements contained in this press release may constitute &#8220;forward-looking statements&#8221; within the meaning of the Private Securities Litigation Reform Act of 1995. Forward-looking statements provide current expectations of future events based on certain assumptions and include any statement that does not directly relate to any historical or current fact. Actual results may differ materially from those indicated by such forward-looking statements as a result of various important factors, including: risks related to the ability of the Company to compete effectively; the ability to deliver and stimulate demand for new products and technological innovations on a timely basis; delays or reductions in information technology spending; the integration of acquisitions and the ability to market successfully acquired technologies and products; risks related to errors or defects in our offerings and third-party products upon which our offerings depend; risks related to the security of our offerings and other data security vulnerabilities; fluctuations in exchange rates; changes in and a dependence on key personnel; the effects of industry consolidation; uncertainty and adverse results in litigation and related settlements; the inability to adequately protect Company intellectual property and the potential for infringement or breach of license claims of or relating to third party intellectual property; the ability to meet financial and operational challenges encountered in our international operations; and ineffective management of, and control over, the Company&#8217;s growth and international operations, as well as other factors. In addition to these factors, actual future performance, outcomes, and results may differ materially because of more general factors including (without limitation) general industry and market conditions and growth rates, economic and political conditions, governmental and public policy changes and the impact of natural disasters such as earthquakes and floods. The forward-looking statements included in this press release represent the Company&#8217;s views as of the date of this press release and these views could change. However, while the Company may elect to update these forward-looking statements at some point in the future, the Company specifically disclaims any obligation to do so. These forward-looking statements should not be relied upon as representing the Company&#8217;s views as of any date subsequent to the date of this press release.</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_89672"  width="675" height="379"  data-origwidth="675" data-origheight="379" src="https://www.youtube.com/embed/?enablejsapi=1&#038;list=PLTCuRW0ikUdMFARYSiWm733n1DcCem6bN&#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/continuous-deployment-software-market-upcoming-trends-forecast-till-2026-aws-circleci-ansible/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Docker Donates cnab-to-oci Converter Library to cnab.io: What It Means for CNAB Bundle Distribution</title>
		<link>https://www.bestdevops.com/docker-donates-converter-library-for-storing-cnab-bundles-in-container-registries-to-cnab-io/</link>
					<comments>https://www.bestdevops.com/docker-donates-converter-library-for-storing-cnab-bundles-in-container-registries-to-cnab-io/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Mon, 17 Feb 2020 05:59:32 +0000</pubDate>
				<category><![CDATA[Docker]]></category>
		<category><![CDATA[Bitnami]]></category>
		<category><![CDATA[Codefresh]]></category>
		<category><![CDATA[HashiCorp]]></category>
		<category><![CDATA[IT applications]]></category>
		<category><![CDATA[Kubernetes]]></category>
		<category><![CDATA[Microsoft]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=10644</guid>

					<description><![CDATA[Docker has donated the cnab-to-oci library to the CNAB project, enabling teams to store and distribute Cloud Native Application Bundles in OCI-compliant container registries using existing infrastructure.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>Source: <a href="https://www.infoq.com" rel="noopener">infoq.com</a></em></p>



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



<p class="wp-block-paragraph">Docker has donated the <strong>cnab-to-oci</strong> library to the Cloud Native Application Bundle (CNAB) project, hosted at <a href="https://cnab.io" rel="noopener">cnab.io</a>. The library allows teams to convert CNAB application bundles into a format that can be pushed to and pulled from OCI-compliant container registries, reusing existing registry infrastructure without requiring new distribution systems.</p>



<h2 class="wp-block-heading">What Is CNAB?</h2>



<p class="wp-block-paragraph">The Cloud Native Application Bundle (CNAB) specification is a cloud-agnostic standard for packaging and running distributed applications. It was originally co-developed by Docker, Microsoft, HashiCorp, Bitnami, Codefresh, and others, and was announced at DockerCon Europe 2018.</p>



<p class="wp-block-paragraph">CNAB introduces the concept of a <strong>bundle</strong> — a self-describing package that can represent applications composed of multiple components. Bundles can reference and incorporate:</p>



<ul class="wp-block-list">
<li>Helm charts</li>
<li>Kubernetes manifests</li>
<li>Terraform or other infrastructure templates</li>
<li>Dockerfiles and container images</li>
</ul>



<p class="wp-block-paragraph">This makes CNAB suitable for complex, multi-tool application deployments that span cloud environments.</p>



<h2 class="wp-block-heading">Anatomy of a CNAB Bundle</h2>



<p class="wp-block-paragraph">A CNAB bundle consists of three main parts:</p>



<ol class="wp-block-list">
<li><strong>bundle.json (the descriptor):</strong> Metadata that includes versioning information, configurable parameters, and references to all images and components in the bundle.</li>
<li><strong>The invocation image:</strong> A container image that holds the actual installer logic — the workflow needed to install, upgrade, or uninstall the application. It can include declarative configurations from tools like Helm and kubectl, and it manages the full bundle lifecycle.</li>
<li><strong>Bundle repositories:</strong> Metadata describing where component images are stored and how to retrieve them.</li>
</ol>



<h2 class="wp-block-heading">How cnab-to-oci Works</h2>



<p class="wp-block-paragraph">The <strong>cnab-to-oci</strong> tool is a reference implementation for distributing CNAB bundles using OCI-compliant or Docker registries. It leverages the <strong>OCI image index</strong> — defined in the OCI Image Specification — to package and store bundle data.</p>



<p class="wp-block-paragraph">The OCI image index is typically used by clients to discover platform-specific image manifests. However, the spec is deliberately open about the kinds of media it can contain, which cnab-to-oci exploits to store:</p>



<ul class="wp-block-list">
<li>The CNAB bundle metadata (<code>bundle.json</code>)</li>
<li>The invocation image</li>
<li>All component images referenced by the bundle</li>
</ul>



<p class="wp-block-paragraph">Currently, cnab-to-oci uses <strong>OCI annotations</strong> (which are optional fields in the OCI spec) to communicate the media type of each artifact stored in the index. A proposal was under discussion at the time of this announcement to add a formal <code>mediaType</code> field to the OCI index spec, which would make annotations unnecessary for this purpose.</p>



<h2 class="wp-block-heading">Atomic Transfer and Registry Consistency</h2>



<p class="wp-block-paragraph">Beyond simple packaging, cnab-to-oci is designed to ensure that all images referenced by a bundle are stored in the <strong>same registry</strong> and can be <strong>transferred atomically</strong> between registries. This provides end-users with a consistent, reliable view of a bundle — all required artifacts move together, reducing the risk of broken references or partial transfers.</p>



<h2 class="wp-block-heading">Who Uses cnab-to-oci?</h2>



<p class="wp-block-paragraph">At the time of the donation, cnab-to-oci was already in use by several tools in the CNAB ecosystem:</p>



<ul class="wp-block-list">
<li><strong>Docker App:</strong> Docker&#8217;s own implementation of the CNAB specification.</li>
<li><strong>Porter:</strong> A CNAB-compatible bundle management tool.</li>
<li><strong>Duffle:</strong> A reference implementation of the CNAB specification.</li>
</ul>



<h2 class="wp-block-heading">Standardizing CNAB Registry Distribution</h2>



<p class="wp-block-paragraph">The CNAB specification intentionally does not mandate a single distribution method for bundles — this flexibility is by design, allowing teams to use different backends suited to their environment. However, to improve interoperability, the <strong>CNAB Registries specification</strong> included a proposal to standardize how OCI registries can be used for bundle distribution. The cnab-to-oci donation moves that work into the shared CNAB project, making it available to all implementers rather than being owned by a single vendor.</p>



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



<p class="wp-block-paragraph">By donating cnab-to-oci to the CNAB project, Docker signals its commitment to a vendor-neutral approach to bundle distribution. Teams that already operate OCI-compliant registries — including Docker Hub, Amazon ECR, Google Artifact Registry, and Harbor — can use them to store and distribute CNAB bundles without deploying additional infrastructure. This reduces operational overhead and keeps multi-tool application packaging within familiar registry workflows.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/docker-donates-converter-library-for-storing-cnab-bundles-in-container-registries-to-cnab-io/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Wind River Launches Continuous Delivery Platform for Embedded Systems</title>
		<link>https://www.bestdevops.com/wind-river-launches-cd-platform-for-embedded-systems/</link>
					<comments>https://www.bestdevops.com/wind-river-launches-cd-platform-for-embedded-systems/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Fri, 14 Feb 2020 06:30:36 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<category><![CDATA[(CI/CD)]]></category>
		<category><![CDATA[CD platform]]></category>
		<category><![CDATA[IT applications]]></category>
		<category><![CDATA[IT trends]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software-Market]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=10579</guid>

					<description><![CDATA[Wind River has released an open-source-based continuous delivery platform built on Jenkins, targeting embedded Linux environments and the growing demands of edge computing and IoT.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>Original reporting: <a href="https://devops.com" rel="noopener">devops.com</a>. Original publication date: February 14, 2020.</em></p>



<h2 class="wp-block-heading">Wind River Brings DevOps Practices to Embedded Linux</h2>



<p class="wp-block-paragraph">Wind River has made available a continuous delivery (CD) platform aimed squarely at embedded systems developers. The move is part of a broader effort to bring modern DevOps practices — long established in enterprise software — to the more constrained and traditionally slower-moving world of embedded and edge computing.</p>



<p class="wp-block-paragraph">According to Glenn Seiler, Wind River&#8217;s Vice President for Open Source Strategy, the CD platform is built on an open-source instance of <strong>Jenkins</strong>, one of the most widely used CI/CD automation servers. The platform is distributed as downloadable source code and is designed to run on top of the <strong>Wind River Linux</strong> platform.</p>



<h2 class="wp-block-heading">Platform Architecture and Key Components</h2>



<p class="wp-block-paragraph">Wind River has assembled a modern toolchain to underpin its CD platform:</p>



<ul class="wp-block-list">
  <li><strong>Jenkins</strong> — open-source CI/CD engine at the core of the platform</li>
  <li><strong>Containers</strong> — for consistent, reproducible build and deployment environments</li>
  <li><strong>Kubernetes</strong> — for orchestrating containerized workloads</li>
  <li><strong>Puppet</strong> — for IT automation and configuration management</li>
  <li><strong>Artifact repository</strong> — to manage and version build outputs</li>
</ul>



<p class="wp-block-paragraph">Seiler noted that Wind River uses this platform internally and has committed to releasing updates at least every three weeks, which aligns with common sprint cadences in agile development environments.</p>



<h2 class="wp-block-heading">Complementing Existing CI Pipelines</h2>



<p class="wp-block-paragraph">Wind River&#8217;s CD platform is not intended to replace an organization&#8217;s existing continuous integration (CI) tooling. Instead, the company assumes that most customers already have a CI process of some kind in place. The platform focuses on the <em>delivery</em> side — accelerating how built artifacts are tested, promoted, and deployed — regardless of which CI system upstream produces them.</p>



<p class="wp-block-paragraph">This is a practical approach for embedded systems shops, where teams may have long-standing build workflows tied to specific toolchains or hardware. Rather than forcing a wholesale replacement, Wind River slots into the latter stages of the pipeline.</p>



<h2 class="wp-block-heading">Why Embedded Systems Need CD Now</h2>



<p class="wp-block-paragraph">Seiler acknowledged that DevOps adoption in embedded systems is still in its early stages. However, several converging trends are creating urgency:</p>



<ul class="wp-block-list">
  <li><strong>Edge computing</strong> is pushing application workloads further from centralized data centers, multiplying the number of deployment targets.</li>
  <li><strong>IoT growth</strong> means fleets of devices that require secure, reliable, and frequent software updates — often over the air.</li>
  <li><strong>Distributed architectures</strong> require automation at scale; manual deployment processes do not hold up when managing hundreds or thousands of endpoints.</li>
</ul>



<p class="wp-block-paragraph">Traditional embedded development cycles — long freeze periods, manual QA gates, and infrequent releases — are incompatible with the pace that edge and IoT applications now demand. Organizations that cannot ship updates quickly risk both security vulnerabilities and competitive disadvantage.</p>



<h2 class="wp-block-heading">Supply Chain Security and Compliance</h2>



<p class="wp-block-paragraph">Wind River has also addressed software supply chain integrity — an important concern whenever open-source components are embedded into safety- or security-critical systems. The company holds two relevant certifications:</p>



<ul class="wp-block-list">
  <li><strong>ISO 9001:2015</strong> — covering quality management processes for the platform&#8217;s development and delivery.</li>
  <li><strong>OpenChain specification</strong> — demonstrating conformance with open-source license compliance processes, reducing legal and supply chain risk for downstream users.</li>
</ul>



<h2 class="wp-block-heading">Developer Tooling: Wind River Workbench and Analysis Tools</h2>



<p class="wp-block-paragraph">Alongside the CD platform, Wind River offers <strong>Wind River Workbench for Linux LTS</strong>, an integrated development environment (IDE) based on Eclipse. The toolset also includes system analysis utilities, including a trace visualization tool from <strong>Percepio AB</strong> designed to help developers identify the root cause of runtime anomalies in embedded Linux systems.</p>



<h2 class="wp-block-heading">The Broader Culture Challenge</h2>



<p class="wp-block-paragraph">Tooling is only part of the story. Enterprise software teams spent well over a decade learning that DevOps adoption is as much an organizational and cultural shift as a technical one. Embedded systems teams face the same challenge, compounded by hardware constraints, safety certifications, and less familiarity with cloud-native development patterns.</p>



<p class="wp-block-paragraph">Wind River&#8217;s argument is that a curated, regularly maintained open-source CD platform reduces the operational burden of standing up and running DevOps infrastructure. By lowering that overhead, teams can redirect effort toward the harder work: rethinking workflows, breaking down silos between firmware and application developers, and building the automated test coverage that makes fast release cycles safe.</p>



<p class="wp-block-paragraph">Organizations beginning this journey in the embedded space can benefit from lessons already learned in enterprise DevOps, even if the specific tools and constraints differ significantly.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/wind-river-launches-cd-platform-for-embedded-systems/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ServiceNow Store Apps: Understanding the Ecosystem and Key Vendors</title>
		<link>https://www.bestdevops.com/servicenow-store-apps-market-how-the-market-has-witnessed-substantial-growth-in-recent-years-teamteamviewer-talkdesk-microsoft-teams-notifications/</link>
					<comments>https://www.bestdevops.com/servicenow-store-apps-market-how-the-market-has-witnessed-substantial-growth-in-recent-years-teamteamviewer-talkdesk-microsoft-teams-notifications/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Thu, 13 Feb 2020 05:48:02 +0000</pubDate>
				<category><![CDATA[Servicenow]]></category>
		<category><![CDATA[AppDynamics]]></category>
		<category><![CDATA[cloud-based]]></category>
		<category><![CDATA[IT applications]]></category>
		<category><![CDATA[ServiceNow]]></category>
		<category><![CDATA[Software-Market]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=10546</guid>

					<description><![CDATA[A practical overview of the ServiceNow Store Apps ecosystem, the major vendors and integration categories, and what DevOps and IT operations teams should know when evaluating third-party ServiceNow integrations.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>This article is based on a February 2020 market overview originally sourced from instanttechnews.com, referencing a QY Research report on the ServiceNow Store Apps market. Specific revenue figures and CAGR percentages in the original source were redacted placeholders (shown as &#8220;xxx&#8221; and &#8220;xx%&#8221;) and have not been reproduced here. See the review notes for details.</em></p>



<h2 class="wp-block-heading">What Is the ServiceNow Store?</h2>



<p class="wp-block-paragraph">The <a href="https://store.servicenow.com" rel="noopener noreferrer" target="_blank">ServiceNow Store</a> is the official marketplace for certified third-party applications and integrations that extend the ServiceNow platform. It allows organizations to add pre-built capabilities on top of core ServiceNow modules — covering IT Service Management (ITSM), IT Operations Management (ITOM), Security Operations, HR Service Delivery, and more — without building custom integrations from scratch.</p>



<p class="wp-block-paragraph">For DevOps and IT operations teams, the Store represents a practical shortcut: rather than writing and maintaining bespoke connectors, teams can install certified apps that have already passed ServiceNow&#8217;s technical validation process.</p>



<h2 class="wp-block-heading">Why the ServiceNow App Ecosystem Has Grown</h2>



<p class="wp-block-paragraph">Several converging factors have driven adoption of ServiceNow Store apps over recent years:</p>



<ul class="wp-block-list">
<li><strong>Enterprise adoption of ServiceNow itself:</strong> As more large enterprises standardized on ServiceNow as their IT workflow platform, demand grew for integrations with tools already in use — monitoring platforms, identity providers, communication tools, and remote support software.</li>
<li><strong>Hybrid and multi-cloud operations:</strong> Teams running workloads across cloud providers need monitoring and incident management tools that surface alerts inside a single pane of glass. ServiceNow integrations with tools like Dynatrace, AppDynamics, and PagerDuty address this directly.</li>
<li><strong>Compliance and identity requirements:</strong> Regulated industries increasingly require that access management and audit trails run through a single platform, driving integrations with identity tools such as Okta and SailPoint IdentityIQ.</li>
<li><strong>Remote work and collaboration:</strong> Tools like Microsoft Teams, Talkdesk, and LogMeIn Rescue gained significant enterprise footprint, and ServiceNow integrations allow agents to work incidents without leaving their primary communication interface.</li>
</ul>



<h2 class="wp-block-heading">Notable Vendors in the ServiceNow Store Ecosystem</h2>



<p class="wp-block-paragraph">The following vendors were highlighted in the original market overview as key players with certified apps in the ServiceNow Store. The descriptions below reflect their general integration use cases, not specific benchmark or sales data.</p>



<h3 class="wp-block-heading">Incident Alerting and On-Call Management</h3>



<ul class="wp-block-list">
<li><strong>PagerDuty:</strong> Bidirectional integration that syncs PagerDuty incidents with ServiceNow incidents. On-call escalation policies and alert routing can be managed from either platform.</li>
<li><strong>xMatters:</strong> Provides event-driven workflows that can trigger ServiceNow incident creation, notify the right on-call responders, and update records as incidents are resolved.</li>
</ul>



<h3 class="wp-block-heading">Application Performance Monitoring (APM)</h3>



<ul class="wp-block-list">
<li><strong>Dynatrace:</strong> Pushes AI-detected anomalies and root cause analysis data into ServiceNow ITOM, enabling automatic incident and change record creation.</li>
<li><strong>Cisco AppDynamics:</strong> Feeds application performance alerts into ServiceNow, correlating business transaction health with IT service records.</li>
</ul>



<h3 class="wp-block-heading">Identity and Access Management</h3>



<ul class="wp-block-list">
<li><strong>Okta:</strong> Integrates user provisioning and access request workflows with ServiceNow, allowing HR and IT teams to manage joiner/mover/leaver processes through a single workflow engine.</li>
<li><strong>SailPoint IdentityIQ:</strong> Surfaces access certification campaigns and policy violations as ServiceNow tasks, tying identity governance into the broader ITSM workflow.</li>
</ul>



<h3 class="wp-block-heading">Remote Support and Collaboration</h3>



<ul class="wp-block-list">
<li><strong>TeamViewer:</strong> Enables support agents to launch remote sessions directly from ServiceNow incident records, with session data logged back to the ticket.</li>
<li><strong>LogMeIn Rescue:</strong> Similar remote support capability, allowing technicians to initiate and log remote sessions without leaving ServiceNow.</li>
<li><strong>Glance:</strong> Provides screen-sharing and co-browsing capabilities triggered from within ServiceNow agent workspace.</li>
</ul>



<h3 class="wp-block-heading">Communication and Notification</h3>



<ul class="wp-block-list">
<li><strong>Microsoft Teams Notifications:</strong> Routes ServiceNow incident alerts, approval requests, and task updates directly to Teams channels or individual users, reducing context switching for agents.</li>
<li><strong>Talkdesk:</strong> Integrates cloud contact center functionality with ServiceNow, so inbound call data, caller history, and case records are surfaced automatically for agents handling voice interactions.</li>
</ul>



<h3 class="wp-block-heading">Software Asset and IT Asset Management</h3>



<ul class="wp-block-list">
<li><strong>Snow Software:</strong> Synchronizes software inventory and license compliance data with ServiceNow ITAM, providing a unified view of software assets and spend.</li>
<li><strong>Nuvolo:</strong> Extends ServiceNow into facilities and medical equipment management, connecting physical asset data with service workflows.</li>
<li><strong>Evergreen:</strong> Focused on IT portfolio and application rationalization data surfaced within the ServiceNow platform.</li>
</ul>



<h3 class="wp-block-heading">Enterprise Identity and Security</h3>



<ul class="wp-block-list">
<li><strong>IBM:</strong> IBM offers multiple integrations across ServiceNow modules, including connections to IBM QRadar for security operations and IBM Watson for virtual agent capabilities.</li>
</ul>



<h2 class="wp-block-heading">Deployment Models: Cloud-Based vs. Web-Based Apps</h2>



<p class="wp-block-paragraph">ServiceNow Store apps generally fall into two deployment patterns:</p>



<ul class="wp-block-list">
<li><strong>Cloud-based integrations:</strong> The third-party vendor hosts the integration middleware. ServiceNow communicates with the vendor&#8217;s cloud service via REST APIs or MID Server. This model reduces on-premises infrastructure requirements but introduces a dependency on the vendor&#8217;s availability and data processing terms.</li>
<li><strong>Web-based / platform-native apps:</strong> The app runs entirely within the ServiceNow instance as scoped application code. These integrations typically offer tighter platform cohesion and simpler upgrade paths aligned to ServiceNow release cycles.</li>
</ul>



<p class="wp-block-paragraph">When evaluating an app, check whether it uses a MID Server (relevant for on-premises or private cloud data sources), direct outbound REST calls, or a vendor-hosted iPaaS layer. Each has different firewall, latency, and data residency implications.</p>



<h2 class="wp-block-heading">Buyer Segments: Enterprise vs. SME Considerations</h2>



<p class="wp-block-paragraph">The market overview segments buyers into large enterprises and SMEs. In practice, the evaluation criteria differ significantly:</p>



<figure class="wp-block-table"><table><thead><tr><th>Consideration</th><th>Large Enterprise</th><th>SME</th></tr></thead><tbody><tr><td>Licensing model</td><td>Often negotiated enterprise agreements with vendors</td><td>Typically subscription tiers based on user or node count</td></tr><tr><td>Integration complexity</td><td>Multiple source systems, custom CMDB schemas</td><td>Simpler environments, often closer to out-of-box</td></tr><tr><td>Support requirements</td><td>Dedicated CSM, SLA-backed support</td><td>Community and documentation-driven</td></tr><tr><td>Compliance burden</td><td>High — SOC 2, FedRAMP, HIPAA may apply</td><td>Varies by industry; often lighter</td></tr><tr><td>Upgrade coordination</td><td>Change freeze windows, UAT cycles</td><td>More agile upgrade cadences possible</td></tr></tbody></table></figure>



<h2 class="wp-block-heading">What to Evaluate Before Installing a ServiceNow Store App</h2>



<p class="wp-block-paragraph">Not all Store apps are maintained equally. Before deploying any third-party app into a production instance, consider the following:</p>



<ol class="wp-block-list">
<li><strong>Certification level:</strong> ServiceNow distinguishes between &#8220;Built on Now&#8221; (developed by a partner on the platform) and apps that simply pass basic technical review. Understand which tier applies.</li>
<li><strong>ServiceNow release compatibility:</strong> Confirm the app supports your current instance version (e.g., Tokyo, Utah, Vancouver) and that the vendor has a track record of updating for new releases.</li>
<li><strong>MID Server requirements:</strong> If your data sources are behind a firewall, verify whether the integration requires a MID Server and what network access it needs.</li>
<li><strong>Scoped vs. global application:</strong> Scoped apps are sandboxed and safer to install, but may have access limitations. Global-scope apps have broader platform access and carry higher risk if poorly written.</li>
<li><strong>Support and roadmap:</strong> Check the vendor&#8217;s Store listing for last-updated date, user ratings, and whether they publish a public roadmap.</li>
<li><strong>Data handling:</strong> For integrations passing sensitive data (PII, security alerts), review the vendor&#8217;s data processing agreements and confirm data residency aligns with your compliance requirements.</li>
</ol>



<h2 class="wp-block-heading">Regional Adoption Patterns</h2>



<p class="wp-block-paragraph">The original market overview noted regional segmentation across North America, Europe, Asia-Pacific, and Latin America, with specific countries including the U.S., Canada, Germany, France, the U.K., Italy, Russia, China, Japan, South Korea, Taiwan, Southeast Asia, Mexico, and Brazil. North America has historically been the largest ServiceNow market given the concentration of Fortune 500 enterprises and technology-driven ITSM adoption. Europe represents significant growth driven by GDPR compliance requirements, which have accelerated investments in identity governance and security operations integrations. Asia-Pacific growth has been driven by manufacturing and financial services sectors expanding ServiceNow deployments.</p>



<h2 class="wp-block-heading">Strategic Trends Shaping the Ecosystem</h2>



<p class="wp-block-paragraph">Beyond individual vendor integrations, several broader trends are shaping how organizations use the ServiceNow Store:</p>



<ul class="wp-block-list">
<li><strong>AIOps integrations:</strong> Monitoring vendors are increasingly exposing AI-driven root cause analysis through their ServiceNow integrations, reducing mean time to identify (MTTI) by correlating alerts before a human reviews them.</li>
<li><strong>Low-code workflow composition:</strong> ServiceNow&#8217;s Flow Designer and IntegrationHub allow teams to build custom spokes connecting Store apps in multi-step workflows without writing Jelly or JavaScript.</li>
<li><strong>M&amp;A activity:</strong> Consolidation among monitoring, ITSM, and security vendors means integration points shift. Teams should track vendor acquisition news that may affect supported integrations.</li>
<li><strong>Zero-trust alignment:</strong> Identity-centric Store apps (Okta, SailPoint) are increasingly positioned as part of zero-trust architecture rollouts, not just IT provisioning tools.</li>
</ul>



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



<p class="wp-block-paragraph">The ServiceNow Store provides a structured, certified way to extend the ServiceNow platform with integrations from leading vendors across monitoring, identity, remote support, and communication categories. For DevOps and IT operations teams, the most practical value comes from bidirectional integrations that reduce context switching — surfacing alerts, approvals, and asset data directly within ServiceNow workflows rather than requiring agents to operate across disconnected tools. Evaluating apps on certification level, release compatibility, data handling, and vendor support cadence will reduce integration risk and total cost of ownership.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/servicenow-store-apps-market-how-the-market-has-witnessed-substantial-growth-in-recent-years-teamteamviewer-talkdesk-microsoft-teams-notifications/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Kubernetes Without Scale: Setting Up a Personal Cluster on a Single EC2 Instance (Part 2)</title>
		<link>https://www.bestdevops.com/kubernetes-without-scale-setting-up-a-personal-cluster-part-2/</link>
					<comments>https://www.bestdevops.com/kubernetes-without-scale-setting-up-a-personal-cluster-part-2/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Fri, 25 Oct 2019 06:51:26 +0000</pubDate>
				<category><![CDATA[Kubernetes]]></category>
		<category><![CDATA[Cluster]]></category>
		<category><![CDATA[install]]></category>
		<category><![CDATA[IT applications]]></category>
		<category><![CDATA[kubernete]]]></category>
		<category><![CDATA[repository]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=8856</guid>

					<description><![CDATA[Learn how to run a personal Kubernetes cluster on a single AWS EC2 t2.small instance using KIND, kubectl, Helm, cert-manager, and nginx-ingress — then deploy HackMD as a real-world example.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">This is Part 2 of a series on running Kubernetes at personal scale. In Part 1, we covered the rationale: Kubernetes is worth running even for low-traffic, single-user workloads because it makes installing third-party apps as simple as <code>helm install</code> and gives you strong infrastructure-as-code foundations. Here we walk through the full setup — from launching an EC2 instance to deploying a real application.</p>



<p class="wp-block-paragraph">Our target environment is a single <strong>t2.small</strong> EC2 instance (2 GB RAM, 1 vCPU, ~$15/month) running Ubuntu 18.04. We will use <a href="https://kind.sigs.k8s.io/">KIND (Kubernetes IN Docker)</a> to run the cluster, add <strong>cert-manager</strong> and <strong>nginx-ingress</strong> for TLS and routing, and finish by deploying <strong>HackMD</strong> — an open-source collaborative Markdown editor — as a proof of concept.</p>



<h2 class="wp-block-heading">Set Up a Machine</h2>



<p class="wp-block-paragraph">These instructions target AWS EC2, but the same approach works on any cloud provider or bare-metal host that can run Docker.</p>



<h3 class="wp-block-heading">Launch the Instance</h3>



<ol class="wp-block-list">
<li>Open the <strong>EC2 console</strong> and click <em>Launch Instance</em>.</li>
<li>Choose <strong>Ubuntu Server 18.04 LTS</strong> as the AMI.</li>
<li>Select the <strong>t2.small</strong> instance type. Do not go smaller — Kubernetes has significant baseline memory overhead. If you plan to run memory-hungry workloads (databases, CI runners, etc.) consider t2.medium or larger.</li>
<li>Increase the root volume from the default if you intend to store significant data on the node.</li>
<li>In the security group, open <strong>port 22</strong> (SSH), <strong>port 80</strong> (HTTP), and <strong>port 443</strong> (HTTPS).</li>
<li>Download and store your SSH key pair safely.</li>
</ol>



<h3 class="wp-block-heading">Assign an Elastic IP</h3>



<p class="wp-block-paragraph">EC2 instances get a new public IP every time they restart. An Elastic IP gives your instance a stable address that you can map to a DNS name.</p>



<ol class="wp-block-list">
<li>In the EC2 console, go to <em>Elastic IPs</em> → <em>Allocate Elastic IP address</em>.</li>
<li>Associate the new address with your new instance.</li>
</ol>



<h3 class="wp-block-heading">Create DNS Records</h3>



<p class="wp-block-paragraph">Head to <a href="https://console.aws.amazon.com/route53/home">Route 53</a> (or your DNS provider) and create two <strong>A records</strong>:</p>



<ul class="wp-block-list">
<li><code>*.example.com</code> → your Elastic IP (wildcard record covers every subdomain)</li>
<li><code>example.com</code> → your Elastic IP (optional, for the apex domain)</li>
</ul>



<p class="wp-block-paragraph">With DNS in place, every subdomain you configure on the cluster will automatically resolve to your server.</p>



<h2 class="wp-block-heading">Install Dependencies</h2>



<p class="wp-block-paragraph">SSH into your instance, then install the following tools in order.</p>



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



<p class="wp-block-paragraph">KIND runs Kubernetes inside Docker containers, so Docker is the foundational dependency.</p>


<pre class="wp-block-code"><span><code class="hljs language-php">sudo apt update
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https:<span class="hljs-comment">//download.docker.com/linux/ubuntu/gpg | sudo apt-key add -</span>
sudo add-apt-repository <span class="hljs-string">"deb &#91;arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"</span>
sudo apt update
sudo apt install -y docker-ce
sudo usermod -aG docker $USER
newgrp docker</code></span></pre>


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



<p class="wp-block-paragraph">KIND (Kubernetes IN Docker) creates a fully functional Kubernetes cluster using Docker containers as nodes. This is ideal for a single-machine setup.</p>


<pre class="wp-block-code"><span><code class="hljs language-javascript">curl -Lo ./kind https:<span class="hljs-comment">//github.com/kubernetes-sigs/kind/releases/download/v0.5.1/kind-$(uname)-amd64</span>
chmod +x ./kind
sudo mv ./kind /usr/local/bin/kind</code></span></pre>


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



<p class="wp-block-paragraph"><code>kubectl</code> is the primary CLI for communicating with any Kubernetes cluster. It reads your kubeconfig to know which cluster to talk to.</p>


<pre class="wp-block-code"><span><code class="hljs language-javascript">curl -LO <span class="hljs-string">"https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl"</span>
chmod +x ./kubectl
sudo mv ./kubectl /usr/local/bin/kubectl</code></span></pre>


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



<p class="wp-block-paragraph">Helm is the package manager for Kubernetes. Helm charts package up all the manifests needed to deploy an application (WordPress, Ghost, MySQL, GitLab, etc.) into a single, versioned, configurable unit.</p>


<pre class="wp-block-code"><span><code class="hljs">sudo snap install helm --classic</code></span></pre>


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



<p class="wp-block-paragraph">Reckoner is a Python tool that lets you declare multiple Helm releases in a single YAML file (called a <em>course file</em>), making it easier to manage several charts together with shared configuration and install hooks.</p>


<pre class="wp-block-code"><span><code class="hljs language-javascript">sudo apt-<span class="hljs-keyword">get</span> install -y python3 python3-pip
export PATH=$PATH:~/.local/bin/
pip3 install reckoner</code></span></pre>


<h3 class="wp-block-heading">Dependency Summary</h3>



<ul class="wp-block-list">
<li><strong>Docker</strong> — runs isolated containers (and hosts the KIND cluster nodes).</li>
<li><strong>KIND</strong> — bootstraps a Kubernetes control plane and worker node inside Docker.</li>
<li><strong>kubectl</strong> — CLI for managing Kubernetes resources.</li>
<li><strong>Helm</strong> — installs and upgrades packaged Kubernetes applications.</li>
<li><strong>Reckoner</strong> — manages multiple Helm charts declaratively from a single YAML file.</li>
</ul>



<h2 class="wp-block-heading">Build the Cluster</h2>



<p class="wp-block-paragraph">Create a file called <code>cluster.yaml</code>. Storing this in version control is strongly recommended — it is a complete description of your cluster topology.</p>



<h3 class="wp-block-heading">cluster.yaml</h3>


<pre class="wp-block-code"><span><code class="hljs language-javascript">kind: Cluster
<span class="hljs-attr">apiVersion</span>: kind.sigs.k8s.io/v1alpha3
<span class="hljs-attr">nodes</span>:
- role: control-plane
- role: worker
  <span class="hljs-attr">extraMounts</span>:
  - containerPath: <span class="hljs-regexp">/opt/</span>local-path-provisioner
    <span class="hljs-attr">hostPath</span>: <span class="hljs-regexp">/home/u</span>buntu/kind-disk
  <span class="hljs-attr">extraPortMappings</span>:
  - containerPort: <span class="hljs-number">80</span>
    <span class="hljs-attr">hostPort</span>: <span class="hljs-number">80</span>
    <span class="hljs-attr">listenAddress</span>: <span class="hljs-string">"0.0.0.0"</span>
  - containerPort: <span class="hljs-number">443</span>
    <span class="hljs-attr">hostPort</span>: <span class="hljs-number">443</span>
    <span class="hljs-attr">listenAddress</span>: <span class="hljs-string">"0.0.0.0"</span></code></span></pre>


<p class="wp-block-paragraph">Key decisions in this config:</p>



<ul class="wp-block-list">
<li><strong>Two roles</strong> — a <code>control-plane</code> node runs the Kubernetes API server, scheduler, and controller manager; the <code>worker</code> node runs your application pods.</li>
<li><strong>Persistent storage mount</strong> — <code>/home/ubuntu/kind-disk</code> on the host is mounted into the worker container so database volumes survive pod restarts. Adjust this path to suit your environment.</li>
<li><strong>Port mappings</strong> — ports 80 and 443 are forwarded from the host into the worker container so external HTTP/HTTPS traffic reaches the cluster.</li>
</ul>



<p class="wp-block-paragraph">Create the cluster and point <code>kubectl</code> at it:</p>


<pre class="wp-block-code"><span><code class="hljs language-javascript">kind create cluster --config cluster.yaml
<span class="hljs-keyword">export</span> KUBECONFIG=<span class="hljs-string">"$(kind get kubeconfig-path --name='kind')"</span></code></span></pre>


<p class="wp-block-paragraph">Verify both nodes are ready (this can take a minute or two):</p>


<pre class="wp-block-code"><span><code class="hljs language-javascript">kubectl <span class="hljs-keyword">get</span> nodes</code></span></pre>


<p class="wp-block-paragraph">Expected output:</p>


<pre class="wp-block-code"><span><code class="hljs language-css"><span class="hljs-selector-tag">NAME</span>                 <span class="hljs-selector-tag">STATUS</span>   <span class="hljs-selector-tag">ROLES</span>    <span class="hljs-selector-tag">AGE</span>    <span class="hljs-selector-tag">VERSION</span>
<span class="hljs-selector-tag">kind-control-plane</span>   <span class="hljs-selector-tag">Ready</span>    <span class="hljs-selector-tag">master</span>   109<span class="hljs-selector-tag">s</span>   <span class="hljs-selector-tag">v1</span><span class="hljs-selector-class">.15</span><span class="hljs-selector-class">.3</span>
<span class="hljs-selector-tag">kind-worker</span>          <span class="hljs-selector-tag">Ready</span>    &lt;<span class="hljs-selector-tag">none</span>&gt;   73<span class="hljs-selector-tag">s</span>    <span class="hljs-selector-tag">v1</span><span class="hljs-selector-class">.15</span><span class="hljs-selector-class">.3</span></code></span></pre>


<h2 class="wp-block-heading">Configure the Cluster</h2>



<h3 class="wp-block-heading">Install Tiller (Helm&#8217;s In-Cluster Component)</h3>



<p class="wp-block-paragraph">Helm 2 requires a server-side component called Tiller. We create a dedicated namespace and give it cluster-admin privileges via RBAC.</p>



<p class="wp-block-paragraph"><strong>tiller.rbac.yaml</strong></p>


<pre class="wp-block-code"><span><code class="hljs language-javascript">apiVersion: v1
<span class="hljs-attr">kind</span>: Namespace
<span class="hljs-attr">metadata</span>:
  name: tiller
---
apiVersion: v1
<span class="hljs-attr">kind</span>: ServiceAccount
<span class="hljs-attr">metadata</span>:
  name: tiller
  <span class="hljs-attr">namespace</span>: tiller
---
kind: ClusterRoleBinding
<span class="hljs-attr">apiVersion</span>: rbac.authorization.k8s.io/v1beta1
<span class="hljs-attr">metadata</span>:
  name: tiller-clusterrolebinding
<span class="hljs-attr">subjects</span>:
- kind: ServiceAccount
  <span class="hljs-attr">name</span>: tiller
  <span class="hljs-attr">namespace</span>: tiller
<span class="hljs-attr">roleRef</span>:
  kind: ClusterRole
  <span class="hljs-attr">name</span>: cluster-admin
  <span class="hljs-attr">apiGroup</span>: <span class="hljs-string">""</span></code></span></pre>

<pre class="wp-block-code"><span><code class="hljs language-javascript">kubectl apply -f tiller.rbac.yaml
<span class="hljs-keyword">export</span> TILLER_NAMESPACE=tiller
helm init --service-account tiller</code></span></pre>


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



<p class="wp-block-paragraph">KIND ships with a default <code>standard</code> storage class that does not persist data across container restarts. We replace it with Rancher&#8217;s <a href="https://github.com/rancher/local-path-provisioner">local-path-provisioner</a>, which writes data to the host directory we mounted in <code>cluster.yaml</code>.</p>


<pre class="wp-block-code"><span><code class="hljs language-php"><span class="hljs-comment"># Install the local-path-provisioner</span>
kubectl apply -f https:<span class="hljs-comment">//raw.githubusercontent.com/rancher/local-path-provisioner/master/deploy/local-path-storage.yaml</span>

<span class="hljs-comment"># Remove the default flag from the built-in 'standard' storage class</span>
kubectl patch storageclass standard -p <span class="hljs-string">'{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"false", "storageclass.beta.kubernetes.io/is-default-class":"false"}}}'</span>

<span class="hljs-comment"># Make local-path the new default</span>
kubectl patch storageclass local-path -p <span class="hljs-string">'{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true", "storageclass.beta.kubernetes.io/is-default-class":"true"}}}'</span></code></span></pre>


<h3 class="wp-block-heading">Install cert-manager and nginx-ingress</h3>



<p class="wp-block-paragraph">These two components handle the two things every public web service needs: TLS certificates and HTTP routing.</p>



<ul class="wp-block-list">
<li><strong>cert-manager</strong> — automatically provisions and renews TLS certificates from <a href="https://letsencrypt.org/">Let&#8217;s Encrypt</a>.</li>
<li><strong>nginx-ingress</strong> — proxies incoming HTTP/HTTPS requests to the correct Kubernetes service based on the hostname.</li>
</ul>



<p class="wp-block-paragraph">First, create <code>issuer.yaml</code> to tell cert-manager to use the Let&#8217;s Encrypt ACME v2 API. Replace <code>you@example.com</code> with your real email address (Let&#8217;s Encrypt uses it for expiry notices).</p>



<p class="wp-block-paragraph"><strong>issuer.yaml</strong></p>


<pre class="wp-block-code"><span><code class="hljs">apiVersion: cert-manager.io/v1alpha2
kind: ClusterIssuer
metadata:
  name: letsencrypt-prod
spec:
  acme:
    server: https://acme-v02.api.letsencrypt.org/directory
    email: you@example.com
    privateKeySecretRef:
      name: letsencrypt-prod
    solvers:
    - http01:
        ingress:
          class: nginx</code></span></pre>


<p class="wp-block-paragraph">Do not apply this manifest yet — cert-manager&#8217;s CRDs must exist first. Next, create <code>core.course.yaml</code> for Reckoner. The <code>post_install</code> hook on cert-manager applies <code>issuer.yaml</code> automatically after the chart is ready.</p>



<p class="wp-block-paragraph"><strong>core.course.yaml</strong></p>


<pre class="wp-block-code"><span><code class="hljs language-javascript">repositories:
  jetstack:
    url: https:<span class="hljs-comment">//charts.jetstack.io</span>
namespace: <span class="hljs-keyword">default</span>
<span class="hljs-attr">charts</span>:
  cert-manager:
    hooks:
      pre_install:
      - kubectl apply --validate=<span class="hljs-literal">false</span> -f https:<span class="hljs-comment">//raw.githubusercontent.com/jetstack/cert-manager/release-0.11/deploy/manifests/00-crds.yaml</span>
      post_install:
      - sleep <span class="hljs-number">30</span> &amp;&amp; kubectl apply -f issuer.yaml
    <span class="hljs-attr">namespace</span>: cert-manager
    <span class="hljs-attr">repository</span>: jetstack
  nginx-ingress:
    namespace: nginx-ingress
    <span class="hljs-attr">values</span>:
      controller:
        hostNetwork: <span class="hljs-literal">true</span>
        <span class="hljs-attr">service</span>:
          type: LoadBalancer</code></span></pre>


<p class="wp-block-paragraph">Run Reckoner to install both charts:</p>


<pre class="wp-block-code"><span><code class="hljs language-css"><span class="hljs-selector-tag">reckoner</span> <span class="hljs-selector-tag">plot</span> <span class="hljs-selector-tag">core</span><span class="hljs-selector-class">.course</span><span class="hljs-selector-class">.yaml</span></code></span></pre>


<p class="wp-block-paragraph">Verify the pods are running (allow a minute or two for images to pull):</p>


<pre class="wp-block-code"><span><code class="hljs language-javascript">$ kubectl <span class="hljs-keyword">get</span> pods -n nginx-ingress
NAME                                             READY   STATUS    RESTARTS   AGE
nginx-ingress-controller-664b77978-gbd59         1/1     Running   0          14s
nginx-ingress-default-backend-576b86996d-fjb4k   1/1     Running   0          14s

$ kubectl <span class="hljs-keyword">get</span> pods -n cert-manager
NAME                                       READY   STATUS    RESTARTS   AGE
cert-manager-6b78b7c997-mblt4              1/1     Running   0          18s
cert-manager-cainjector-54c4796c5d-psdgt   1/1     Running   0          18s
cert-manager-webhook-77ccf5c8b4-8tkwt      1/1     Running   0          17s</code></span></pre>


<h2 class="wp-block-heading">Install an Application: HackMD</h2>



<p class="wp-block-paragraph">To validate the full stack, we&#8217;ll deploy <strong>HackMD</strong> (now known as CodiMD/HedgeDoc), an open-source, real-time collaborative Markdown editor. It is a lightweight, self-hosted alternative to Google Docs, and it stores all data in a PostgreSQL database that will live in your <code>kind-disk</code> directory.</p>



<h3 class="wp-block-heading">Create the Ingress</h3>



<p class="wp-block-paragraph">The Ingress resource tells nginx-ingress how to route traffic for <code>hackmd.example.com</code> and instructs cert-manager to obtain a TLS certificate. Replace both occurrences of <code>example.com</code> with your real domain.</p>



<p class="wp-block-paragraph"><strong>ingress.yaml</strong></p>


<pre class="wp-block-code"><span><code class="hljs">apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    kubernetes.io/ingress.class: nginx
    cert-manager.io/cluster-issuer: letsencrypt-prod
    kubernetes.io/tls-acme: "true"
  name: hackmd
  namespace: hackmd
spec:
  rules:
    - host: hackmd.example.com
      http:
        paths:
          - backend:
              serviceName: hackmd
              servicePort: 3000
            path: /
  tls:
  - secretName: tls-prod-cert
    hosts:
    - hackmd.example.com</code></span></pre>


<h3 class="wp-block-heading">Create the Reckoner App Course File</h3>



<p class="wp-block-paragraph">Add HackMD to a separate course file for application-layer charts. As you deploy more apps, add them here.</p>



<p class="wp-block-paragraph"><strong>apps.course.yaml</strong></p>


<pre class="wp-block-code"><span><code class="hljs language-javascript">namespace: <span class="hljs-keyword">default</span>
<span class="hljs-attr">charts</span>:
  hackmd:
    namespace: hackmd
    <span class="hljs-attr">hooks</span>:
      post_install:
      - kubectl apply -f ./ingress.yaml</code></span></pre>


<p class="wp-block-paragraph">Deploy it:</p>


<pre class="wp-block-code"><span><code class="hljs language-css"><span class="hljs-selector-tag">reckoner</span> <span class="hljs-selector-tag">plot</span> <span class="hljs-selector-tag">apps</span><span class="hljs-selector-class">.course</span><span class="hljs-selector-class">.yaml</span></code></span></pre>


<p class="wp-block-paragraph">After a few moments, HackMD should be accessible at <code>https://hackmd.example.com</code>. cert-manager will automatically obtain a Let&#8217;s Encrypt certificate. Data will be stored under <code>/home/ubuntu/kind-disk</code> on the host.</p>



<h2 class="wp-block-heading">Adding More Applications</h2>



<p class="wp-block-paragraph">The pattern for every future application is the same:</p>



<ol class="wp-block-list">
<li>Add a chart entry to <code>apps.course.yaml</code>.</li>
<li>Create a corresponding <code>ingress.yaml</code> pointing to your domain.</li>
<li>Run <code>reckoner plot apps.course.yaml</code>.</li>
</ol>



<p class="wp-block-paragraph">Because all your configuration lives in YAML files committed to Git, you can recreate the entire cluster — including all applications — on a new machine by replaying the same commands. This is the core value proposition of infrastructure as code at personal scale.</p>



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



<figure class="wp-block-table"><table><thead><tr><th>Component</th><th>Role</th></tr></thead><tbody><tr><td>KIND</td><td>Runs a Kubernetes cluster inside Docker on a single host</td></tr><tr><td>kubectl</td><td>CLI for all cluster interactions</td></tr><tr><td>Helm + Tiller</td><td>Installs and manages packaged Kubernetes applications</td></tr><tr><td>Reckoner</td><td>Declares multiple Helm releases in one YAML file</td></tr><tr><td>local-path-provisioner</td><td>Provides persistent storage backed by a host directory</td></tr><tr><td>nginx-ingress</td><td>Routes external HTTP/HTTPS traffic to the right service</td></tr><tr><td>cert-manager</td><td>Automatically provisions and renews Let&#8217;s Encrypt TLS certs</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">Running Kubernetes at personal scale adds some operational complexity, but it pays off quickly: every application you self-host follows the same installation and upgrade pattern, your infrastructure is fully version-controlled, and migrating to a larger machine requires nothing more than replaying your playbooks.</p>



<p class="wp-block-paragraph"><em>Original article sourced from containerjournal.com (2019).</em></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/kubernetes-without-scale-setting-up-a-personal-cluster-part-2/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How to succeed at DevOps? Here are 5 factors to consider</title>
		<link>https://www.bestdevops.com/how-to-succeed-at-devops-here-are-5-factors-to-consider/</link>
					<comments>https://www.bestdevops.com/how-to-succeed-at-devops-here-are-5-factors-to-consider/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Wed, 29 Nov 2017 05:00:22 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<category><![CDATA[DevOps Tools]]></category>
		<category><![CDATA[DevOps strategy]]></category>
		<category><![CDATA[IT applications]]></category>
		<category><![CDATA[Microservices architecture]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=3019</guid>

					<description><![CDATA[Source &#8211; ciol.com CIOs at large, medium and even small organizations nowadays are looking towards transitioning from legacy project-based, waterfall model [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Source &#8211;<strong> ciol.com</strong></p>
<p>CIOs at large, medium and even small organizations nowadays are looking towards transitioning from legacy project-based, waterfall model to uninterrupted delivery of software. DevOps is the proven way to achieve it.</p>
<p>DevOps refers to a methodology as well as cultural shift in the way organizations function. Unlike traditional waterfall model where project moves from one phase to the next (and cannot be reversed), DevOps brings collaboration amongst strategy, product management, development, quality testing, and support teams to provide for continuous cycle of product development, learning, and improvement. It is a necessity for mission-critical projects where infrastructure downtime or failure costs can be high.</p>
<p>While DevOps can help companies deploy applications faster than conventional approach, the journey is far from an overnight transition. There are some critical factors that need to be considered for truly succeeding at DevOps.</p>
<p>Here are the top 5 critical success factors:</p>
<p><b>1. Leveraging Automation</b><b>: </b>An important part of DevOps implementation is to develop applications or bring changes to the existing ones at the speed of business. By automating the iterative tasks, the team can focus on more important strategic areas and achieve business objectives within the desired timeline. Moreover, executing changes manually on the infrastructure can be highly complex, time-taking, buggy and inefficient without tools like Chef, Puppet, Ansible, CloudFormation, Terraform, etc. Hence, it is critical to ensure the infra runs without any inconsistencies and behaves in accordance when you’re updating new changes in the applications.</p>
<p><b>2. Orchestration:</b><b> </b>Orchestration takes the traditional automation to the next level. It streamlines and joins several automated tasks together to create a process or workflow that speeds up development process. In other words, orchestration breaks the operational silos and makes DevOps a truly collaborative process between developers, operations, and quality assessment teams. Orchestration makes use of already available interfaces. Therefore, the teams do not have to depend on rip and replace approach. They can develop automated workflows from existing APIs and integrate them using an orchestration platform, rather than stopping and re-developing from scratch.</p>
<p>After introducing an orchestration service and subsequent new workflows, the business should continue to use automation tools to replace repetitive processes and build new workflows that are faster, more accurate, and cost effective. The success of DevOps largely depends upon the ability to implement automation and orchestration for application delivery.</p>
<p><b>3. Microservices Based Architecture</b><b>: </b>Microservices means a software-based system architecture that can be utilized for developing complex IT applications by using smaller, independent mini-applications. These applications interact with each other through APIs. Using these modules, businesses can optimally allocate their workloads across different teams or businesses units, bring flexibility to operations, and accelerate the project lifecycle. Moreover, these standard APIs are part of a structured library and can be used repetitively, as and when required. Microservices provide the ability to quickly develop applications that address business problems.</p>
<p><b>4. Containerization</b><b>: </b>In simple terms, a container carries the entire runtime environment: an application, dependencies, libraries, binaries, and configuration files required to run it. All of this comes in a single, convenient package. Containerization allows the abstraction of differences in operating systems and underlying infrastructure. It is an effective way to simplify the DevOps implementation. Containerization can be used for automation of some IT processes and convenient application packaging. The Ops team develops containers with all configurations; and the Dev team can work on coding of the application, thus, setting their priorities straight. Containers come up way more faster than the standalone servers so scaling is really fast. With containerization, businesses can reduce human errors in development and implementation, utilize resources more efficiently, and cut down their time to market.</p>
<p><b>5. Investment in DevOps tools for monitoring and logging</b><b>: </b>Once<b> </b>the complete<b> </b>architecture is implemented, it is important to continuously invest in monitoring as well as logging. Since every DevOps project is unique in nature, not every aspect needs monitoring. The organization should identify critical aspects of the projects and use appropriate monitoring tools accordingly. Some of these aspects include development milestones, project vulnerabilities, deployment status, server health, and activity monitoring etc. There are popular tools like issue trackers and integration servers that can monitor some of these aspects. But investment in a comprehensive toolkit that monitors all aspects will enable the complete DevOps strategy for an organization and ensure a reliable infrastructure, product, and process. Logging on the other hand is critical to shoot automated alerts to the concerned team when the system sees errors in logs. These logs also trigger alerts for system logs and auth logs to track any malicious activity. Nonetheless, a centralized monitoring and logging dashboard such as ELK stack for open source solution; Splunk for enterprise organisation is a must.</p>
<p>However promising DevOps may be, it is not a one-size-fits-all solution. Every organization needs to have its own strategy for DevOps implementation. The key is to transition away from legacy approach to DevOps slowly and steadily, taking care of specific challenges on the way.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/how-to-succeed-at-devops-here-are-5-factors-to-consider/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
