<?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>Elasticsearch &#8211; Best DevOps</title>
	<atom:link href="https://www.bestdevops.com/tag/elasticsearch/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:33:56 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.3</generator>
	<item>
		<title>How can we become Elastic Certified Engineers?</title>
		<link>https://www.bestdevops.com/how-can-we-become-elastic-certified-engineers/</link>
		
		<dc:creator><![CDATA[rahulkr]]></dc:creator>
		<pubDate>Wed, 25 Aug 2021 14:15:57 +0000</pubDate>
				<category><![CDATA[Data Science]]></category>
		<category><![CDATA[Eleastic Search]]></category>
		<category><![CDATA[IT Monitoring]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Benefits]]></category>
		<category><![CDATA[Big data]]></category>
		<category><![CDATA[Certification]]></category>
		<category><![CDATA[Courses]]></category>
		<category><![CDATA[Elastic]]></category>
		<category><![CDATA[Elasticsearch]]></category>
		<category><![CDATA[Engineers]]></category>
		<category><![CDATA[Training and Certification]]></category>
		<guid isPermaLink="false">https://www.bestdevops.com/?p=19752</guid>

					<description><![CDATA[What is an elastic engineer? Before defining elastic search. I give you a brief explanation that you are in the [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h1 class="wp-block-heading"><strong>What is an elastic engineer?</strong></h1>



<div class="wp-block-image"><figure class="aligncenter size-full is-resized"><img fetchpriority="high" decoding="async" src="https://www.bestdevops.com/wp-content/uploads/2021/08/elasticsearchengineer.jpg" alt="" class="wp-image-19753" width="798" height="495" srcset="https://www.bestdevops.com/wp-content/uploads/2021/08/elasticsearchengineer.jpg 960w, https://www.bestdevops.com/wp-content/uploads/2021/08/elasticsearchengineer-300x186.jpg 300w, https://www.bestdevops.com/wp-content/uploads/2021/08/elasticsearchengineer-768x477.jpg 768w" sizes="(max-width: 798px) 100vw, 798px" /></figure></div>



<p class="wp-block-paragraph">Before defining elastic search. I give you a brief explanation that you are in the field of data science and big data and you may have heard about elastic search and you might be wondering that how does search engine <a href="https://www.devopsschool.com/">technology</a> helps you in extracting meaning from your data at scale. How do you get answers in milliseconds? Let’s talk about that it started off as a scalable lucence version.it adds a horizontally scalable search engine. There are shards and each “shard” is an inverted index of documents but not just for full-text search.it only can handle structure data, &amp; can aggregate data quickly and often doing a faster solution than Hadoop/ spark /flink/etc.</p>



<p class="wp-block-paragraph">Often, you listen to engineers. Their sorts of priorities and various forms include in it. Now, among all engineering streams. Elastic is an integral part of the elastic search engineer. Let’s talk about an elastic certified engineer. An elastic engineer possesses the ability and skills on performing a necessary task to build complete solutions of elastic search and monitoring the functions of install, configure, and manage the cluster, indexing data into the clusters, query, and analyzing the index data.</p>



<h1 class="wp-block-heading"><strong>What are the benefits of elastic engineer?</strong></h1>



<div class="wp-block-image"><figure class="alignright size-full is-resized"><img decoding="async" src="https://www.bestdevops.com/wp-content/uploads/2021/08/Monitoring-1.png" alt="" class="wp-image-19754" width="544" height="370" srcset="https://www.bestdevops.com/wp-content/uploads/2021/08/Monitoring-1.png 777w, https://www.bestdevops.com/wp-content/uploads/2021/08/Monitoring-1-300x204.png 300w, https://www.bestdevops.com/wp-content/uploads/2021/08/Monitoring-1-768x523.png 768w" sizes="(max-width: 544px) 100vw, 544px" /></figure></div>



<p class="wp-block-paragraph">&nbsp;Getting ideas about the elastic engineer. Now, it’s time to take action on benefits. What’re benefits do you getting from elastic engineering and you just can’t say words for it. After the completion of the exam and certifications then you behave as you saying. There are some of the benefits according to the ideology of elastic engineer as categorized:</p>



<ul class="wp-block-list"><li><strong>Scalability</strong></li><li><strong>Really fast</strong></li><li><strong>Multilingual</strong></li><li><strong>Document oriented</strong></li><li><strong>Auto-completion &amp; instant search</strong></li><li><strong>Scheme free</strong></li></ul>



<h1 class="wp-block-heading"><strong>Why we should learn elastic engineer?</strong></h1>



<p class="wp-block-paragraph">If you are talking about the elastic engineer then first you should assemble the conceptual knowledge about why you are learning or necessity along with the cause? Through, the learning path of elastic certification. It’s proven to be fruitful in the sectors of IT entities and organizations. Due to its Performa-based courses/training along with the professionals. That will give you the using concept with skills, task building techniques on the elastic search on the basis of two courses which are packed with elastic search engineer I and elastic search engineer II. Its certification is based on the elastic search engineer exam and after completing the procedure of all. It will create awesome technological advances, feed awareness about the industry and its impacts on the environment. One of the prominent roles of elastic certification is the job opportunity, creativity, and innovation in favor of drastic enhances.</p>



<h1 class="wp-block-heading"><strong>How our elastic engineer course/training would help?</strong></h1>



<div class="wp-block-image"><figure class="aligncenter size-full is-resized"><img decoding="async" src="https://www.bestdevops.com/wp-content/uploads/2021/08/elastic-search.jpg" alt="" class="wp-image-19755" width="711" height="395" srcset="https://www.bestdevops.com/wp-content/uploads/2021/08/elastic-search.jpg 450w, https://www.bestdevops.com/wp-content/uploads/2021/08/elastic-search-300x167.jpg 300w" sizes="(max-width: 711px) 100vw, 711px" /></figure></div>



<p class="wp-block-paragraph">After taking the course structure of elastic search engineer. It will create ideology about the elastic search and perform functionalities in the areas of sharding techniques &amp; strategies, tuning for ingest speed, monitoring the stack, backing up your data, and query theory.</p>



<p class="wp-block-paragraph"> Getting command all over the ability and data experiences will make you job achiever, exam certification and build techniques to qualify in performance considerations, high availability, always use bulk, increase refresh, disable replicas, templates/mapping, monitoring, delete snapshots, general things to avoid, general things to do, and tools for console &amp; search profiler for better technology development. These training courses will help you to understand the advances in elastic search, develop skills, better performances and produce high-paid salary job opportunities towards the IT infrastructure. In this matter, I would like to prefer this course in the industry of software development for your future goals.</p>



<h3 class="wp-block-heading">Related video:</h3>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy"  id="_ytid_39238"  width="675" height="379"  data-origwidth="675" data-origheight="379" src="https://www.youtube.com/embed/DR-zJXxtefE?enablejsapi=1&#038;autoplay=0&#038;cc_load_policy=0&#038;cc_lang_pref=&#038;iv_load_policy=1&#038;loop=0&#038;rel=1&#038;fs=1&#038;playsinline=0&#038;autohide=2&#038;theme=dark&#038;color=red&#038;controls=1&#038;disablekb=0&#038;" class="__youtube_prefs__  epyt-is-override  no-lazyload" title="YouTube player"  allow="fullscreen; accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen data-no-lazy="1" data-skipgform_ajax_framebjll=""></iframe>
</div></figure>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>With DevOps, Security Is Everybody&#8217;s Responsibility — So What Comes Next?</title>
		<link>https://www.bestdevops.com/with-devops-security-is-everybodys-responsibility-ok-so-whats-next/</link>
					<comments>https://www.bestdevops.com/with-devops-security-is-everybodys-responsibility-ok-so-whats-next/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Tue, 11 Aug 2020 06:56:40 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<category><![CDATA[AWS]]></category>
		<category><![CDATA[Chef]]></category>
		<category><![CDATA[CI/CD]]></category>
		<category><![CDATA[Elasticsearch]]></category>
		<category><![CDATA[Puppet]]></category>
		<category><![CDATA[terraform]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=13236</guid>

					<description><![CDATA[DevSecOps promises to make security a shared responsibility across development teams, but shifting security left is harder in practice than in theory. Here's what organizations actually need to do beyond adopting the label.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>This article is based on a sponsored piece originally published on devclass.com, featuring commentary from Guy Eisenkot, co-founder and VP of Product at Bridgecrew.</em></p>



<h2 class="wp-block-heading">The DevSecOps Promise vs. Reality</h2>



<p class="wp-block-paragraph">For several years, DevSecOps has been positioned as the answer to a persistent problem: how do you ship cloud applications quickly without compromising security? The traditional approach — retrofitting complex security policies onto a hierarchical development pipeline — simply doesn&#8217;t scale in a world of rapid, collaborative cloud development.</p>



<p class="wp-block-paragraph">The DevSecOps model proposes a cleaner solution: bake security into the software development lifecycle from the earliest stages. Instead of a separate security team reviewing finished work, every developer becomes a security stakeholder. This &#8220;shift left&#8221; philosophy is designed to be preventative rather than reactive — catch problems at the source, and you spend far less time firefighting later.</p>



<p class="wp-block-paragraph">In theory, this makes particular sense on cloud platforms that assume rapid deployment, distributed teams, and continuous delivery. There is no longer a hard boundary between the development team, the security team, and the operations team. In practice, however, &#8220;shift left&#8221; is more talked about than actually practised. Many organizations have adopted the terminology without making the cultural or tooling changes required to back it up.</p>



<h2 class="wp-block-heading">The Governance Gap in Cloud Development</h2>



<p class="wp-block-paragraph">One of the core challenges is visibility and control. As Guy Eisenkot, co-founder and VP of Product at Bridgecrew, puts it:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;There is a lack of control in this model. With the shift into cloud development and the fact that coders can always get a better answer on Stack Overflow and GitHub, it&#8217;s become practically impossible to track the supply chain. It&#8217;s a governance problem.&#8221;</p></blockquote>



<p class="wp-block-paragraph">Security has become a focal point of continuous development, but it remains a work in progress alongside competing priorities like performance and new features. And crucially, the available tools — while useful — are not sufficient on their own.</p>



<p class="wp-block-paragraph">Consider a common scenario: an Elasticsearch cluster is inadvertently left in a publicly accessible state. Under a traditional hierarchical model, a security scan flags this issue and sends it to a ticketing system, where it may sit for hours before someone with the right access resolves it. The more effective approach is to surface this misconfiguration as part of the CI/CD pipeline, pushing an immediate alert to the team that introduced the error. Remediation can then happen at compile time rather than at runtime — preventing a potentially serious exposure rather than scrambling to contain one.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;It&#8217;s not simply that the tools are not enough — it&#8217;s that too many of them are reporting alerts and sending them to Slack channels, Jira tickets, and other queues instead of going to a developer&#8217;s desktop and CI tools.&#8221; — Guy Eisenkot, Bridgecrew</p></blockquote>



<h2 class="wp-block-heading">Infrastructure as Code: A Double-Edged Sword</h2>



<p class="wp-block-paragraph">Infrastructure as Code (IaC) is often cited as the mechanism that makes security &#8220;everyone&#8217;s business.&#8221; By turning the provisioning of cloud and data centre services into machine-readable code — bundled into automated workflows or templates — IaC removes the need for manual configuration steps and fragmented console tools.</p>



<p class="wp-block-paragraph">Tools like Terraform, Chef, and Puppet have become central to this model. IaC configuration can be pushed directly to servers or pulled via a configuration server to a cloud provider&#8217;s infrastructure. Terraform, for example, typically treats resources as immutable: rather than modifying an existing setup, it tears down and rebuilds the resource from scratch.</p>



<p class="wp-block-paragraph">But IaC introduces its own risks. The same mechanisms that give developers extraordinary speed and freedom also make it easy to embed security misconfigurations at scale. According to analysis by Bridgecrew, at least four in ten IaC templates contain a misconfiguration that can slip through into runtime vulnerabilities. The tools to provision cloud infrastructure have been successfully decentralised — but the expertise required to manage that provisioning securely has often remained centralised and is therefore becoming less effective as teams grow.</p>



<p class="wp-block-paragraph">As Eisenkot explains, deployment velocity compounds the problem:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;It suddenly doesn&#8217;t take six months to deploy a change to an application — it takes a few minutes. This speed is a blessing in disguise because it creates challenges when we deploy software very fast. Where do we make the compromises?&#8221;</p></blockquote>



<h2 class="wp-block-heading">The Blind Spots in Modern Cloud Architectures</h2>



<p class="wp-block-paragraph">A particularly difficult challenge is that compliance and risk managers often cannot see what is happening across environments where developers have been given broad, often necessary freedoms.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;There are blind spots. How do you ensure you know what&#8217;s going on in your environment? The idea that we know everything that&#8217;s going on in our architecture is an assumption we can&#8217;t make any more.&#8221; — Guy Eisenkot</p></blockquote>



<p class="wp-block-paragraph">This plays out in mundane but consequential ways. Older IaC templates — some dating back years — may encode practices that are now considered insecure. Encryption at rest, for instance, was not enabled by default in some database packages until relatively recently. Surfacing these historical misconfigurations through automated scanning can yield quick wins on day one of a security improvement initiative.</p>



<h2 class="wp-block-heading">What a Practical DevSecOps Platform Looks Like</h2>



<p class="wp-block-paragraph">Bridgecrew&#8217;s approach illustrates one way to bridge the gap between intent and practice. Rather than adding another alert queue, the platform is designed to integrate directly into the developer&#8217;s existing workflow — scanning IaC templates for misconfigurations and policy violations before errors reach deployed infrastructure, and issuing pull requests to surface issues where developers are already working.</p>



<p class="wp-block-paragraph">Key capabilities in this kind of platform include:</p>



<ul class="wp-block-list">
<li><strong>Build-time scanning:</strong> Identifying IaC misconfigurations and policy violations during the build phase — before they reach production infrastructure. This also enables the generation of compliance reports against standards such as PCI DSS.</li>
<li><strong>Cloud integration:</strong> Connecting to AWS, Microsoft Azure, and Google Cloud Platform, as well as scanning configurations expressed in CloudFormation, Kubernetes, and Terraform.</li>
<li><strong>Read-only deployment model:</strong> The platform can be deployed by running a CloudFormation or Terraform template on the target cloud account, which creates a read-only role. This enables scheduled scans of configuration states and continuous evaluation without requiring write access to production environments.</li>
<li><strong>Playbooks and remediation scripts:</strong> Automation that addresses common problems across cloud platforms, reducing the number of manual steps required to resolve a known class of misconfiguration.</li>
</ul>



<p class="wp-block-paragraph">Playbooks have real-world limitations, however. In highly automated cloud deployments, a change applied by a playbook can be inadvertently reversed by a subsequent automated change. Remediation therefore needs to be integrated at the pipeline level, not applied as a one-off fix.</p>



<h2 class="wp-block-heading">Open Source Tools Supporting IaC Security</h2>



<p class="wp-block-paragraph">Bridgecrew has contributed several open source tools to this space:</p>



<ul class="wp-block-list">
<li><strong>Checkov:</strong> A static analysis tool for IaC that scans Terraform, CloudFormation, and Kubernetes configurations for misconfigurations.</li>
<li><strong>AirIAM:</strong> An AWS Least Privilege Terraformer that generates a Terraform template designed to reduce IAM permissions to the minimum required — limiting the blast radius of a compromise.</li>
<li><strong>Terragoat:</strong> A deliberately vulnerable learning environment for experimenting with secure cloud configuration pipelines — useful for training developers to recognise common mistakes.</li>
</ul>



<h2 class="wp-block-heading">The Technical Challenges of Scanning IaC at Scale</h2>



<p class="wp-block-paragraph">Scanning IaC templates accurately is harder than it sounds. Eisenkot is candid about the complexity involved:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;It becomes extremely complicated when trying to build a data model that depicts how configuration will eventually manifest based on the prescribed plan. It is imperative to extract its variables and dependencies against the entire code base. Without this step, scans could result in both false positives — configurations that don&#8217;t extract all their dependencies — or false negatives that are not identified due to misinterpretation of the IaC plan.&#8221;</p></blockquote>



<p class="wp-block-paragraph">This highlights an important point for teams evaluating IaC scanning tools: a tool that produces too many false positives will be ignored by developers, while one that misses real issues due to incomplete dependency resolution can create a false sense of security. The quality of the underlying data model matters as much as the scanning rules themselves.</p>



<h2 class="wp-block-heading">Beyond Tooling: Education and Culture</h2>



<p class="wp-block-paragraph">Ultimately, Bridgecrew&#8217;s experience points to a lesson that applies more broadly across DevSecOps: giving developers a new tool to detect bad decisions is only part of the solution. The more durable fix is education — helping developers understand why certain configurations are dangerous and how to make better decisions before writing the code in the first place.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;We learned that it&#8217;s not only about giving developers the panic button, but we also had to educate them on making the right decisions when building new infrastructure in the public cloud.&#8221;</p></blockquote>



<p class="wp-block-paragraph">By surfacing misconfigurations at the pull request or build report stage — with actionable guidance on how to fix them — teams can address problems before they reach production rather than after. This changes the developer&#8217;s relationship with security from a compliance burden to an integral part of the build process.</p>



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



<ul class="wp-block-list">
<li>&#8220;Shift left&#8221; only works if security feedback reaches developers in the tools they already use — not in a separate queue or alert channel.</li>
<li>IaC accelerates both delivery and the spread of misconfigurations. Automated scanning at build time is essential, not optional.</li>
<li>Compliance and risk visibility requires read access across the full cloud environment, including historical templates that may encode outdated practices.</li>
<li>Static analysis tools like Checkov help, but their accuracy depends on correctly resolving variable dependencies across the entire codebase.</li>
<li>Playbook-based remediation is a useful starting point, but must be integrated into the pipeline to survive subsequent automated changes.</li>
<li>Developer education — not just tooling — is the most durable investment in reducing cloud misconfiguration risk.</li>
</ul>



<p class="wp-block-paragraph">In a relatively short time, the cloud has evolved from a powerful enabler to a source of significant operational risk when poorly governed. The answer is not more security tools bolted onto an existing workflow — it is a deeper integration of security as both a practice and a mindset throughout the development lifecycle.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/with-devops-security-is-everybodys-responsibility-ok-so-whats-next/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Instaclustr Launches Fully Managed Open Source Elasticsearch on AWS</title>
		<link>https://www.bestdevops.com/instaclustr-offering-fully-managed-open-source-elasticsearch-on-aws/</link>
					<comments>https://www.bestdevops.com/instaclustr-offering-fully-managed-open-source-elasticsearch-on-aws/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Tue, 31 Mar 2020 05:51:30 +0000</pubDate>
				<category><![CDATA[AWS]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[Elasticsearch]]></category>
		<category><![CDATA[Google cloud]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[open-source]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=11473</guid>

					<description><![CDATA[Instaclustr announced general availability of its managed Elasticsearch service on AWS in March 2020, becoming the first provider to offer a managed Open Distro for Elasticsearch outside of AWS itself.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>Originally announced via GlobeNewswire on March 30, 2020. Source: globenewswire.com</em></p>



<h2 class="wp-block-heading">Instaclustr Adds Managed Elasticsearch to Its Open Source Data Platform</h2>



<p class="wp-block-paragraph">Instaclustr, a provider of fully managed open source data infrastructure, announced the general availability of <strong>Instaclustr Managed Elasticsearch</strong> on March 30, 2020. The service runs on AWS and is built on the <strong>Open Distro for Elasticsearch</strong> — making Instaclustr the first managed service provider to offer Open Distro for Elasticsearch outside of AWS&#8217;s own native service.</p>



<p class="wp-block-paragraph">Elasticsearch joins Apache Cassandra, Apache Kafka, and Apache Spark on the Instaclustr Managed Platform, giving enterprises a single destination for deploying, managing, and monitoring the full open source data layer.</p>



<h2 class="wp-block-heading">Why Elasticsearch Matters for Enterprise Search and Analytics</h2>



<p class="wp-block-paragraph">Elasticsearch is built on <strong>Apache Lucene</strong> and was first released under the Apache 2.0 open source license roughly a decade before this announcement. It has since become the de-facto distributed search and analytics engine for enterprises, valued for:</p>



<ul class="wp-block-list">
<li><strong>Linear horizontal scalability</strong> — clusters can grow incrementally as data and query volumes increase.</li>
<li><strong>Real-time search and analytics</strong> — near-instantaneous indexing and querying across large datasets.</li>
<li><strong>High availability and fault tolerance</strong> — distributed architecture with built-in replication keeps clusters resilient.</li>
<li><strong>Flexible data ingestion</strong> — supports structured, semi-structured, and unstructured data from virtually any source.</li>
</ul>



<p class="wp-block-paragraph">Despite these advantages, operating Elasticsearch at production scale is technically demanding. Tuning shard allocation, managing cluster state, handling rolling upgrades, and ensuring security compliance all require significant in-house expertise — resources that many engineering teams would rather direct toward product development.</p>



<h2 class="wp-block-heading">Open Distro for Elasticsearch: A Fully Open Source Foundation</h2>



<p class="wp-block-paragraph">Instaclustr&#8217;s service is based on the <strong>Open Distro for Elasticsearch</strong>, an AWS-sponsored distribution that adds enterprise security, alerting, SQL query support, and performance analysis tooling on top of the 100% Apache 2.0-licensed Elasticsearch core. By choosing Open Distro rather than Elastic&#8217;s own commercial distribution, Instaclustr avoids the &#8220;open core&#8221; licensing model that can introduce vendor lock-in and unpredictable license costs for customers.</p>



<p class="wp-block-paragraph">Instaclustr also claimed to be the <strong>first provider in the industry to offer enterprise support contracts for the Open Distro for Elasticsearch</strong>, including support for customers running self-managed or on-premises Elasticsearch installations.</p>



<h2 class="wp-block-heading">Key Features of Instaclustr Managed Elasticsearch</h2>



<p class="wp-block-paragraph">The managed service includes the following capabilities at general availability:</p>



<ul class="wp-block-list">
<li><strong>Cluster provisioning and configuration</strong> via the Instaclustr Management Console or REST APIs.</li>
<li><strong>Initial cloud support on AWS</strong>, with Microsoft Azure and Google Cloud Platform planned for future availability.</li>
<li><strong>Easy horizontal scaling</strong> to handle growing data volumes and search traffic.</li>
<li><strong>Flexible billing models</strong> — run clusters under Instaclustr&#8217;s cloud account at a fixed, infrastructure-inclusive price, or bring your own preferred cloud provider account.</li>
<li><strong>Private Network Cluster deployments</strong>, including the ability to deploy within an existing AWS VPC to eliminate cross-VPC network transfer costs.</li>
<li><strong>Security</strong> — encryption of data in transit and at rest, access control via IP allowlists or security groups, and SOC 2 compliance.</li>
<li><strong>Automated daily backups and point-in-time restore.</strong></li>
<li><strong>Assisted zero-downtime migration</strong> onto the Instaclustr platform from existing deployments.</li>
<li><strong>Continual monitoring and alerting</strong> for cluster health and performance.</li>
<li><strong>SLAs up to 99.99% availability</strong> for production deployments.</li>
<li><strong>24×7 expert support</strong> with defined support SLAs.</li>
<li><strong>Ongoing plugin additions</strong> — the feature set was committed to expand post-launch.</li>
</ul>



<h2 class="wp-block-heading">What This Means for DevOps and Platform Teams</h2>



<p class="wp-block-paragraph">For DevOps and platform engineering teams evaluating Elasticsearch-as-a-Service in 2020, Instaclustr&#8217;s announcement introduced a meaningful alternative to AWS&#8217;s own Elasticsearch Service (now Amazon OpenSearch Service). The key differentiators at launch were:</p>



<ul class="wp-block-list">
<li><strong>100% open source stack</strong> with no proprietary add-ons that could create future licensing exposure.</li>
<li><strong>Multi-cloud roadmap</strong>, reducing long-term dependency on a single cloud provider.</li>
<li><strong>Support for self-managed and on-premises Open Distro installations</strong> — useful for hybrid or regulated environments.</li>
<li><strong>Bring-your-own-account option</strong>, which can simplify cost allocation and cloud commitment management for enterprises with existing cloud spend agreements.</li>
</ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;Adding a new technology to the Instaclustr Managed Platform is never a decision we take lightly or make hastily. We have seen first-hand how enterprises are benefiting from Elasticsearch in production environments during an extensive early access program, and are now very excited to launch the general availability of Instaclustr Managed Elasticsearch.&#8221;</p><cite>— Ben Slater, Chief Product Officer, Instaclustr</cite></blockquote>



<h2 class="wp-block-heading">About Instaclustr</h2>



<p class="wp-block-paragraph">At the time of this announcement, Instaclustr reported managing more than <strong>50 million node hours</strong> and <strong>5 PB of data</strong> across its open source technology suite, which includes Apache Cassandra®, Apache Kafka®, Apache Spark™, and Elasticsearch. The company is headquartered in Redwood City, California.</p>



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



<p class="wp-block-paragraph">For background on Open Distro for Elasticsearch, see the <a href="https://opendistro.github.io/for-elasticsearch/" rel="noopener">Open Distro for Elasticsearch project page</a> (note: the project has since been superseded by <a href="https://opensearch.org/" rel="noopener">OpenSearch</a>, which AWS launched in 2021 as a fully open source fork following Elastic&#8217;s license change).</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 loading="lazy"  id="_ytid_98487"  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/instaclustr-offering-fully-managed-open-source-elasticsearch-on-aws/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>What is AWS CloudFront? A Practical Guide for DevOps Engineers</title>
		<link>https://www.bestdevops.com/what-is-aws-cloudfront/</link>
					<comments>https://www.bestdevops.com/what-is-aws-cloudfront/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Sat, 18 Jan 2020 06:14:03 +0000</pubDate>
				<category><![CDATA[AWS]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Cloudfront]]></category>
		<category><![CDATA[Elasticsearch]]></category>
		<category><![CDATA[Global it]]></category>
		<category><![CDATA[Software Deployment]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=10096</guid>

					<description><![CDATA[AWS CloudFront is Amazon's globally distributed Content Delivery Network (CDN). Learn how it works, what it integrates with, and why teams use it to deliver low-latency content at scale.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Building a Content Delivery Network from scratch used to require enormous capital investment in physical infrastructure — colocated servers, private fibre links, and dedicated operations teams. That barrier made CDNs the exclusive domain of large enterprises. AWS CloudFront changed that equation by offering CDN capabilities as a managed cloud service, accessible to any team regardless of size or budget.</p>



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



<p class="wp-block-paragraph">AWS CloudFront is Amazon Web Services&#8217; managed Content Delivery Network. It distributes content from <strong>edge locations</strong> — physically distributed data centres placed close to end users — rather than serving every request from a single origin server. When a user requests a file, CloudFront routes the request to the nearest edge location. If the content is already cached there, it is served immediately. If not, CloudFront fetches it from the configured origin (such as an Amazon S3 bucket or an EC2 instance), caches it at the edge, and serves it to the user.</p>



<p class="wp-block-paragraph">CloudFront entered beta in 2008 and reached general availability in 2009. It operates across a global network of edge locations spanning multiple continents, including coverage across Europe, Asia-Pacific, South America, North America, and the Middle East.</p>



<h2 class="wp-block-heading">What Can CloudFront Deliver?</h2>



<p class="wp-block-paragraph">CloudFront is not limited to static files. It is commonly used to deliver:</p>



<ul class="wp-block-list">
<li><strong>Video and audio streams</strong> — both live and video-on-demand (VOD)</li>
<li><strong>Static web assets</strong> — JavaScript bundles, CSS, images, fonts</li>
<li><strong>Dynamic web applications</strong> — API responses, personalised HTML</li>
<li><strong>Large binary objects</strong> — software packages, datasets, model weights</li>
<li><strong>Business dashboards and SaaS applications</strong> — rich-media collaboration tools, analytics UIs</li>
</ul>



<p class="wp-block-paragraph">This flexibility makes CloudFront suitable for anything from a startup distributing marketing videos to a research institution sharing large scientific datasets with global partners.</p>



<h2 class="wp-block-heading">How CloudFront Integrates with the AWS Ecosystem</h2>



<p class="wp-block-paragraph">One of CloudFront&#8217;s practical advantages for teams already on AWS is native integration with the broader service portfolio. Key integrations include:</p>



<ul class="wp-block-list">
<li><strong>Amazon S3</strong> — The most common origin type. S3 buckets feed static assets directly into the CloudFront distribution.</li>
<li><strong>Amazon EC2 / Elastic Load Balancing</strong> — Dynamic application servers act as custom origins, allowing CloudFront to front full web applications.</li>
<li><strong>AWS Shield Standard</strong> — Included at no additional cost with CloudFront. Provides automatic protection against common network-layer and transport-layer DDoS attacks.</li>
<li><strong>AWS WAF (Web Application Firewall)</strong> — Can be attached to a CloudFront distribution to filter malicious HTTP/S traffic at the edge before it reaches your origin.</li>
<li><strong>Lambda@Edge</strong> — Allows you to run Node.js or Python functions at CloudFront edge locations in response to viewer or origin request/response events. This enables use cases such as A/B testing, header manipulation, authentication checks, and URL rewrites without a round-trip to your origin.</li>
<li><strong>AWS Certificate Manager (ACM)</strong> — Provision and attach free TLS/SSL certificates to CloudFront distributions for HTTPS delivery.</li>
</ul>



<p class="wp-block-paragraph">All of this is managed through the same AWS Management Console, IAM policies, and CloudFormation or Terraform templates your team already uses, meaning there is no separate tooling to learn or maintain.</p>



<h2 class="wp-block-heading">Real-World Usage: Who Uses CloudFront?</h2>



<p class="wp-block-paragraph">Several well-known services rely on CloudFront to meet demanding performance requirements:</p>



<ul class="wp-block-list">
<li><strong>Amazon Prime Video</strong> — Amazon uses its own CloudFront infrastructure to deliver Prime Video streams globally, demonstrating the scale the service can support.</li>
<li><strong>Hulu</strong> — Uses CloudFront for video-on-demand delivery, ensuring movies and series start quickly and play without interruption regardless of viewer location.</li>
<li><strong>Slack</strong> — Although primarily known as a messaging platform, Slack transfers significant volumes of rich media — videos, images, and large business documents — and relies on CloudFront for consistent delivery performance.</li>
<li><strong>Major League Baseball and PBS</strong> — Both are cited as CloudFront customers, using it to serve video and web content to large, geographically distributed audiences.</li>
</ul>



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



<h3 class="wp-block-heading">Reduced Latency Through Edge Caching</h3>



<p class="wp-block-paragraph">By caching content at edge locations close to users, CloudFront reduces the physical and network distance a request must travel. This directly reduces time-to-first-byte (TTFB) and improves perceived load times for end users, particularly for large media files.</p>



<h3 class="wp-block-heading">Origin Offload</h3>



<p class="wp-block-paragraph">Because CloudFront caches popular content at the edge, a significantly smaller proportion of requests hit your origin servers. This reduces compute costs, database pressure, and the risk of origin overload during traffic spikes.</p>



<h3 class="wp-block-heading">Security at the Edge</h3>



<p class="wp-block-paragraph">CloudFront provides multiple layers of security without requiring separate infrastructure:</p>



<ul class="wp-block-list">
<li><strong>HTTPS enforcement</strong> — Redirect HTTP to HTTPS or require HTTPS for all viewer connections.</li>
<li><strong>TLS termination at the edge</strong> — Encryption is terminated at the nearest edge location, and CloudFront can re-encrypt traffic to the origin.</li>
<li><strong>AWS Shield Standard</strong> — Automatic DDoS mitigation included at no extra cost.</li>
<li><strong>Geo-restriction</strong> — Block or allow content delivery to specific countries.</li>
<li><strong>Signed URLs and signed cookies</strong> — Restrict access to private content so only authorised users can retrieve it.</li>
</ul>



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



<p class="wp-block-paragraph">CloudFront requires no physical infrastructure to provision or manage. A distribution can be created in minutes via the AWS Console, AWS CLI, or infrastructure-as-code tools. Capacity scales automatically — you do not need to pre-provision servers or predict peak traffic volumes.</p>



<h3 class="wp-block-heading">Cost Model</h3>



<p class="wp-block-paragraph">CloudFront uses a pay-as-you-go pricing model based on the volume of data transferred out and the number of HTTP/S requests served. There are no minimum commitments for standard usage, which is particularly advantageous for startups and teams with variable traffic patterns. AWS also offers a CloudFront free tier for new accounts.</p>



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



<p class="wp-block-paragraph">The basic steps to set up a CloudFront distribution are:</p>



<ol class="wp-block-list">
<li><strong>Choose an origin</strong> — An S3 bucket, an Application Load Balancer, an EC2 instance, or any publicly accessible HTTP server.</li>
<li><strong>Create a distribution</strong> — In the AWS Console, navigate to CloudFront and create a new distribution. Specify your origin domain, cache behaviours, and default TTL values.</li>
<li><strong>Configure HTTPS</strong> — Attach an ACM certificate or use the default CloudFront certificate.</li>
<li><strong>Point your DNS</strong> — Use a CNAME record to map your custom domain (e.g., <code>assets.example.com</code>) to the CloudFront distribution domain (e.g., <code>d1234abcd.cloudfront.net</code>).</li>
<li><strong>Validate and test</strong> — Use <code>curl -I</code> or browser developer tools to confirm the <code>x-cache: Hit from cloudfront</code> response header appears after the first request, indicating edge caching is working.</li>
</ol>



<h2 class="wp-block-heading">When Should You Use CloudFront?</h2>



<p class="wp-block-paragraph">CloudFront is a strong fit when:</p>



<ul class="wp-block-list">
<li>Your users are geographically distributed and latency to a single-region origin is measurable.</li>
<li>You serve large media files (video, audio, software downloads) where caching dramatically reduces bandwidth costs.</li>
<li>You need DDoS protection and TLS termination without operating separate infrastructure.</li>
<li>You want to run edge logic (authentication, redirects, personalisation) close to users via Lambda@Edge or CloudFront Functions.</li>
<li>Your application is already hosted on AWS and you want a CDN that integrates natively with S3, EC2, and your existing IAM policies.</li>
</ul>



<p class="wp-block-paragraph">If your user base is concentrated in a single region and your origin can handle the load, the cost and complexity of adding a CDN may not be justified. For most public-facing applications serving users in more than one geographic region, however, CloudFront provides a net improvement in both performance and security with relatively low operational overhead.</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 loading="lazy"  id="_ytid_62821"  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/what-is-aws-cloudfront/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>8 Proven Ways to Optimise Your AWS Costs</title>
		<link>https://www.bestdevops.com/top-8-ways-to-optimise-your-aws-cost/</link>
					<comments>https://www.bestdevops.com/top-8-ways-to-optimise-your-aws-cost/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Sat, 11 Jan 2020 05:54:00 +0000</pubDate>
				<category><![CDATA[AWS]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Elasticsearch]]></category>
		<category><![CDATA[IT Monitoring]]></category>
		<category><![CDATA[Software-Market]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=9965</guid>

					<description><![CDATA[AWS costs can spiral quickly without a clear optimisation strategy. This guide covers eight practical techniques — from right-sizing instances to scheduling shutdowns — that help DevOps teams reduce cloud spend without sacrificing performance.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Amazon Web Services (AWS) is one of the most widely adopted cloud platforms in the industry, used by organisations of every size to run workloads ranging from small development environments to large-scale production systems. That popularity comes with a cost: without deliberate optimisation, AWS bills can grow significantly faster than the business value they deliver.</p>



<p class="wp-block-paragraph">Cost optimisation is the discipline of achieving the required output at the lowest viable spend, using the right resources in the right configuration for each workload. In practice, it covers four broad areas:</p>



<ul class="wp-block-list">
<li><strong>Cost-effective resources</strong> — selecting instance types and services that match workload requirements without over-provisioning.</li>
<li><strong>Matching supply with demand</strong> — scaling capacity up or down in response to actual load.</li>
<li><strong>Expenditure awareness</strong> — understanding where money is being spent and by whom.</li>
<li><strong>Optimising over time</strong> — continuously reviewing and improving cost posture as requirements change.</li>
</ul>



<p class="wp-block-paragraph">The eight techniques below map directly to these areas and are applicable to most AWS environments. They are not listed in order of priority — the right sequence depends on your specific workload and team maturity.</p>



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



<p class="wp-block-paragraph">When you provision resources on AWS, it is easy to request more capacity than a workload actually needs. Attribute provisioning means continuously tuning the properties of your AWS managed services — compute, memory, storage, network throughput — so that they reflect current demand rather than a worst-case estimate made at launch time.</p>



<p class="wp-block-paragraph">AWS exposes service attributes through the <strong>AWS Management Console</strong>, the <strong>AWS CLI</strong>, and the <strong>AWS SDKs</strong>. You can also pack multiple workloads onto a single resource to increase density and reduce idle capacity. <strong>Amazon CloudWatch</strong> is the primary tool for collecting and tracking the metrics you need to make informed provisioning decisions. Setting CloudWatch alarms on CPU, memory, and I/O utilisation gives you the data needed to right-provision resources proactively.</p>



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



<p class="wp-block-paragraph">Right-sizing is the process of selecting the lowest-cost instance type or resource configuration that still meets the technical requirements of a workload. It is one of the highest-impact cost optimisation activities because many teams provision instances based on peak load projections or legacy assumptions rather than observed utilisation.</p>



<p class="wp-block-paragraph">When conducting a right-sizing exercise, keep these principles in mind:</p>



<ul class="wp-block-list">
<li><strong>Monitor end-user experience, not just infrastructure metrics.</strong> A downsized instance that causes latency regressions is not a successful optimisation.</li>
<li><strong>Weigh the cost of change against the savings.</strong> Some resizes require downtime or application restarts; factor that into your analysis.</li>
<li><strong>Choose an appropriate analysis window.</strong> Cover at least one full business cycle — daily, weekly, or monthly — to avoid optimising for an unrepresentative slice of traffic.</li>
</ul>



<p class="wp-block-paragraph">AWS services that support resizing include <strong>Amazon EC2</strong> (compute), <strong>Amazon EBS</strong> (block storage volume types and sizes), and <strong>Amazon RDS</strong> (database instance classes). AWS also provides <strong>AWS Compute Optimizer</strong>, which analyses CloudWatch metrics and recommends right-sized instance types.</p>



<h2 class="wp-block-heading">3. On-Demand Instances</h2>



<p class="wp-block-paragraph">On-demand instances let you pay for compute capacity by the hour or second with no long-term commitment. This flexibility makes them the right choice for:</p>



<ul class="wp-block-list">
<li>Short-term or unpredictable workloads where reserving capacity in advance would be wasteful.</li>
<li>Development and testing environments where usage patterns are irregular.</li>
<li>Applications being profiled before committing to a purchasing model.</li>
</ul>



<p class="wp-block-paragraph">On-demand is generally more expensive per unit of compute than Reserved or Spot instances, so it should be reserved for workloads that genuinely benefit from its flexibility. Once usage patterns become predictable, migrate those workloads to a more cost-effective purchasing option.</p>



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



<p class="wp-block-paragraph">AWS Spot instances provide access to spare EC2 compute capacity at a significantly reduced price compared to on-demand rates. The trade-off is that AWS can reclaim Spot instances with a two-minute warning when capacity is needed elsewhere, so workloads must be designed to tolerate interruption.</p>



<p class="wp-block-paragraph">Spot instances are well suited to:</p>



<ul class="wp-block-list">
<li>Batch processing pipelines</li>
<li>Scientific simulations and research workloads</li>
<li>Image and video processing</li>
<li>Financial modelling and analytics</li>
<li>CI/CD test runners</li>
<li>Big data processing with frameworks like Apache Spark or Hadoop</li>
</ul>



<p class="wp-block-paragraph">When using Spot instances, design for continuity: checkpoint progress regularly, use <strong>Spot Instance interruption notices</strong> to drain work gracefully, and diversify across multiple instance types and Availability Zones to reduce the probability of simultaneous reclamation. Mixing Spot and On-Demand capacity in an Auto Scaling group (using <strong>EC2 Fleet</strong> or <strong>Auto Scaling mixed instances policies</strong>) is a common production pattern.</p>



<h2 class="wp-block-heading">5. Reserved Instances and Savings Plans</h2>



<p class="wp-block-paragraph">For predictable, steady-state workloads, committing to a one-year or three-year term in exchange for a discounted hourly rate is one of the most effective ways to reduce AWS spend. AWS offers two primary commitment models:</p>



<h3 class="wp-block-heading">Reserved Instances (RIs)</h3>



<ul class="wp-block-list">
<li><strong>Standard Reserved Instances</strong> — provide a billing discount and optionally a capacity reservation when you specify an instance family, size, and Availability Zone. They offer the deepest discounts but the least flexibility.</li>
<li><strong>Convertible Reserved Instances</strong> — available on one-year or three-year terms; allow you to exchange the reservation for a different instance family, size, operating system, or tenancy during the term. Discounts are somewhat lower than Standard RIs but the flexibility is valuable as workloads evolve.</li>
</ul>



<h3 class="wp-block-heading">Savings Plans</h3>



<p class="wp-block-paragraph">AWS Savings Plans (Compute Savings Plans and EC2 Instance Savings Plans) offer a more flexible commitment model: you commit to a consistent amount of compute usage measured in dollars per hour, and the discount applies automatically across eligible services regardless of instance type, region, or operating system. For many teams, Savings Plans are simpler to manage than a portfolio of Reserved Instances.</p>



<h2 class="wp-block-heading">6. Monitoring and Managed Services</h2>



<p class="wp-block-paragraph">Running and managing your own infrastructure on EC2 carries a hidden cost: the engineering time required to patch, scale, monitor, and maintain those servers. AWS managed services absorb much of that operational burden and often deliver lower cost per transaction at scale.</p>



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



<ul class="wp-block-list">
<li><strong>Amazon RDS</strong> and <strong>Amazon Aurora</strong> — managed relational databases that handle patching, backups, and multi-AZ failover.</li>
<li><strong>Amazon DynamoDB</strong> — a fully managed NoSQL database with on-demand or provisioned capacity modes.</li>
<li><strong>AWS Lambda</strong> — serverless compute that charges only for the duration and memory of function invocations, eliminating idle compute costs.</li>
<li><strong>Amazon SQS</strong>, <strong>Amazon SNS</strong>, and <strong>Amazon SES</strong> — managed messaging and notification services that replace self-managed queues and email infrastructure.</li>
</ul>



<p class="wp-block-paragraph">Pair managed services with <strong>AWS Cost Explorer</strong> and <strong>AWS Budgets</strong> to track spending by service, team, or environment and receive alerts when costs exceed defined thresholds.</p>



<h2 class="wp-block-heading">7. Optimise Data Transfer Costs</h2>



<p class="wp-block-paragraph">Data transfer is a frequently overlooked contributor to AWS costs. Charges apply for data leaving AWS to the internet, for cross-region transfers, and in some cases for cross-Availability-Zone traffic within a region. Strategies to minimise these costs include:</p>



<ul class="wp-block-list">
<li><strong>Use Amazon CloudFront</strong> as a content delivery network (CDN) to cache and serve static and dynamic content close to end users. CloudFront&#8217;s data transfer pricing is lower than direct EC2-to-internet egress, and it reduces origin load.</li>
<li><strong>Colocate tightly coupled services</strong> in the same Availability Zone where possible to avoid cross-AZ data transfer charges.</li>
<li><strong>Use VPC endpoints</strong> for services such as S3 and DynamoDB to route traffic over the AWS backbone rather than over the public internet, which can eliminate some transfer charges.</li>
<li><strong>Compress data</strong> before transfer and use efficient serialisation formats to reduce the volume of data moving between services.</li>
</ul>



<h2 class="wp-block-heading">8. Turn Off or Schedule Unused Resources</h2>



<p class="wp-block-paragraph">One of the simplest and most impactful cost optimisation actions is stopping resources when they are not in use. Development, testing, and staging environments rarely need to run 24 hours a day, 7 days a week — yet many teams leave them running continuously.</p>



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



<ul class="wp-block-list">
<li><strong>Tag every resource</strong> with its environment (production, staging, dev) and owner so idle resources are easy to identify.</li>
<li><strong>Use AWS Instance Scheduler</strong> or Lambda-based automation to stop and start EC2 and RDS instances on a defined schedule — for example, running dev instances only during business hours on weekdays.</li>
<li><strong>Set idle timeouts</strong> for development databases and remove unused EBS volumes, unattached Elastic IPs, and idle load balancers — all of which accrue charges even when nothing is using them.</li>
<li><strong>Review and delete unused snapshots</strong> on a regular cadence; old EBS and RDS snapshots can accumulate significant storage costs over time.</li>
</ul>



<p class="wp-block-paragraph">Scheduling non-production resources to run only when needed can meaningfully reduce compute costs for those environments. The exact savings will depend on current utilisation patterns.</p>



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



<p class="wp-block-paragraph">AWS cost optimisation is not a one-time project — it is an ongoing engineering practice. Start by gaining visibility into where you are currently spending (Cost Explorer, AWS Cost and Usage Reports), then apply the techniques above in order of impact for your specific environment. Establish a regular review cadence — monthly at minimum — to catch cost regressions early and identify new optimisation opportunities as your architecture evolves.</p>



<p class="wp-block-paragraph">Used together, these eight strategies can substantially reduce AWS spend without requiring a redesign of your core architecture. The biggest wins typically come from a combination of right-sizing, commitment-based pricing for stable workloads, and eliminating waste from resources left running unnecessarily.</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 loading="lazy"  id="_ytid_11915"  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/top-8-ways-to-optimise-your-aws-cost/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>AWS re:Invent 2019 Recap: Overlooked Launches in Compute, Serverless, Security, and Dev Tools</title>
		<link>https://www.bestdevops.com/aws-month-in-review-an-aws-reinvent-recap-of-overlooked-roll-outs/</link>
					<comments>https://www.bestdevops.com/aws-month-in-review-an-aws-reinvent-recap-of-overlooked-roll-outs/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Mon, 06 Jan 2020 05:46:47 +0000</pubDate>
				<category><![CDATA[AWS]]></category>
		<category><![CDATA[Elasticsearch]]></category>
		<category><![CDATA[GitHub]]></category>
		<category><![CDATA[Kubernetes]]></category>
		<category><![CDATA[Networksecurity]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=9884</guid>

					<description><![CDATA[AWS re:Invent 2019 introduced more than a dozen services and features that flew under the radar. This recap covers the most significant overlooked launches across EC2, Lambda, containers, security, and developer tooling.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">AWS re:Invent 2019 pushed the cloud provider&#8217;s portfolio past 175 services. Headline announcements — AWS Outposts for hybrid cloud and the AWS Braket quantum computing preview — dominated coverage, but dozens of smaller launches quietly shipped during the same week. This recap focuses on the features and capabilities in compute, serverless, security, and application development that deserve a second look.</p>



<h2 class="wp-block-heading">Amazon EC2 Updates</h2>



<h3 class="wp-block-heading">EC2 Image Builder</h3>



<p class="wp-block-paragraph">EC2 Image Builder automates the creation and ongoing maintenance of OS images for Windows Server and Amazon Linux 2. Before this service, teams had to manually snapshot virtual machines to keep golden images current — a time-consuming and error-prone process. Image Builder handles this automatically for both on-premises and EC2-hosted workloads.</p>



<h3 class="wp-block-heading">AWS Compute Optimizer</h3>



<p class="wp-block-paragraph">AWS Compute Optimizer applies machine learning to historical resource utilization data and recommends the most appropriate EC2 instance type for each workload. The goal is to replace manual instance sizing guesswork with data-driven recommendations, which can improve both performance and cost efficiency.</p>



<h3 class="wp-block-heading">Graviton2-Powered Instances (Preview)</h3>



<p class="wp-block-paragraph">AWS previewed the sixth generation of its Arm-based EC2 instances, powered by the in-house Graviton2 processor. These instances are designed to offer improved performance and security compared to the fifth-generation M5, C5, and R5 families. The first instance type made available for preview was the M6g, which supports up to 64 vCPUs and 512 GiB of memory.</p>



<h3 class="wp-block-heading">AWS Wavelength (Preview)</h3>



<p class="wp-block-paragraph">AWS Wavelength embeds AWS compute and storage capabilities directly within telecommunications providers&#8217; 5G networks. The result is ultra-low latency for mobile and edge applications — relevant use cases include augmented reality, autonomous vehicles, and real-time analytics at the edge.</p>



<p class="wp-block-paragraph">To use Wavelength, developers extend an existing VPC to include a Wavelength Zone, then provision standard AWS resources such as EC2 instances and CloudFormation stacks within that zone. At launch, Wavelength was announced in partnership with Verizon, with Vodafone, SK Telecom, and KDDI planned to follow in 2020.</p>



<h2 class="wp-block-heading">Serverless Updates</h2>



<h3 class="wp-block-heading">Provisioned Concurrency for AWS Lambda</h3>



<p class="wp-block-paragraph">Cold starts are one of the most common complaints about AWS Lambda in latency-sensitive applications. Provisioned Concurrency addresses this by keeping a configurable number of Lambda execution environments initialized and ready to respond immediately. At launch, AWS priced this feature at $0.015 per GB-hour for provisioned concurrency and $0.035 per GB-hour for actual execution time.</p>



<h3 class="wp-block-heading">EKS on AWS Fargate</h3>



<p class="wp-block-paragraph">Amazon Elastic Kubernetes Service (EKS) gained the ability to run Kubernetes pods on AWS Fargate, Amazon&#8217;s serverless compute engine for containers. Originally teased at re:Invent 2017, the capability finally shipped two years later. With this integration, teams can run Kubernetes workloads without provisioning or managing EC2 node groups — scheduling and infrastructure management are handled entirely through the EKS console.</p>



<h3 class="wp-block-heading">Fargate Spot</h3>



<p class="wp-block-paragraph">Fargate Spot is the serverless equivalent of EC2 Spot Instances. It offers spare Fargate compute capacity at a discounted price for Amazon ECS tasks. Like EC2 Spot, Fargate Spot tasks can be interrupted when AWS reclaims that capacity, so the feature is best suited for fault-tolerant, interruptible workloads rather than mission-critical jobs.</p>



<h2 class="wp-block-heading">Security Updates</h2>



<h3 class="wp-block-heading">AWS Nitro Enclaves (Preview)</h3>



<p class="wp-block-paragraph">Nitro Enclaves are isolated virtual machine environments that run attached to an EC2 instance. By isolating sensitive processing from the parent instance&#8217;s operating system and other software, enclaves reduce the attack surface for workloads that handle highly sensitive data — such as cryptographic key processing or personally identifiable information. The feature was in preview at the time of the announcement.</p>



<h3 class="wp-block-heading">S3 Access Points</h3>



<p class="wp-block-paragraph">Managing access to shared S3 buckets through a single bucket policy becomes unwieldy as the number of consumers and use cases grows. S3 Access Points solve this by giving each application or team its own named endpoint — with a unique hostname and a dedicated IAM policy — that governs how that specific consumer can interact with data in the bucket. This makes per-application access control significantly easier to reason about and audit.</p>



<h3 class="wp-block-heading">VPC Ingress Routing</h3>



<p class="wp-block-paragraph">VPC Ingress Routing lets teams route all inbound and outbound VPC traffic through a dedicated EC2 instance before it reaches production workloads. Security appliances, intrusion detection systems, or packet inspection tools running on that instance can inspect traffic in-line — bringing on-premises network security policy enforcement models into the AWS environment without significant architecture changes.</p>



<h2 class="wp-block-heading">Developer Tools</h2>



<h3 class="wp-block-heading">Amazon CodeGuru (Preview)</h3>



<p class="wp-block-paragraph">Amazon CodeGuru is a managed service that uses machine learning to provide two distinct capabilities for improving code quality and application efficiency:</p>



<ul class="wp-block-list">
<li><strong>CodeGuru Reviewer</strong> — Performs automated pull request reviews before code reaches production. It can identify potential problems such as unsanitized inputs, improper handling of sensitive data, and deviations from AWS best practices.</li>
<li><strong>CodeGuru Profiler</strong> — A lightweight runtime agent that continuously analyzes a running application, identifies CPU-intensive code paths and inefficient patterns, and surfaces actionable recommendations to improve performance and reduce compute costs.</li>
</ul>



<p class="wp-block-paragraph">At launch, CodeGuru supported integration with GitHub and AWS CodeCommit repositories. The service was available in preview at re:Invent 2019.</p>



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



<p class="wp-block-paragraph">AWS re:Invent 2019 was dense with announcements. While Outposts and Braket earned most of the press coverage, the practical day-to-day impact for many engineering teams will come from services like Compute Optimizer, EC2 Image Builder, Provisioned Concurrency, and S3 Access Points. Review each capability against your current architecture to identify where they can reduce operational overhead, improve security posture, or lower your AWS bill.</p>



<p class="wp-block-paragraph"><em>Original reporting source: searchaws.techtarget.com</em></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 loading="lazy"  id="_ytid_50281"  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/aws-month-in-review-an-aws-reinvent-recap-of-overlooked-roll-outs/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>What is AWS Elastic Beanstalk? A Plain-English Guide for Developers</title>
		<link>https://www.bestdevops.com/what-is-aws-elastic-beanstalk/</link>
					<comments>https://www.bestdevops.com/what-is-aws-elastic-beanstalk/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Sat, 21 Dec 2019 05:46:22 +0000</pubDate>
				<category><![CDATA[AWS]]></category>
		<category><![CDATA[Cloud storage]]></category>
		<category><![CDATA[Elasticsearch]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Ruby Python]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=9695</guid>

					<description><![CDATA[AWS Elastic Beanstalk lets development teams deploy and scale web applications without managing the underlying infrastructure. Here is how it works and why it matters.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Deploying an application to the cloud introduces a second job that most developers did not sign up for: provisioning servers, configuring load balancers, tuning autoscaling policies, managing networking, and keeping everything secure. AWS Elastic Beanstalk exists to absorb that operational burden so that engineering teams can stay focused on their application code.</p>



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



<p class="wp-block-paragraph">AWS Elastic Beanstalk is a Platform-as-a-Service (PaaS) offering from Amazon Web Services. You supply your application code and a few configuration choices; Elastic Beanstalk handles the rest — provisioning EC2 instances, configuring an Elastic Load Balancer, setting up autoscaling groups, deploying the application stack, and monitoring health. The underlying AWS resources remain visible and accessible, but you are not required to manage them directly.</p>



<p class="wp-block-paragraph">In practice, Elastic Beanstalk sits between raw infrastructure services (like EC2 and S3) and a fully managed serverless environment. You retain full access to the resources it creates, which means experienced teams can still fine-tune the configuration while less infrastructure-focused teams can rely entirely on the managed defaults.</p>



<h2 class="wp-block-heading">What Does Elastic Beanstalk Manage For You?</h2>



<ul class="wp-block-list">
<li><strong>Compute provisioning</strong> — Launches and configures Amazon EC2 instances appropriate for your application type.</li>
<li><strong>Load balancing</strong> — Sets up an Elastic Load Balancer to distribute incoming traffic across instances.</li>
<li><strong>Autoscaling</strong> — Adds or removes instances automatically based on demand, using configurable scaling triggers.</li>
<li><strong>Application deployment</strong> — Handles rolling deployments, blue/green deployments, and version management.</li>
<li><strong>Health monitoring</strong> — Continuously monitors instance and application health and replaces unhealthy instances.</li>
<li><strong>Logging</strong> — Aggregates application and server logs and makes them available through the console or CLI.</li>
<li><strong>Platform patching</strong> — Provides managed platform versions that receive OS and runtime updates.</li>
</ul>



<h2 class="wp-block-heading">Supported Languages and Platforms</h2>



<p class="wp-block-paragraph">Elastic Beanstalk supports a broad range of runtimes and web servers out of the box. Supported language platforms include:</p>



<ul class="wp-block-list">
<li>Java (with Apache Tomcat)</li>
<li>Python</li>
<li>Ruby</li>
<li>PHP</li>
<li>Node.js</li>
<li>.NET on Windows Server</li>
<li>Go</li>
<li>Docker (single-container and multi-container)</li>
</ul>



<p class="wp-block-paragraph">Each platform is called a <em>platform version</em> and is maintained by AWS. You choose a platform when you create an environment and can upgrade to newer platform versions over time. Docker support is particularly useful when your stack does not match a natively supported runtime.</p>



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



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



<p class="wp-block-paragraph">An <em>application</em> in Elastic Beanstalk is a logical container for your project. It holds all of the environments and application versions associated with that project.</p>



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



<p class="wp-block-paragraph">An <em>application version</em> is a specific, labeled iteration of your deployable code — typically a ZIP or WAR archive stored in Amazon S3. You can maintain multiple versions and deploy any of them to any environment at any time.</p>



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



<p class="wp-block-paragraph">An <em>environment</em> is a running instance of an application version. Common patterns are to run separate environments for development, staging, and production. Each environment provisions its own set of AWS resources.</p>



<h3 class="wp-block-heading">Environment Tier</h3>



<p class="wp-block-paragraph">Elastic Beanstalk supports two environment tiers:</p>



<ul class="wp-block-list">
<li><strong>Web server tier</strong> — For HTTP/HTTPS applications. Includes a load balancer and autoscaling group.</li>
<li><strong>Worker tier</strong> — For background processing tasks. Pulls messages from an Amazon SQS queue and processes them without a public-facing load balancer.</li>
</ul>



<h2 class="wp-block-heading">How to Deploy an Application</h2>



<p class="wp-block-paragraph">There are three main ways to interact with Elastic Beanstalk:</p>



<ol class="wp-block-list">
<li><strong>AWS Management Console</strong> — A web-based dashboard where you can create environments, upload application versions, configure scaling rules, and view health metrics with no command-line knowledge required.</li>
<li><strong>EB CLI</strong> — The Elastic Beanstalk Command Line Interface (<code>eb</code>) integrates with your local development workflow. Commands like <code>eb init</code>, <code>eb create</code>, and <code>eb deploy</code> let you manage environments from a terminal.</li>
<li><strong>AWS SDKs and APIs</strong> — For programmatic and CI/CD pipeline integration, the Elastic Beanstalk API can be called directly from any language with an AWS SDK, or through tools like AWS CloudFormation and AWS CodePipeline.</li>
</ol>



<h2 class="wp-block-heading">Integration with Other AWS Services</h2>



<p class="wp-block-paragraph">Elastic Beanstalk is designed to work alongside the broader AWS ecosystem. Common integrations include:</p>



<ul class="wp-block-list">
<li><strong>Amazon EC2</strong> — Compute instances that run your application.</li>
<li><strong>Amazon S3</strong> — Stores application version archives and log files.</li>
<li><strong>Amazon RDS</strong> — Managed relational databases that can be linked to an Elastic Beanstalk environment (though decoupling RDS from the environment lifecycle is a recommended production practice).</li>
<li><strong>Amazon CloudWatch</strong> — Metrics and alarms that drive autoscaling decisions and environment health monitoring.</li>
<li><strong>AWS IAM</strong> — Controls permissions for the service roles Elastic Beanstalk uses to manage resources on your behalf.</li>
<li><strong>Amazon VPC</strong> — Environments can be launched inside a Virtual Private Cloud for network isolation.</li>
</ul>



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



<h3 class="wp-block-heading">Reduced Operational Overhead</h3>



<p class="wp-block-paragraph">Development teams without dedicated infrastructure engineers can deploy production-grade, scalable applications without becoming AWS architecture experts. Elastic Beanstalk handles the operational defaults while still exposing every underlying resource for teams that want deeper control.</p>



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



<p class="wp-block-paragraph">Autoscaling rules can be based on metrics such as CPU utilization or request count. When traffic spikes, new instances are added automatically; when demand drops, instances are terminated to control cost. Both the minimum and maximum instance counts are configurable.</p>



<h3 class="wp-block-heading">No Additional Charge for the Service Itself</h3>



<p class="wp-block-paragraph">AWS does not charge extra for using Elastic Beanstalk. You pay only for the underlying AWS resources — EC2 instances, load balancers, data transfer, and so on — that your environments consume.</p>



<h3 class="wp-block-heading">Flexibility and Escape Hatches</h3>



<p class="wp-block-paragraph">Unlike fully managed PaaS offerings that abstract away all infrastructure details, Elastic Beanstalk lets you SSH into instances, modify configuration files using <code>.ebextensions</code>, and replace managed components (such as the default nginx proxy) when you need to. This prevents lock-in to opinionated defaults.</p>



<h2 class="wp-block-heading">When to Use Elastic Beanstalk — and When Not To</h2>



<p class="wp-block-paragraph">Elastic Beanstalk is a strong fit when:</p>



<ul class="wp-block-list">
<li>Your team wants to deploy quickly without building custom infrastructure automation.</li>
<li>You are running a conventional web application or API in a supported runtime.</li>
<li>You want managed autoscaling and health monitoring with minimal configuration.</li>
</ul>



<p class="wp-block-paragraph">It may not be the best fit when:</p>



<ul class="wp-block-list">
<li>You need fine-grained control over every aspect of the infrastructure (consider AWS CDK, CloudFormation, or Terraform instead).</li>
<li>You are adopting a microservices architecture that maps more naturally onto Amazon ECS, Amazon EKS, or AWS Lambda.</li>
<li>Your application has highly unusual runtime requirements that fall outside the supported platform list and cannot be containerized.</li>
</ul>



<h2 class="wp-block-heading">A Practical Example: Deploying a Python Flask App</h2>



<p class="wp-block-paragraph">The following walkthrough uses the EB CLI. It assumes you have already installed the CLI and configured AWS credentials.</p>


<pre class="wp-block-code"><span><code class="hljs language-php"><span class="hljs-comment"># 1. Initialize a new Elastic Beanstalk application in your project directory</span>
eb init my-flask-app --platform python<span class="hljs-number">-3.11</span> --region us-east<span class="hljs-number">-1</span>

<span class="hljs-comment"># 2. Create a new environment and deploy your code</span>
eb create my-flask-env

<span class="hljs-comment"># 3. Open the deployed application in a browser</span>
eb open

<span class="hljs-comment"># 4. Deploy an updated version of your code</span>
eb deploy

<span class="hljs-comment"># 5. View environment health and recent events</span>
eb health
eb events</code></span></pre>


<p class="wp-block-paragraph">Elastic Beanstalk reads a <code>Procfile</code> or platform-specific configuration to determine how to start your application. For Python applications, a <code>requirements.txt</code> file in the project root is used to install dependencies automatically.</p>



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



<p class="wp-block-paragraph">AWS Elastic Beanstalk bridges the gap between writing application code and running it reliably at scale. By automating provisioning, load balancing, autoscaling, health monitoring, and deployment, it frees engineering teams to concentrate on the product rather than the platform. It is not a replacement for container orchestration or Infrastructure-as-Code in complex architectures, but for teams that need a fast, manageable path from code to production on AWS, it remains a practical and cost-effective choice.</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 loading="lazy"  id="_ytid_21477"  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/what-is-aws-elastic-beanstalk/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How AWS Profits from Open-Source Software — and What It Means for Cloud Computing Startups</title>
		<link>https://www.bestdevops.com/how-amazons-aws-arm-allegedly-makes-profits-off-open-source-software-leaving-cloud-computing-startups-languishing/</link>
					<comments>https://www.bestdevops.com/how-amazons-aws-arm-allegedly-makes-profits-off-open-source-software-leaving-cloud-computing-startups-languishing/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Tue, 17 Dec 2019 05:47:19 +0000</pubDate>
				<category><![CDATA[AWS]]></category>
		<category><![CDATA[Cloud-computing]]></category>
		<category><![CDATA[Elasticsearch]]></category>
		<category><![CDATA[Open-Sources]]></category>
		<category><![CDATA[Web Services]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=9612</guid>

					<description><![CDATA[Amazon Web Services has built a pattern of adopting open-source projects, packaging them as managed services, and out-competing the very startups that created them. Here is what that means for the cloud ecosystem.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>This article is based on reporting originally published by <a href="https://www.firstpost.com" rel="noopener noreferrer" target="_blank">Firstpost</a> and draws on publicly available information about AWS practices, open-source licensing disputes, and antitrust scrutiny as reported circa late 2019.</em></p>



<h2 class="wp-block-heading">The Cloud Giant and the Open-Source Dilemma</h2>



<p class="wp-block-paragraph">Amazon Web Services (AWS) is the dominant force in cloud computing — by most estimates, roughly triple the size of its nearest competitor, Microsoft Azure, in terms of infrastructure market share at the time of this writing. Millions of people interact with AWS daily without knowing it: Netflix video streams, Apple iCloud storage, and countless enterprise applications all run on Amazon&#8217;s infrastructure.</p>



<p class="wp-block-paragraph">That dominance has come with a specific and controversial playbook: identify popular open-source software, offer it as a fully managed AWS service, and leverage Amazon&#8217;s existing customer base, billing infrastructure, and sales teams to out-compete the company that built the software in the first place.</p>



<h2 class="wp-block-heading">The Elasticsearch Case: A Defining Example</h2>



<p class="wp-block-paragraph">Elastic, a software company founded in Amsterdam, built Elasticsearch — a widely used open-source tool for searching and analysing large datasets. By 2015, Elastic had grown to around 100 employees and was already distributing its software through AWS&#8217;s marketplace.</p>



<p class="wp-block-paragraph">In October 2015, Amazon announced its own managed Elasticsearch service — built directly on Elastic&#8217;s open-source code, which Amazon was legally permitted to use under its open-source licence. Within a year, Amazon was reportedly generating more revenue from Elastic&#8217;s software than Elastic itself, primarily because AWS made the tool trivially easy to use alongside its other services.</p>



<p class="wp-block-paragraph">Elastic&#8217;s response evolved in two stages:</p>



<ul class="wp-block-list">
<li><strong>Premium feature restrictions:</strong> Elastic began adding proprietary, paid features to its product and restricted how companies like Amazon could use them.</li>
<li><strong>Legal action:</strong> In September 2019, Elastic sued Amazon in federal court in California, alleging trademark infringement because Amazon had named its service &#8220;Amazon Elasticsearch Service&#8221; — using the exact trademark Elastic held. Amazon denied wrongdoing. The case was pending at the time of publication.</li>
</ul>



<p class="wp-block-paragraph">Amazon&#8217;s response to Elastic&#8217;s premium feature restrictions was to duplicate many of those features independently and offer them free of charge to AWS customers.</p>



<h2 class="wp-block-heading">A Repeating Pattern: Strip-Mining Open Source</h2>



<p class="wp-block-paragraph">The Elasticsearch dispute is not an isolated incident. Industry observers and affected companies describe a consistent pattern that some have termed <em>strip-mining software</em>:</p>



<ol class="wp-block-list">
<li>A startup builds and open-sources a useful software tool, often growing a community and a business around commercial support or premium features.</li>
<li>AWS packages the open-source version as a managed service, handling infrastructure, scaling, and operations for customers.</li>
<li>Because AWS customers can add the service with a single click — on the same bill, in the same console — they often choose the AWS-managed version over the startup&#8217;s own offering.</li>
<li>The startup loses revenue traction while Amazon profits from work it did not originate.</li>
</ol>



<p class="wp-block-paragraph">AWS&#8217;s template for this approach was established as early as 2009, when it launched a managed database service built on open-source database software rather than anything Amazon had created in-house. That service was an immediate commercial success.</p>



<h2 class="wp-block-heading">MongoDB&#8217;s Licensing Counter-Move</h2>



<p class="wp-block-paragraph">MongoDB, a popular document-oriented database, attempted a structural defence. In 2018, MongoDB announced a new licence — the Server Side Public License (SSPL) — that required any company offering MongoDB as a managed cloud service to also open-source the entire stack used to provide that service. This was widely interpreted as a direct response to AWS&#8217;s practices, since AWS does not open-source its own service-delivery infrastructure.</p>



<p class="wp-block-paragraph">AWS responded by releasing its own compatible database service — DocumentDB — built to replicate MongoDB&#8217;s API using an older version of MongoDB&#8217;s software that pre-dated the new licensing terms, meaning the SSPL did not apply.</p>



<p class="wp-block-paragraph">The episode illustrated a core problem: by the time a startup changes its licence, Amazon can often pivot to an older, licence-compatible version of the code, or build a compatible alternative independently.</p>



<h2 class="wp-block-heading">Why Startups Still Work with AWS Anyway</h2>



<p class="wp-block-paragraph">Despite the competitive threat, smaller software companies often feel they have no realistic alternative to partnering with AWS. The reasons are structural:</p>



<ul class="wp-block-list">
<li><strong>Customer access:</strong> AWS&#8217;s sales force has relationships with millions of enterprises. Selling through the AWS Marketplace gives startups distribution they could not otherwise afford.</li>
<li><strong>Ecosystem lock-in:</strong> Customers who are already running workloads on AWS prefer solutions that integrate natively into the same console and billing system.</li>
<li><strong>Investor perception:</strong> Being available on AWS is often seen as a mark of legitimacy for early-stage startups.</li>
</ul>



<p class="wp-block-paragraph">The trade-offs, however, are significant. Startups selling through AWS Marketplace pay Amazon a percentage of their revenue. They often agree to restrictions on how they can market their products independently. Some also share customer and product data with Amazon as part of these arrangements — data that, critics argue, gives Amazon valuable intelligence about market demand.</p>



<h2 class="wp-block-heading">The Convenience Moat: How AWS Buries Competitors</h2>



<p class="wp-block-paragraph">Beyond open-source adoption, AWS compounds its advantage through user experience design. Between 2014 and late 2019, AWS grew from roughly 30 services to approximately 175. Each new service is integrated into the same management console, the same IAM permissions model, and the same monthly bill.</p>



<p class="wp-block-paragraph">Adding a native AWS service is a single click. Integrating a third-party competitor&#8217;s tool running on AWS requires additional configuration, separate billing, and more complex identity and networking setup. That friction disadvantages even technically superior third-party products.</p>



<p class="wp-block-paragraph">AWS has also been accused of bundling discounts — making its own services cheaper when customers commit to a broader AWS spend — that make competing on price alone extremely difficult for independent software vendors.</p>



<h2 class="wp-block-heading">Antitrust Scrutiny and Regulatory Interest</h2>



<p class="wp-block-paragraph">By late 2019, AWS&#8217;s practices had attracted attention from US regulators and lawmakers:</p>



<ul class="wp-block-list">
<li>The <strong>House Judiciary Committee</strong>, as part of its broader investigation into large technology platforms, sent Amazon a letter in September 2019 specifically asking about AWS&#8217;s competitive practices.</li>
<li>The <strong>Federal Trade Commission (FTC)</strong>, which was also investigating Amazon more broadly, was reported to have contacted AWS competitors as part of its inquiry.</li>
</ul>



<p class="wp-block-paragraph">Several affected companies were reportedly discussing whether to file formal antitrust complaints. The core allegation is that AWS uses its infrastructure monopoly — its control of the underlying computing layer — to distort competition in the software markets that run on top of that infrastructure.</p>



<h2 class="wp-block-heading">AWS&#8217;s Business Context</h2>



<p class="wp-block-paragraph">It is worth noting the financial stakes. AWS generated approximately $25 billion in revenue in 2018 and was Amazon&#8217;s most profitable division by a significant margin, effectively subsidising Amazon&#8217;s lower-margin retail operations. Jeff Bezos described AWS as an idea &#8220;no one asked for&#8221; — it originated from Amazon&#8217;s internal need to standardise its own computing infrastructure in the early 2000s, after which Amazon recognised the same need existed across the broader market.</p>



<p class="wp-block-paragraph">Companies such as Airbnb, Netflix, and General Electric became major AWS customers, renting computing capacity rather than running their own data centres. This scale gives AWS a cost and reliability advantage that is extremely difficult for any single startup to replicate.</p>



<h2 class="wp-block-heading">What Open-Source Maintainers and Startups Can Do</h2>



<p class="wp-block-paragraph">The situation has prompted the open-source community to rethink licensing strategy. Options that have been explored include:</p>



<ul class="wp-block-list">
<li><strong>Copyleft-style cloud licences</strong> (such as the SSPL) that require cloud providers to open-source their entire service stack — though these are contested and may affect OSI open-source classification.</li>
<li><strong>Open-core models</strong> that keep the most valuable enterprise features proprietary, while open-sourcing the core — though Amazon has demonstrated willingness to re-implement proprietary features independently.</li>
<li><strong>Avoiding open-source entirely</strong> for commercially sensitive components, as Todd Persen (quoted in original reporting) chose to do when founding a new company specifically to eliminate the risk of AWS adopting his work.</li>
<li><strong>Building deeper integrations</strong> with AWS that create customer switching costs — though this deepens reliance on the platform.</li>
</ul>



<p class="wp-block-paragraph">None of these approaches is a complete solution. Each involves trade-offs between community growth, commercial protection, and platform reach.</p>



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



<ul class="wp-block-list">
<li>When evaluating managed AWS services built on open-source projects, be aware that the upstream project maintainer may receive no revenue from your usage.</li>
<li>If you are building infrastructure tooling, your open-source licence choice has direct commercial consequences — particularly with respect to cloud provider adoption.</li>
<li>The regulatory environment around cloud platform dominance is evolving; antitrust actions in this space could affect service availability, pricing, and API compatibility.</li>
<li>Distribution through AWS Marketplace comes with real revenue-share and data-sharing costs that are not always prominently disclosed.</li>
</ul>



<p class="wp-block-paragraph">The broader debate about whether AWS&#8217;s practices constitute anticompetitive behaviour under US law remains unresolved. What is clear is that the open-source model — which powered much of the modern cloud ecosystem — is under structural pressure from the very platforms that benefited most from it.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/how-amazons-aws-arm-allegedly-makes-profits-off-open-source-software-leaving-cloud-computing-startups-languishing/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>AWS Extends Open Source Olive Branch with Cloud Credits Program</title>
		<link>https://www.bestdevops.com/aws-open-source-entreaties-now-include-cloud-credits/</link>
					<comments>https://www.bestdevops.com/aws-open-source-entreaties-now-include-cloud-credits/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Thu, 17 Oct 2019 07:05:20 +0000</pubDate>
				<category><![CDATA[AWS]]></category>
		<category><![CDATA[CI/CD]]></category>
		<category><![CDATA[cloud developers]]></category>
		<category><![CDATA[Elasticsearch]]></category>
		<category><![CDATA[Google cloud]]></category>
		<category><![CDATA[Open Source]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=8583</guid>

					<description><![CDATA[AWS launched a promotional cloud credits program for open source project maintainers, covering CI/CD, testing, and artifact storage—but industry observers have mixed views on the timing and depth of the commitment.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>This article is based on reporting originally published at searchaws.techtarget.com (October 2019).</em></p>



<h2 class="wp-block-heading">AWS Opens Cloud Credits to Open Source Projects</h2>



<p class="wp-block-paragraph">AWS announced a promotional cloud credits program aimed at open source software (OSS) project maintainers, offering them AWS credits to use for infrastructure tasks directly related to their projects. The move was framed as part of a broader effort by AWS to deepen its engagement with the open source community alongside sponsorships, increased code contributions, and the open sourcing of some of its own internal technology.</p>



<p class="wp-block-paragraph">According to an AWS blog post at the time, typical use cases for the credits include upstream and performance testing, CI/CD pipelines, and storage of build artifacts on AWS infrastructure. The stated goal was to relieve resource pressure on OSS projects so their maintainers could focus on expanding and innovating within their communities.</p>



<h2 class="wp-block-heading">Who Qualifies and How the Program Works</h2>



<p class="wp-block-paragraph">To be eligible for AWS open source credits, project maintainers must meet the following criteria:</p>



<ul class="wp-block-list">
<li><strong>Active AWS account</strong> with no outstanding balance.</li>
<li><strong>OSI-approved license:</strong> The project must be released under a license recognized by the <a href="https://opensource.org/licenses">Open Source Initiative (OSI)</a>, such as the GNU GPL or Apache License 2.0. AWS indicated exceptions could be made for projects using non-OSI licenses on a case-by-case basis.</li>
<li><strong>Specific credit request:</strong> Maintainers must request a defined amount of credits and provide a clear description of intended use.</li>
<li><strong>One-year validity:</strong> Credits are valid for twelve months from the time they are issued.</li>
</ul>



<p class="wp-block-paragraph">AWS stated it would select recipients partly based on alignment with Amazon&#8217;s leadership principles. Projects with maintainers from more than one organization, or those owned by nonprofits, were given preference in the selection process.</p>



<p class="wp-block-paragraph">Representatives from <strong>AdoptOpenJDK</strong> and the <strong>Cloud Native Computing Foundation (CNCF)</strong>, among others, publicly endorsed the program and stated they were already benefiting from it at the time of the announcement.</p>



<h2 class="wp-block-heading">Context: AWS and the Open Source Community</h2>



<p class="wp-block-paragraph">The announcement came against a backdrop of growing friction between AWS and certain segments of the open source ecosystem. AWS had faced criticism—particularly from commercial open source vendors—for consuming and building managed services on top of popular OSS projects without proportional contributions back to those projects.</p>



<p class="wp-block-paragraph">The tension had already escalated to legal action in at least one case. Elastic filed a trademark infringement lawsuit against AWS following AWS&#8217;s release of <strong>Open Distro for Elasticsearch</strong>. AWS argued the fork was necessary after Elastic began mixing proprietary code into what had been a fully open source project. That dispute would later lead to much broader licensing changes at Elastic.</p>



<h2 class="wp-block-heading">Industry Reaction: Table Stakes or Genuine Progress?</h2>



<p class="wp-block-paragraph">Analysts and practitioners had divergent takes on the significance of the credits program.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;It&#8217;s actually pretty consistent with industry standard open source engagement to provide some level of free or heavily discounted services, so while it&#8217;s certainly an opportunity for AWS to try to build some goodwill, it is at the same time something like table stakes.&#8221;</p><cite>— Stephen O&#8217;Grady, Analyst, RedMonk</cite></blockquote>



<p class="wp-block-paragraph">Others were more skeptical about the timing of the initiative.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;They could have made this a program years ago. Open source groups have been reaching out to cloud vendors to donate resources for a long time. I think in the past it was a more human process. They&#8217;re making the process public for an obvious reason. … Is the timing suspect? You tell me.&#8221;</p><cite>— Ryan Marsh, Serverless expert and DevOps trainer, TheStack.io</cite></blockquote>



<h2 class="wp-block-heading">Unanswered Questions</h2>



<p class="wp-block-paragraph">At the time of the original reporting, several practical details about the program were not publicly addressed by AWS:</p>



<ul class="wp-block-list">
<li>The <strong>total budget</strong> AWS planned to commit to the credits program.</li>
<li>The <strong>minimum or maximum credit amount</strong> any single project could receive.</li>
<li>What would happen to credits if a project&#8217;s maintainer decided to <strong>commercialize</strong> the project after receiving credits.</li>
</ul>



<p class="wp-block-paragraph">These gaps left observers uncertain about the scale and long-term intent of the program.</p>



<h2 class="wp-block-heading">How AWS Compared to Google at the Time</h2>



<p class="wp-block-paragraph">Even with the credits program, AWS had not matched the depth of Google&#8217;s commercial OSS engagement at that point. At Google Cloud Next in April 2019, Google announced expanded partnerships with seven commercial open source vendors—including <strong>MongoDB</strong>, <strong>Redis Labs</strong>, and <strong>DataStax</strong>—to create tightly integrated, fully managed services on Google Cloud Platform. Those deals included shared support and unified billing, going significantly further than credits alone.</p>



<p class="wp-block-paragraph">The AWS credits program nonetheless represented a formal, structured acknowledgment of its obligations to the OSS ecosystem—a notable shift in posture even if industry veterans considered it overdue.</p>



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



<ul class="wp-block-list">
<li>If you maintain an OSI-licensed open source project, check whether an AWS credits program is currently active and whether your project qualifies.</li>
<li>Use cases like CI/CD, artifact storage, and performance testing are explicitly supported use cases for cloud credits across multiple providers—not just AWS.</li>
<li>When evaluating cloud vendor support for OSS, look beyond credits to assess code contributions, governance participation, and partnership terms.</li>
<li>The broader AWS-vs-OSS tension illustrated by the Elastic lawsuit has since reshaped open source licensing strategies across the industry, making license choice a strategic decision for project maintainers.</li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/aws-open-source-entreaties-now-include-cloud-credits/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>GitHub and Weights &#038; Biases Launch CodeSearchNet: A Benchmark for Semantic Code Search</title>
		<link>https://www.bestdevops.com/github-along-with-weights-biases-introduced-codesearchnet-challenge-evaluation-and-codesearchnet-corpus/</link>
					<comments>https://www.bestdevops.com/github-along-with-weights-biases-introduced-codesearchnet-challenge-evaluation-and-codesearchnet-corpus/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Sat, 28 Sep 2019 04:56:34 +0000</pubDate>
				<category><![CDATA[IT Training]]></category>
		<category><![CDATA[CloudSearch]]></category>
		<category><![CDATA[data scientist]]></category>
		<category><![CDATA[Elasticsearch]]></category>
		<category><![CDATA[GitHub]]></category>
		<category><![CDATA[Machine Learning]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=8161</guid>

					<description><![CDATA[GitHub and Weights &#038; Biases released the CodeSearchNet Challenge and Corpus — a large-scale dataset and evaluation benchmark designed to advance semantic code search across six programming languages.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">In late September 2019, the engineering team at GitHub, in partnership with <a href="https://wandb.ai">Weights &amp; Biases</a>, released the <strong>CodeSearchNet Challenge</strong> evaluation environment and leaderboard alongside the <strong>CodeSearchNet Corpus</strong> — a large open-source dataset aimed at advancing the state of semantic code search. The release also included several baseline models and a data preprocessing pipeline to help researchers and data scientists get started quickly.</p>



<h2 class="wp-block-heading">What Is Semantic Code Search?</h2>



<p class="wp-block-paragraph">Semantic code search is the task of retrieving relevant code snippets given a natural language query. Unlike traditional keyword search, it must bridge the gap between how developers describe intent in plain English and how that logic is expressed in source code. Standard information retrieval techniques are largely ineffective here because the vocabulary used in search queries and the vocabulary found in code rarely overlap. Compounding this, there was no substantial annotated dataset specifically designed for evaluating code search quality — a gap this project directly addresses.</p>



<h2 class="wp-block-heading">The CodeSearchNet Corpus</h2>



<p class="wp-block-paragraph">The CodeSearchNet Corpus contains approximately <strong>6 million functions</strong> extracted from open-source code across six programming languages:</p>



<ul class="wp-block-list">
<li>Go</li>
<li>Java</li>
<li>Python</li>
<li>JavaScript</li>
<li>PHP</li>
<li>Ruby</li>
</ul>



<p class="wp-block-paragraph">A subset of approximately <strong>2 million functions</strong> includes automatically generated query-like natural language descriptions derived from associated documentation. This pairing of code with natural language makes the corpus suitable for training and evaluating semantic search models. Each record also includes metadata indicating the original source location of the code.</p>



<h3 class="wp-block-heading">How the Corpus Was Collected</h3>



<p class="wp-block-paragraph">The team sourced code exclusively from publicly available, non-forked GitHub repositories. To ensure quality, they used <a href="https://libraries.io">libraries.io</a> to identify projects that are depended upon by at least one other project — a proxy for real-world relevance. Projects were then ranked by popularity using star and fork counts. Any repository without a permissive license that allowed redistribution of its contents was excluded.</p>



<p class="wp-block-paragraph">For parsing and tokenizing functions across all six languages, the team used <a href="https://tree-sitter.github.io/tree-sitter/">Tree-sitter</a>, an incremental parser generator library capable of handling multiple programming languages. Only functions that had associated documentation were included in the training split for the CodeSearchNet Challenge, ensuring that natural language–code pairs were available for supervised learning.</p>



<p class="wp-block-paragraph">The team released their data preprocessing pipeline publicly so others can replicate or extend the dataset collection process, lowering the barrier to applying machine learning techniques to source code at scale.</p>



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



<p class="wp-block-paragraph">The CodeSearchNet Challenge is a formal evaluation benchmark consisting of <strong>99 natural language queries</strong> and approximately <strong>4,000 expert relevance annotations</strong>. The goal is to measure how well a model can retrieve relevant code from the CodeSearchNet Corpus for each query.</p>



<h3 class="wp-block-heading">How the Queries Were Selected</h3>



<p class="wp-block-paragraph">Query selection followed a multi-step curation process:</p>



<ol class="wp-block-list">
<li><strong>Bing search logs:</strong> The team started with common code-related search queries that had high click-through rates on Bing.</li>
<li><strong>StaQC dataset:</strong> These were supplemented with queries drawn from StaQC, a dataset of Stack Overflow question-code pairs.</li>
<li><strong>Manual filtering:</strong> Queries that were purely technical keywords (e.g., API names or function signatures) were removed, leaving 99 natural language queries that describe developer intent.</li>
</ol>



<h3 class="wp-block-heading">How Relevance Annotations Were Collected</h3>



<p class="wp-block-paragraph">To generate annotation data, the team ran a standard Elasticsearch installation and their baseline models against the corpus, collecting the top 10 results per query. Data scientists, programmers, and machine learning researchers then manually annotated these results for relevance to each query. This human-labeled dataset forms the ground truth used for leaderboard evaluation.</p>



<h3 class="wp-block-heading">Evaluation Protocol</h3>



<p class="wp-block-paragraph">To participate in the CodeSearchNet Challenge, a model must return a ranked list of results from the CodeSearchNet Corpus for each of the 99 predefined natural language queries. Results are then scored against the expert relevance annotations. The leaderboard, integrated with Weights &amp; Biases, allows researchers to track and compare model performance transparently.</p>



<h2 class="wp-block-heading">Why This Matters for the Developer Tools Ecosystem</h2>



<p class="wp-block-paragraph">CodeSearchNet fills a well-known gap in the code intelligence research community: the absence of a large, high-quality, multi-language benchmark for evaluating semantic code search. By releasing both the corpus and the evaluation harness, GitHub and Weights &amp; Biases enable reproducible research and direct comparison across approaches — from classical information retrieval baselines to neural embedding models. The Tree-sitter-based preprocessing pipeline also gives practitioners a reusable starting point for building their own code-aware ML systems.</p>



<p class="wp-block-paragraph"><em>Original reporting via <a href="https://hub.packtpub.com">Packt Hub</a>. The CodeSearchNet paper and dataset were published by the GitHub Next research team.</em></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/github-along-with-weights-biases-introduced-codesearchnet-challenge-evaluation-and-codesearchnet-corpus/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>AWS OpsWorks vs. CloudFormation vs. Elastic Beanstalk: When to Use Each</title>
		<link>https://www.bestdevops.com/when-to-use-aws-opsworks-vs-cloudformation-or-elastic-beanstalk/</link>
					<comments>https://www.bestdevops.com/when-to-use-aws-opsworks-vs-cloudformation-or-elastic-beanstalk/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Wed, 25 Sep 2019 05:00:05 +0000</pubDate>
				<category><![CDATA[AWS]]></category>
		<category><![CDATA[CloudFormation]]></category>
		<category><![CDATA[Deploy resources]]></category>
		<category><![CDATA[Elasticsearch]]></category>
		<category><![CDATA[OpsWorks]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=8042</guid>

					<description><![CDATA[AWS offers multiple overlapping tools for deploying and configuring cloud infrastructure. Learn when to use CloudFormation, OpsWorks, and Elastic Beanstalk—and how to combine them effectively.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">AWS gives engineering teams several overlapping services for deploying and configuring infrastructure. That flexibility is powerful, but it can make tool selection difficult. This article compares three core AWS configuration management services—CloudFormation, OpsWorks, and Elastic Beanstalk—explains what each one does best, and shows when it makes sense to combine them.</p>



<h2 class="wp-block-heading">The Core Question: Declarative vs. Imperative Deployment</h2>



<p class="wp-block-paragraph">Before comparing the three services, it helps to understand the underlying deployment philosophy they share. You <em>can</em> provision AWS infrastructure using shell scripts full of AWS CLI commands—this is an imperative model where every step must be explicitly defined, error handling must be hand-coded, and scripts must be rewritten for each new application.</p>



<p class="wp-block-paragraph">A more maintainable approach is <strong>declarative configuration</strong>: you describe the desired end state in a text file, and a deployment engine figures out how to reach that state, including error handling. All three services discussed here use this declarative model. The text files that describe your infrastructure can be stored in version control, enabling an infrastructure-as-code (IaC) workflow.</p>



<h2 class="wp-block-heading">AWS CloudFormation: Deploying AWS Resources</h2>



<p class="wp-block-paragraph">CloudFormation is AWS&#8217;s foundational infrastructure-as-code service. You write a <strong>CloudFormation template</strong>—a JSON or YAML file—that declares which AWS resources your application needs. CloudFormation reads the template and provisions those resources in the correct order, handling dependencies automatically.</p>



<p class="wp-block-paragraph">CloudFormation works well for:</p>



<ul class="wp-block-list">
<li>Deploying the AWS resource layer of an application (VPCs, subnets, security groups, RDS instances, S3 buckets, load balancers, etc.)</li>
<li>Applications that are relatively static, where the entire infrastructure stack can be replaced on each update rather than patched in place</li>
<li>Teams that need repeatable, version-controlled environment definitions</li>
</ul>



<p class="wp-block-paragraph">CloudFormation supports <strong>change sets</strong>, which let you preview proposed modifications to a running stack—such as adding or removing resources—before applying them. This gives operators an audit step before infrastructure changes take effect.</p>



<p class="wp-block-paragraph"><strong>Key limitation:</strong> CloudFormation manages AWS resources at the provisioning level. It does not orchestrate configuration changes <em>inside</em> a running EC2 instance. For example, it cannot install new packages, update application configuration files, or restart services on an already-running server. Shell scripts can be embedded in CloudFormation user data, but their configuration capabilities are limited.</p>



<h2 class="wp-block-heading">AWS OpsWorks: Configuration Management Inside EC2</h2>



<p class="wp-block-paragraph">AWS OpsWorks bridges the gap that CloudFormation leaves around in-instance configuration. OpsWorks provides managed versions of two popular configuration management tools—<strong>Chef</strong> and <strong>Puppet</strong>—as AWS services (OpsWorks for Chef Automate and OpsWorks for Puppet Enterprise). A third variant, OpsWorks Stacks, uses Chef cookbooks in a proprietary stack model.</p>



<p class="wp-block-paragraph">OpsWorks handles:</p>



<ul class="wp-block-list">
<li><strong>Initial deployment</strong> of applications onto EC2 instances, including OS-level configuration</li>
<li><strong>Ongoing configuration drift remediation</strong>—keeping instances in a defined state over time</li>
<li><strong>Application updates</strong> applied to running instances without replacing them</li>
<li>Operating system package management, user accounts, file permissions, and service management</li>
</ul>



<p class="wp-block-paragraph">Use OpsWorks instead of CloudFormation alone when your application requires ongoing updates to the configuration of its EC2 instances—for example, rolling out new application versions, patching OS packages, or managing configuration files that change independently of the underlying infrastructure.</p>



<h2 class="wp-block-heading">Combining CloudFormation and OpsWorks</h2>



<p class="wp-block-paragraph">For applications that use many AWS services <em>and</em> require detailed EC2 configuration management, CloudFormation and OpsWorks complement each other well. The recommended division of responsibility is:</p>



<figure class="wp-block-table"><table><thead><tr><th>Layer</th><th>Tool</th></tr></thead><tbody><tr><td>AWS resource provisioning (VPC, RDS, ELB, S3, security groups, etc.)</td><td>CloudFormation</td></tr><tr><td>EC2 instance OS and application configuration</td><td>OpsWorks (Chef or Puppet)</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">In this model, CloudFormation bootstraps the OpsWorks stack as part of resource provisioning. Once EC2 instances are running, OpsWorks takes over to apply Chef recipes or Puppet manifests. When changes are needed, AWS resource changes go through CloudFormation change sets; application and OS changes go through OpsWorks. This separation of concerns keeps each tool focused on what it does best.</p>



<h2 class="wp-block-heading">AWS Elastic Beanstalk: Managed Platform for Web Applications</h2>



<p class="wp-block-paragraph">Elastic Beanstalk takes a higher-level approach. Rather than requiring you to define individual AWS resources, Elastic Beanstalk is a <strong>platform-as-a-service (PaaS)-style provisioning service</strong>. You upload your application code, tell Elastic Beanstalk which platform to use (e.g., Python, Node.js, Java, Docker), and it provisions and configures the underlying infrastructure automatically.</p>



<p class="wp-block-paragraph">Elastic Beanstalk automatically handles:</p>



<ul class="wp-block-list">
<li>Web server provisioning and configuration</li>
<li>Auto Scaling group setup</li>
<li>Load balancer configuration</li>
<li>Health monitoring and alerting</li>
<li>Log aggregation</li>
<li>Rolling deployments and environment cloning</li>
</ul>



<p class="wp-block-paragraph">If your application is a self-contained web application or API and fits neatly within a supported Elastic Beanstalk platform, you may not need CloudFormation or OpsWorks at all. Elastic Beanstalk is the fastest path from code to a running, monitored web environment.</p>



<p class="wp-block-paragraph"><strong>When to combine Elastic Beanstalk with CloudFormation:</strong> Most real-world applications need resources that Elastic Beanstalk does not manage on its own—a managed database (RDS), object storage (S3), a cache layer (ElastiCache), or a message queue (SQS). In these cases, use CloudFormation to define the full environment: let CloudFormation provision the Elastic Beanstalk environment alongside the supporting AWS resources. This gives you the convenience of Elastic Beanstalk for the application tier plus the full resource coverage of CloudFormation.</p>



<h2 class="wp-block-heading">Decision Guide: Which Tool to Use</h2>



<p class="wp-block-paragraph">Use the following guidance to select the right tool or combination of tools for your use case:</p>



<ul class="wp-block-list">
<li><strong>CloudFormation only</strong> — You need repeatable provisioning of AWS resources for a relatively static application, and you do not need to manage configuration inside EC2 instances beyond simple startup scripts.</li>
<li><strong>OpsWorks only (or OpsWorks + CloudFormation)</strong> — You have an application running on EC2 that requires ongoing configuration management, package updates, or application deployments to live instances. Add CloudFormation when you also have significant AWS resource dependencies.</li>
<li><strong>Elastic Beanstalk only</strong> — You are deploying a web application or API that fits a supported platform runtime and has minimal external AWS dependencies.</li>
<li><strong>Elastic Beanstalk + CloudFormation</strong> — Your web application needs Elastic Beanstalk&#8217;s managed platform conveniences but also depends on additional AWS resources such as RDS, S3, or ElastiCache that must be provisioned alongside it.</li>
</ul>



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



<figure class="wp-block-table"><table><thead><tr><th>Feature</th><th>CloudFormation</th><th>OpsWorks</th><th>Elastic Beanstalk</th></tr></thead><tbody><tr><td>Primary role</td><td>AWS resource provisioning (IaC)</td><td>In-instance OS &amp; app configuration management</td><td>Managed application platform</td></tr><tr><td>Abstraction level</td><td>Low (full control)</td><td>Medium (Chef/Puppet abstraction)</td><td>High (platform-managed)</td></tr><tr><td>Manages EC2 internals</td><td>No (limited user data scripts)</td><td>Yes</td><td>Partially (platform-managed only)</td></tr><tr><td>Ongoing config drift management</td><td>No</td><td>Yes</td><td>No</td></tr><tr><td>Best for</td><td>Any AWS resource topology</td><td>Long-lived EC2 fleets needing config management</td><td>Web apps and APIs on supported platforms</td></tr><tr><td>Combines well with</td><td>OpsWorks, Elastic Beanstalk</td><td>CloudFormation</td><td>CloudFormation</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">All three services support a declarative approach to infrastructure management and can be stored as code in version control. Choosing between them—or combining them—depends primarily on how much control you need over the underlying EC2 configuration, how complex your AWS resource dependencies are, and how quickly you need to get a web application running.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/when-to-use-aws-opsworks-vs-cloudformation-or-elastic-beanstalk/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Full-text search with Node.js and ElasticSearch on Docker</title>
		<link>https://www.bestdevops.com/full-text-search-with-node-js-and-elasticsearch-on-docker/</link>
					<comments>https://www.bestdevops.com/full-text-search-with-node-js-and-elasticsearch-on-docker/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Mon, 16 Sep 2019 05:48:32 +0000</pubDate>
				<category><![CDATA[Docker]]></category>
		<category><![CDATA[Eleastic Search]]></category>
		<category><![CDATA[codebase]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[Elasticsearch]]></category>
		<category><![CDATA[Node.js]]></category>
		<category><![CDATA[server]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=7747</guid>

					<description><![CDATA[Source:-blog.logrocket Full-text search can be both scary and exciting. Some popular databases such as&#160;MySql&#160;and&#160;Postgres&#160;are an amazing solution for storing data… [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Source:-blog.logrocket<br></p>



<p class="wp-block-paragraph">Full-text search can be both scary and exciting. Some popular databases such as&nbsp;<strong>MySql</strong>&nbsp;and&nbsp;<strong>Postgres</strong>&nbsp;are an amazing solution for storing data… but when it comes to full-text search performances, there’s no competition with&nbsp;<strong>ElasticSearch</strong>.</p>



<p class="wp-block-paragraph">For those who don’t know, ElasticSearch is a search engine server built on top of <strong>Lucene</strong> with an amazing distributed-architecture support. According to db-engines.com, it is currently the most used search engine out there.</p>



<p class="wp-block-paragraph">In this post, we are going to build a simple REST application called The Quotes Database which will allow us to store and search as many quotes as we want.</p>



<p class="wp-block-paragraph">I’ve prepared a JSON file containing 5000+ quotes with their authors, we’ll be using it as our starting data for populating ElasticSearch.</p>



<h2 class="wp-block-heading">Setting up Docker</h2>



<p class="wp-block-paragraph">First of all, we don’t want to install ElasticSearch on our machine. We’ll be using Docker for orchestrating both the Node.js server and the ES instance on a container, which will allow us to deploy a production-ready application with all the dependencies that it needs.</p>



<p class="wp-block-paragraph">Let’s create a&nbsp;<code>Dockerfile</code>&nbsp;inside our project root folder:</p>



<pre class="wp-block-preformatted">FROM node:10.15.3-alpine

WORKDIR /usr/src/app

COPY package*.json ./

RUN npm install
RUN npm install -g pm2

COPY . ./

EXPOSE 3000
EXPOSE 9200

CMD npm run start</pre>



<p class="wp-block-paragraph">As you can see, we’re telling Docker that we’ll run a&nbsp;<strong>Node.js 10.15.3-alpine</strong>&nbsp;runtime. We’ll also create a new working directory under&nbsp;<code>/usr/src/app</code>, where we’ll copy both the&nbsp;<code>package.json</code>&nbsp;and the&nbsp;<code>package-lock.json</code>&nbsp;files. That way, Docker will be able to run&nbsp;<code>npm install</code>&nbsp;inside our&nbsp;<code>WORKDIR</code>, installing our needed dependencies.</p>



<p class="wp-block-paragraph">We’ll also install <strong>PM2</strong> by running <code>RUN npm install -g pm2</code>. The Node.js runtime is single-threaded, so if a process crashes, the entire app needs to be restarted… <strong>PM2</strong> checks the Node.js process status and restarts it when the app goes down for any reason.</p>



<p class="wp-block-paragraph">After installing PM2, we’ll copy our codebase inside our&nbsp;<code>WORKDIR</code>&nbsp;(<code>COPY&nbsp;.&nbsp;./</code>), and we tell Docker to expose two ports,&nbsp;<code>3000</code>, which will expose our RESTful service, and&nbsp;<code>9200</code>, which exposes the ElasticSearch service (<code>EXPOSE&nbsp;3000</code>&nbsp;and&nbsp;<code>EXPOSE&nbsp;9200</code>).</p>



<p class="wp-block-paragraph">Last but not least, we tell Docker which command will start the Node.js app with&nbsp;<code>npm run start</code>.</p>



<h2 class="wp-block-heading">Setting up docker-compose</h2>



<p class="wp-block-paragraph">Now you may be saying, ‘<em>Great, I get it! But how do I handle the ElasticSearch instance inside Docker? I can’t find it in my Dockerfile!’</em>… you’re right! That’s where&nbsp;<strong>docker-compose</strong>&nbsp;becomes useful. It allows us to orchestrate multiple Docker containers and to create a connection between them. So, let’s write down the&nbsp;<code>docker-compose.yml</code>&nbsp;file, which will be stored inside our project root directory:</p>



<pre class="wp-block-preformatted">version: '3.6'
services:
  api:
    image: node:10.15.3-alpine
    container_name: tqd-node
    build: .
    ports:
      - 3000:3000
    environment:
     - NODE_ENV=local
     - ES_HOST=elasticsearch
     - NODE_PORT=3000
     - ELASTIC_URL=http://elasticsearch:9200
    volumes:
      - .:/usr/src/app/quotes
    command: npm run start
    links:
        - elasticsearch
    depends_on:
        - elasticsearch
    networks: 
      - esnet
  elasticsearch:
    container_name: tqd-elasticsearch
    image: docker.elastic.co/elasticsearch/elasticsearch:7.0.1
    volumes:
      - esdata:/usr/share/elasticsearch/data
    environment:
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      - discovery.type=single-node
    logging:
      driver: none
    ports:
      - 9300:9300
      - 9200:9200
    networks: 
      - esnet
volumes:
  esdata:
networks:
  esnet:</pre>



<p class="wp-block-paragraph">This is a bit more complex than our Dockerfile, but let’s analyze it:</p>



<ul class="wp-block-list"><li>We declare which version of&nbsp;<code>docker-compose.yml</code>&nbsp;file we’re using (<code>3.6</code>)</li><li>We declare our services:<ul><li><code>api</code>, which is our Node.js app. Just like in our Dockerfile, it requires the&nbsp;<code>node:10.15.3-alpine</code>&nbsp;image. We also assign a name to this container&nbsp;<code>tqd-node</code>, and here we call the previously created Dockerfile using the&nbsp;<code>build&nbsp;.</code>&nbsp;command.</li><li>We need to expose the&nbsp;<code>3000</code>&nbsp;port so we write these statements as follows&nbsp;<code>3000:3000</code>. It means that we’re mapping&nbsp;<strong>from</strong>&nbsp;the port&nbsp;<code>3000</code>&nbsp;(inside our container)&nbsp;<strong>to</strong>&nbsp;the port&nbsp;<code>3000</code>&nbsp;(accessible from our machine). Then we’ll set some environment variables. The value&nbsp;<code>elasticsearch</code>&nbsp;is a variable which refers to the&nbsp;<code>elasticsearch</code>&nbsp;service inside our&nbsp;<code>docker-compose.yml</code>&nbsp;file.</li><li>We also want to mount a volume&nbsp;<code>/usr/src/app/quotes</code>. That way, once we restart our container we’ll maintain our data without losing it.</li><li>Once more, we tell Docker which command we need to execute once the container starts up, then we set a link to the&nbsp;<code>elasticsearch</code>&nbsp;service. We also tell Docker to start the&nbsp;<code>api</code>&nbsp;service after the&nbsp;<code>elasticsearch</code>&nbsp;service has booted (using the&nbsp;<code>depends_on</code>&nbsp;directive).</li><li>Last but not least, we tell Docker to connect the&nbsp;<code>api</code>&nbsp;service under the&nbsp;<code>esnet</code>&nbsp;network. That’s because every container has its own network. That way, we say that&nbsp;<code>api</code>&nbsp;and&nbsp;<code>elasticsearch</code>&nbsp;services shares the same network so they will be able to call each other with the same ports.</li><li><code>elasticsearch</code>, which is (as you may have guessed) our ES service. It’s configuration is pretty similar to the&nbsp;<code>api</code>&nbsp;service. We’ll just cut off its verbose logs setting the&nbsp;<code>logging</code>&nbsp;directive to&nbsp;<code>driver:&nbsp;none</code>&nbsp;.</li></ul></li><li>We also declare our volumes, where we store the ES data.</li><li>And we declare our network,&nbsp;<code>esnet</code>.</li></ul>



<h2 class="wp-block-heading">Bootstrapping the Node.js app</h2>



<p class="wp-block-paragraph">Now we need to create our Node.js application, so let’s get started setting up our&nbsp;<code>package.json</code>&nbsp;file:</p>



<pre class="wp-block-preformatted">npm init -y</pre>



<p class="wp-block-paragraph">Now we need to install some dependencies:</p>



<pre class="wp-block-preformatted">npm i -s @elastic/elasticsearch body-parser cors dotenv express</pre>



<p class="wp-block-paragraph">Great! Our&nbsp;<code>package.json</code>&nbsp;file should look like this:</p>



<pre class="wp-block-preformatted">{
  "name": "nodejselastic",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" &amp;&amp; exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "@elastic/elasticsearch": "^7.3.0",
    "body-parser": "^1.19.0",
    "cors": "^2.8.5",
    "dotenv": "^8.0.0",
    "express": "^4.17.1"
  }
}</pre>



<p class="wp-block-paragraph">Let’s implement our ElasticSearch connector in Node.js. First, we need to create a new&nbsp;<code>/src/elastic.js</code>&nbsp;file:</p>



<pre class="wp-block-preformatted">const { Client } = require("@elastic/elasticsearch");
                   require("dotenv").config();

const elasticUrl = process.env.ELASTIC_URL || "http://localhost:9200";
const esclient   = new Client({ node: elasticUrl });
const index      = "quotes";
const type       = "quotes";</pre>



<p class="wp-block-paragraph">As you can see, here we set some constants that will be incredibly useful. First of all, we create a new connection to ElasticSearch using its official Node.js SDK, then we define an index (<code>"quotes"</code>) and an index type(<code>"quotes"</code> again, we’ll see later what they mean).</p>



<p class="wp-block-paragraph">Now we need to create an index on ElasticSearch. You can think of “indexes” as a SQL “database” equivalent. ElasticSearch is a NoSQL database, which means that it has no tables — it just stores JSON documents. An index is a logical namespace which maps to one or more primary shards and can have zero or more replica shards. You can read more about ElasticSearch indexes here.</p>



<p class="wp-block-paragraph">Let’s now define a function that will create our index:</p>



<pre class="wp-block-preformatted">async function createIndex(index) { 
  try {
    await esclient.indices.create({ index });
    console.log(`Created index ${index}`);
  } catch (err) {
    console.error(`An error occurred while creating the index ${index}:`);
    console.error(err);
  }
}</pre>



<p class="wp-block-paragraph">Now we need another function that creates the mapping for our quotes. The mapping defines the schema and types of our document:</p>



<pre class="wp-block-preformatted">async function setQuotesMapping () {
  try {
    const schema = {
      quote: {
        type: "text" 
      },
      author: {
        type: "text"
      }
    };

    await esclient.indices.putMapping({ 
      index, 
      type,
      include_type_name: true,
      body: { 
        properties: schema 
      } 
    })

    console.log("Quotes mapping created successfully");
  } catch (err) {
    console.error("An error occurred while setting the quotes mapping:");
    console.error(err);
  }
}</pre>



<p class="wp-block-paragraph">As you can see, we’re defining the schema for our documents, and we’re inserting it inside our&nbsp;<code>index</code>.</p>



<p class="wp-block-paragraph">Now let’s consider that ElasticSearch is a huge system and can take some seconds to boot up. We can’t connect to ES until it is ready, so we need a function that checks when the ES server is ready:</p>



<pre class="wp-block-preformatted">function checkConnection() {
  return new Promise(async (resolve) =&gt; {
    console.log("Checking connection to ElasticSearch...");
    let isConnected = false;
    while (!isConnected) {
      try {
        await esclient.cluster.health({});
        console.log("Successfully connected to ElasticSearch");
        isConnected = true;
      // eslint-disable-next-line no-empty
      } catch (_) {
      }
    }
    resolve(true);
  });
}</pre>



<p class="wp-block-paragraph">As you can see, we’re returning a promise. That’s because by using&nbsp;<code>async/await</code>&nbsp;we’re able to stop the entire Node.js process until this promise resolves, and it won’t do it until it connects to ES. That way, we force our Node.js to wait for ES before booting up.</p>



<p class="wp-block-paragraph">We’re done with ElasticSearch! Now let’s export our functions:</p>



<pre class="wp-block-preformatted">module.exports = {
  esclient,
  setQuotesMapping,
  checkConnection,
  createIndex,
  index,
  type
};</pre>



<p class="wp-block-paragraph">Great! Let’s see the entire&nbsp;<code>elastic.js</code>&nbsp;file:</p>



<pre class="wp-block-preformatted">const { Client } = require("@elastic/elasticsearch");
                   require("dotenv").config();
const elasticUrl = process.env.ELASTIC_URL || "http://localhost:9200";
const esclient   = new Client({ node: elasticUrl });
const index      = "quotes";
const type       = "quotes";
/**
 * @function createIndex
 * @returns {void}
 * @description Creates an index in ElasticSearch.
 */
async function createIndex(index) {
  try {
    await esclient.indices.create({ index });
    console.log(`Created index ${index}`);
  } catch (err) {
    console.error(`An error occurred while creating the index ${index}:`);
    console.error(err);
  }
}
/**
 * @function setQuotesMapping,
 * @returns {void}
 * @description Sets the quotes mapping to the database.
 */
async function setQuotesMapping () {
  try {
    const schema = {
      quote: {
        type: "text" 
      },
      author: {
        type: "text"
      }
    };
  
    await esclient.indices.putMapping({ 
      index, 
      type,
      include_type_name: true,
      body: { 
        properties: schema 
      } 
    })
    
    console.log("Quotes mapping created successfully");
  
  } catch (err) {
    console.error("An error occurred while setting the quotes mapping:");
    console.error(err);
  }
}
/**
 * @function checkConnection
 * @returns {Promise&lt;Boolean&gt;}
 * @description Checks if the client is connected to ElasticSearch
 */
function checkConnection() {
  return new Promise(async (resolve) =&gt; {
    console.log("Checking connection to ElasticSearch...");
    let isConnected = false;
    while (!isConnected) {
      try {
        await esclient.cluster.health({});
        console.log("Successfully connected to ElasticSearch");
        isConnected = true;
      // eslint-disable-next-line no-empty
      } catch (_) {
      }
    }
    resolve(true);
  });
}
module.exports = {
  esclient,
  setQuotesMapping,
  checkConnection,
  createIndex,
  index,
  type
};</pre>



<h2 class="wp-block-heading">Populating ElasticSearch with quotes</h2>



<p class="wp-block-paragraph">Now we need to populate our ES instance with our quotes. This may sound easy, but believe me, it can be tricky.</p>



<p class="wp-block-paragraph">Let’s create a new file in&nbsp;<code>/src/data/index.js</code>:</p>



<pre class="wp-block-preformatted">const elastic = require("../elastic");
const quotes  = require("./quotes.json");

const esAction = {
  index: {
    _index: elastic.index,
    _type: elastic.type
  }
};</pre>



<p class="wp-block-paragraph">As you can see, we’re importing the&nbsp;<code>elastic</code>&nbsp;module we just created and our quotes from a JSON file stored in&nbsp;<code>/src/data/quotes.json</code>. We’re also creating an object called&nbsp;<code>esAction</code>, which will tell ES how to index a document once we insert it.</p>



<p class="wp-block-paragraph">Now we need a script to populate our database. We also need to create an array of Object with the following structure:</p>



<pre class="wp-block-preformatted">[
  {
    index: {
      _index: elastic.index,
      _type:  elastic.type
    }
  },
  {
    author: "quote author",
    quote:  "quote"
  },
  ...
]</pre>



<p class="wp-block-paragraph">As you can see, for each quote we’re gonna insert, we need to set its mapping to ElasticSearch. So that’s what we’ll do:</p>



<pre class="wp-block-preformatted">async function populateDatabase() {
  const docs = [];
  for (const quote of quotes) {
    docs.push(esAction);
    docs.push(quote);
  }
  return elastic.esclient.bulk({ body: docs });
}</pre>



<p class="wp-block-paragraph">Great! Now let’s create our main file in&nbsp;<code>/src/main.js</code>&nbsp;and see how we’ll structure everything we’ve written so far:</p>



<pre class="wp-block-preformatted">const elastic = require("./elastic");
const data    = require("./data");
                require("dotenv").config();

(async function main() {

  const isElasticReady = await elastic.checkConnection();
  if (isElasticReady) {
    const elasticIndex = await elastic.esclient.indices.exists({index: elastic.index});

    if (!elasticIndex.body) {
      await elastic.createIndex(elastic.index);
      await elastic.setQuotesMapping();
      await data.populateDatabase()
    }
  }

})();</pre>



<p class="wp-block-paragraph">Let’s analyze the code above. We create a self-executing main function which will check for the ES connection. The code execution won’t proceed until ES is connected. When ES is ready, we’ll check if the&nbsp;<code>quotes</code>&nbsp;index exists. If it doesn’t, we’ll create it, we’ll set its mapping and will populate the database. Obviously, we’ll do so only the first time we start up our server!</p>



<h2 class="wp-block-heading">Creating a RESTful API</h2>



<p class="wp-block-paragraph">Now we need to create our RESTful server. We’ll be using Express.js, which is the most popular Node.js framework out there for building servers.</p>



<p class="wp-block-paragraph">We’ll start with the&nbsp;<code>/src/server/index.js</code>&nbsp;file:</p>



<pre class="wp-block-preformatted">const express      = require("express");
const cors         = require("cors");
const bodyParser   = require("body-parser");
const routes       = require("./routes");
                     require("dotenv").config();

const app  = express();
const port = process.env.NODE_PORT || 3000;

function start() {
  return  app.use(cors())
             .use(bodyParser.urlencoded({ extended: false }))
             .use(bodyParser.json())
             .use("/quotes",routes)
             .use((_req, res) =&gt; res.status(404).json({ success: false,error: "Route not found" }))
             .listen(port, () =&gt; console.log(`Server ready on port ${port}`));
}

module.exports = {
  start
};</pre>



<p class="wp-block-paragraph">As you can see, it is just a standard Express.js server, we won’t spend much time on that.</p>



<p class="wp-block-paragraph">Let’s see our&nbsp;<code>/src/server/routes/index.js</code>&nbsp;file:</p>



<pre class="wp-block-preformatted">const express    = require("express");
const controller = require("../controllers");
const routes     = express.Router();

routes.route("/").get(controller.getQuotes);
routes.route("/new").post(controller.addQuote);

module.exports = routes;</pre>



<p class="wp-block-paragraph">We just create two endpoints:</p>



<ol class="wp-block-list"><li><code>GET&nbsp;/</code>, will return a list of quotes matching our query string parameters.</li><li><code>POST&nbsp;/new/</code>, will allow us to post a new quote storing it inside ElasticSearch.</li></ol>



<p class="wp-block-paragraph">So now let’s see our&nbsp;<code>/src/server/controllers/index.js</code>&nbsp;file:</p>



<pre class="wp-block-preformatted">const model = require("../models");

async function getQuotes(req, res) {
  const query  = req.query;
  if (!query.text) {
    res.status(422).json({
      error: true,
      data: "Missing required parameter: text"
    });
    return;
  }
  try {
    const result = await model.getQuotes(req.query);
    res.json({ success: true, data: result });
  } catch (err) {
    res.status(500).json({ success: false, error: "Unknown error."});
  }
}

async function addQuote(req, res) {
  const body = req.body;
  if (!body.quote || !body.author) {
    res.status(422).json({
      error: true,
      data: "Missing required parameter(s): 'body' or 'author'"
    });
    return;
  }
  try {
    const result = await model.insertNewQuote(body.quote, body.author);
    res.json({ 
      success: true, 
      data: {
        id:     result.body._id,
        author: body.author,
        quote:  body.quote
      } 
    });
  } catch (err) {
    res.status(500).json({ success: false, error: "Unknown error."});
  }
}
module.exports = {
  getQuotes,
  addQuote
};</pre>



<p class="wp-block-paragraph">Here we’re basically defining two functions:</p>



<ol class="wp-block-list"><li><code>getQuotes</code>, which requires at least one querystring parameter –&nbsp;<code>text</code></li><li><code>addQuote</code>, which require two parameters –&nbsp;<code>author</code>&nbsp;and&nbsp;<code>quote</code></li></ol>



<p class="wp-block-paragraph">The ElasticSearch interface is delegated to our&nbsp;<code>/src/server/models/index.js</code>. This structure helps us maintain a MVC-ish architecture.</p>



<p class="wp-block-paragraph">Let’s see our model:</p>



<pre class="wp-block-preformatted">const { esclient, index, type } = require("../../elastic");

async function getQuotes(req) {
  const query = {
    query: {
      match: {
        quote: {
          query: req.text,
          operator: "and",
          fuzziness: "auto"
        }
      }
    }
  }

  const { body: { hits } } = await esclient.search({
    from:  req.page  || 0,
    size:  req.limit || 100,
    index: index, 
    type:  type,
    body:  query
  });

  const results = hits.total.value;
  const values  = hits.hits.map((hit) =&gt; {
    return {
      id:     hit._id,
      quote:  hit._source.quote,
      author: hit._source.author,
      score:  hit._score
    }
  });

  return {
    results,
    values
  }
}</pre>



<p class="wp-block-paragraph">As you can see, we’re composing our ElasticSearch query by selecting every quote that includes a given word or phrase.</p>



<p class="wp-block-paragraph">Then, we spawn the query, setting both&nbsp;<code>page</code>&nbsp;and&nbsp;<code>limit</code>&nbsp;values we can pass them in a query string, for instance&nbsp;<code>http://localhost:3000/quotes?text=love&amp;page=1&amp;limit=100</code>. If these values are not passed via querystring, we’ll fall back to their default values.</p>



<p class="wp-block-paragraph">ElasticSearch returns an incredibly big amount of data, but we just need four things:</p>



<ol class="wp-block-list"><li>Quote ID</li><li>The quote itself</li><li>Quote author</li><li>Score</li></ol>



<p class="wp-block-paragraph">The score represents how close the quote is to our search term. Once we have these values, we return them with the total results number, which may be useful when paginating the results on the front end.</p>



<p class="wp-block-paragraph">Now we need to create the last function for our model&nbsp;<code>insertNewQuote</code>:</p>



<pre class="wp-block-preformatted">async function insertNewQuote(quote, author) {
  return esclient.index({
    index,
    type,
    body: {
      quote,
      author
    }
  })
}</pre>



<p class="wp-block-paragraph">This function is really simple, we just post the quote and the author to our index and return the query result back to the controller.</p>



<p class="wp-block-paragraph">Now the complete&nbsp;<code>/src/server/models/index.js</code>&nbsp;file should look like this:</p>



<pre class="wp-block-preformatted">const { esclient, index, type } = require("../../elastic");

async function getQuotes(req) {
  const query = {
    query: {
      match: {
        quote: {
          query: req.text,
          operator: "and",
          fuzziness: "auto"
        }
      }
    }
  }

  const { body: { hits } } = await esclient.search({
    from:  req.page  || 0,
    size:  req.limit || 100,
    index: index, 
    type:  type,
    body:  query
  });

  const results = hits.total.value;

  const values  = hits.hits.map((hit) =&gt; {
    return {
      id:     hit._id,
      quote:  hit._source.quote,
      author: hit._source.author,
      score:  hit._score
    }
  });

  return {
    results,
    values
  }
}

async function insertNewQuote(quote, author) {
  return esclient.index({
    index,
    type,
    body: {
      quote,
      author
    }
  })
}

module.exports = {
  getQuotes,
  insertNewQuote
}</pre>



<p class="wp-block-paragraph">And we’re done! We just need to setup our start script inside out&nbsp;<code>package.json</code>&nbsp;file and we’re ready to go:</p>



<pre class="wp-block-preformatted">"scripts": {
  "start": "pm2-runtime start ./src/main.js --name node_app",
  "stop": "pm2-runtime stop node_app "
}</pre>



<p class="wp-block-paragraph">We also need to update our&nbsp;<code>/src/main.js</code>&nbsp;script in order to start up our Express.js server once ElasticSearch has been connected:</p>



<pre class="wp-block-preformatted">const elastic = require("./elastic");
const server  = require("./server");
const data    = require("./data");
                require("dotenv").config();

(async function main() {
  const isElasticReady = await elastic.checkConnection();

  if (isElasticReady) {
    const elasticIndex = await elastic.esclient.indices.exists({index: elastic.index});

    if (!elasticIndex.body) {
      await elastic.createIndex(elastic.index);
      await elastic.setQuotesMapping();
      await data.populateDatabase()
    }

    server.start();
  }
})();</pre>



<h2 class="wp-block-heading">Launching the application</h2>



<p class="wp-block-paragraph">We’re now ready to start our application using&nbsp;<strong>docker-compose</strong>!</p>



<p class="wp-block-paragraph">Just run the following command:</p>



<pre class="wp-block-preformatted">docker-compose up</pre>



<p class="wp-block-paragraph">You’ll need to wait until Docker downloads both the ElasticSearch and Node.js images, then it will boot up your server and you’ll be ready to query against your REST endpoints!</p>



<p class="wp-block-paragraph">Let’s test with a couple of cURL calls:</p>



<pre class="wp-block-preformatted">curl localhost:3000/quotes?text=love&amp;limit=3

{
  "success": true,
  "data": {
    "results": 716,
    "values": [
      {
        "id": "JDE3kGwBuLHMiUvv1itT",
        "quote": "There is only one happiness in life, to love and be loved.",
        "author": "George Sand",
        "score": 6.7102118
      },
      {
        "id": "JjE3kGwBuLHMiUvv1itT",
        "quote": "Live through feeling and you will live through love. For feeling is the language of the soul, and feeling is truth.",
        "author": "Matt Zotti",
        "score": 6.2868223
      },
      {
        "id": "NTE3kGwBuLHMiUvv1iFO",
        "quote": "Genuine love should first be directed at oneself if we do not love ourselves, how can we love others?",
        "author": "Dalai Lama",
        "score": 5.236455
      }
    ]
  }
}</pre>



<p class="wp-block-paragraph">So as you can see, we decided to limit our results to&nbsp;<code>3</code>, but there are over 713 quotes!</p>



<p class="wp-block-paragraph">We can easily get the next three quotes by calling:</p>



<pre class="wp-block-preformatted">curl localhost:3000/quotes?text=love&amp;limit=3&amp;page=2

{
  "success": true,
  "data": {
    "results": 716,
    "values": [
      {
        "id": "SsyHkGwBrOFNsaVmePwE",
        "quote": "Forgiveness is choosing to love. It is the first skill of self-giving love.",
        "author": "Mohandas Gandhi",
        "score": 4.93597
      },
      {
        "id": "rDE3kGwBuLHMiUvv1idS",
        "quote": "Neither a lofty degree of intelligence nor imagination nor both together go to the making of genius. Love, love, love, that is the soul of genius.",
        "author": "Wolfgang Amadeus Mozart",
        "score": 4.7821507
      },
      {
        "id": "TjE3kGwBuLHMiUvv1h9K",
        "quote": "Speak low, if you speak love.",
        "author": "William Shakespeare",
        "score": 4.6697206
      }
    ]
  }
}</pre>



<p class="wp-block-paragraph">And what if you need to insert a new quote? Just call the&nbsp;<code>/quotes/new</code>&nbsp;endpoint!</p>



<pre class="wp-block-preformatted">curl --request POST \
     --url http://localhost:3000/quotes/new \
     --header 'content-type: application/json' \
     --data '{
        "author": "Michele Riva",
        "quote": "Using Docker and ElasticSearch is challenging, but totally worth it."
}'</pre>



<p class="wp-block-paragraph">and the response will be:</p>



<pre class="wp-block-preformatted">{
  "success": true,
  "data": {
    "id": "is2QkGwBrOFNsaVmFAi8",
    "author": "Michele Riva",
    "quote": "Using Docker and ElasticSearch is challenging, but totally worth it."
  }
}</pre>



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



<p class="wp-block-paragraph">Docker makes it incredibly easy to manage our dependencies and their deployment. From that point, we could host our application on Heroku, AWS ECS, Google Cloud Container or any other Docker-based service with ease, without struggling to setup our server with their super-complex configurations.</p>



<p class="wp-block-paragraph">Next steps?</p>



<ul class="wp-block-list"><li>Learn how to use Kubernetes in order to scale your container and orchestrate more ElasticSearch Instances!</li><li>Create a new endpoint that will allow you to update an existing quote. Mistakes can happen!</li><li>And what about deleting a quote? How would you implement that endpoint?</li><li>It would be great to save your quotes with tags (for instances, quotes about love, health, art)… try to update your <code>quotes</code> index!</li></ul>



<p class="wp-block-paragraph">Software development is fun. With Docker, Node, and ElasticSearch it’s even better!</p>



<h2 class="wp-block-heading">Plug: LogRocket, a DVR for web apps</h2>



<figure class="wp-block-image"><a href="https://logrocket.com/signup/" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://i2.wp.com/blog.logrocket.com/wp-content/uploads/2017/03/1d0cd-1s_rmyo6nbrasp-xtvbaxfg.png?resize=1200%2C677&amp;ssl=1" alt="LogRocket Dashboard Free Trial Banner" class="wp-image-46"/></a></figure>



<p class="wp-block-paragraph">LogRocket is a frontend logging tool that lets you replay problems as if they happened in your own browser. Instead of guessing why errors happen, or asking users for screenshots and log dumps, LogRocket lets you replay the session to quickly understand what went wrong. It works perfectly with any app, regardless of framework, and has plugins to log additional context from Redux, Vuex, and @ngrx/store.</p>



<p class="wp-block-paragraph">In addition to logging Redux actions and state, LogRocket records console logs, JavaScript errors, stacktraces, network requests/responses with headers + bodies, browser metadata, and custom logs. It also instruments the DOM to record the HTML and CSS on the page, recreating pixel-perfect videos of even the most complex single-page apps.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/full-text-search-with-node-js-and-elasticsearch-on-docker/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Elastic Releases Elasticsearch Service on Azure: What DevOps Teams Need to Know</title>
		<link>https://www.bestdevops.com/elastic-releases-elasticsearch-service-on-azure/</link>
					<comments>https://www.bestdevops.com/elastic-releases-elasticsearch-service-on-azure/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Thu, 05 Sep 2019 06:14:50 +0000</pubDate>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Elastic]]></category>
		<category><![CDATA[Elasticsearch]]></category>
		<category><![CDATA[Releases]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=7484</guid>

					<description><![CDATA[Elastic launched its fully managed Elasticsearch Service on Microsoft Azure, giving DevOps teams a native, one-click deployment option for Elasticsearch and Kibana on their preferred cloud platform.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>Source: <a href="https://www.helpnetsecurity.com" rel="noopener">helpnetsecurity.com</a> (original announcement, September 2019)</em></p>



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



<p class="wp-block-paragraph">Elastic — the company behind Elasticsearch and the Elastic Stack — announced the launch of Elasticsearch Service on Microsoft Azure. The move gives DevOps and platform engineering teams who have standardized on Azure a fully managed, officially supported path to run Elasticsearch and Kibana without managing the underlying infrastructure themselves.</p>



<p class="wp-block-paragraph">Prior to this launch, Azure-based organizations had to self-manage Elasticsearch clusters on Azure VMs or use third-party offerings. The new service, hosted on Elastic Cloud, is operated directly by Elastic — meaning users get the same team that builds the software also supporting and operating it.</p>



<h2 class="wp-block-heading">Key Capabilities at Launch</h2>



<p class="wp-block-paragraph">Elasticsearch Service on Azure launched as a public beta accessible to all existing Elasticsearch Service customers and new trial users. Highlights at launch included:</p>



<ul class="wp-block-list">
  <li>One-click deployment of hosted Elasticsearch and Kibana directly from the Elastic Cloud console</li>
  <li>Access to the full Elastic Stack feature set: Elastic APM, SIEM, Maps, Canvas, and machine learning</li>
  <li>Single-click upgrades to new Elasticsearch releases with zero downtime</li>
  <li>Automatic security patches applied by Elastic&#8217;s operations team</li>
  <li>A free 14-day trial for new users</li>
  <li>Existing Elasticsearch Service customers could add Azure deployments within their existing accounts</li>
</ul>



<p class="wp-block-paragraph">At beta launch, the service was available in two Azure regions: <strong>East US 2</strong> (Virginia) and <strong>West Europe</strong> (Netherlands). Elastic indicated plans to expand regions and move the service to general availability later in 2019, at which point mission-critical support tiers would also be added.</p>



<h2 class="wp-block-heading">Deepening the Elastic and Microsoft Collaboration</h2>



<p class="wp-block-paragraph">This launch built on an existing partnership between Elastic and Microsoft. The two companies had previously collaborated on an Azure Resource Manager (ARM) template for the Elastic Stack, which many teams were already using to deploy self-managed clusters on Azure VMs.</p>



<p class="wp-block-paragraph">Elastic&#8217;s broader Microsoft ecosystem support includes:</p>



<ul class="wp-block-list">
  <li><strong>.NET clients</strong> for Elasticsearch</li>
  <li><strong>Winlogbeat</strong> for collecting Windows OS event logs and shipping them to Elasticsearch</li>
  <li><strong>Azure Active Directory integration</strong> for securing Elasticsearch clusters</li>
  <li><strong>.NET support in Elastic APM</strong> for application performance monitoring of .NET workloads</li>
</ul>



<p class="wp-block-paragraph">Shay Banon, founder and CEO of Elastic, commented: <em>&#8220;The developer and open source focus that both companies share have made this integration a very natural fit. Microsoft&#8217;s commitment to choice is evident in their developer experience on Microsoft Azure, and mirrors our own.&#8221;</em></p>



<p class="wp-block-paragraph">Scott Guthrie, EVP of Cloud + AI at Microsoft, added: <em>&#8220;As customers adopt cloud services, having a solution for their most important needs such as search, logging, observability, and security of their critical applications, will be a key advantage. The focus on developer choice and managed services that both Microsoft and Elastic share benefit our mutual customers.&#8221;</em></p>



<h2 class="wp-block-heading">Four Optimized Deployment Templates for Azure</h2>



<p class="wp-block-paragraph">Elastic&#8217;s engineering teams worked with Microsoft to benchmark and select optimal Azure VM types for common Elasticsearch workload profiles. The result was four deployment templates, each targeting a different performance and cost profile:</p>



<ul class="wp-block-list">
  <li><strong>High I/O</strong>: Designed for search-heavy or general-purpose use cases. Runs on L-series VMs equipped with local NVMe SSDs optimized for high read/write throughput.</li>
  <li><strong>Hot/Warm</strong>: A tiered architecture suited to logging and time-series workloads. Combines NVMe SSD for the &#8220;hot&#8221; tier (fast, recent data) with HDD storage offering a 1:100 RAM-to-disk ratio for cost-effective long-term retention in the &#8220;warm&#8221; tier.</li>
  <li><strong>High CPU</strong>: Targets compute-intensive workloads such as ingest pipelines, scripting, and aggregation-heavy queries. Provides double the CPU allocation relative to comparable memory.</li>
  <li><strong>High Memory</strong>: A cost-effective option for search use cases that operate on lower data volumes but require larger JVM heaps and in-memory indices.</li>
</ul>



<p class="wp-block-paragraph">Choosing the right template at deployment time can significantly affect both performance and cloud spend, so understanding the expected query and ingestion patterns before deploying is worthwhile.</p>



<h2 class="wp-block-heading">Beta Pricing Promotions</h2>



<p class="wp-block-paragraph">During the beta period, Elastic offered a promotional window in which data transfer costs (ingress, egress, and inter-node traffic) and snapshot storage costs (storage size and API requests) were waived. This made the beta period a low-risk time for teams to evaluate the service for production workloads before committing to full pricing.</p>



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



<p class="wp-block-paragraph">For DevOps and SRE teams already operating in Azure, the managed Elasticsearch Service eliminates significant operational overhead: cluster sizing, version upgrades, certificate management, snapshot scheduling, and monitoring of the Elasticsearch process itself all become Elastic&#8217;s responsibility rather than yours.</p>



<p class="wp-block-paragraph">Teams that had been running Elasticsearch on self-managed Azure VMs — whether via the ARM template or custom Terraform configurations — gained a supported migration path to a fully managed topology without leaving the Azure ecosystem or switching cloud providers.</p>



<p class="wp-block-paragraph">The addition of Azure also gave multi-cloud organizations the flexibility to co-locate Elasticsearch workloads on the same cloud provider as other Azure-native services (Azure Kubernetes Service, Azure Monitor, Azure Active Directory, etc.), reducing cross-cloud data transfer costs and latency.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/elastic-releases-elasticsearch-service-on-azure/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Elasticsearch Service Now Available on Google Cloud Platform in Japan (Tokyo Region)</title>
		<link>https://www.bestdevops.com/elasticsearch-service-is-now-available-on-google-cloud-platform-gcp-in-japan/</link>
					<comments>https://www.bestdevops.com/elasticsearch-service-is-now-available-on-google-cloud-platform-gcp-in-japan/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Thu, 01 Aug 2019 08:52:57 +0000</pubDate>
				<category><![CDATA[Google Cloud]]></category>
		<category><![CDATA[company]]></category>
		<category><![CDATA[Elasticsearch]]></category>
		<category><![CDATA[Google cloud]]></category>
		<category><![CDATA[organizations]]></category>
		<category><![CDATA[Service]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=6578</guid>

					<description><![CDATA[Elastic has launched Elasticsearch Service on Elastic Cloud in a new GCP region — Asia Pacific (Tokyo) — expanding managed Elasticsearch availability to Japan and broader Asia Pacific customers.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>Originally announced via Business Wire on August 1, 2019. Source: <a href="https://www.businesswire.com" rel="noopener">businesswire.com</a>. Original post: <a href="https://www.bestdevops.com/elasticsearch-service-is-now-available-on-google-cloud-platform-gcp-in-japan/" rel="noopener">bestdevops.com</a>.</em></p>



<h2 class="wp-block-heading">Elastic Brings Managed Elasticsearch to GCP Tokyo</h2>



<p class="wp-block-paragraph">Elastic N.V. (NYSE: ESTC), the company behind Elasticsearch and the Elastic Stack, announced in August 2019 that Elasticsearch Service on Elastic Cloud became available in a fifth Google Cloud Platform (GCP) region: <strong>Asia Pacific (Tokyo)</strong>. This made Tokyo the first GCP region for Elastic in Asia Pacific, complementing four other GCP regions the company already operated globally at the time of the announcement.</p>



<p class="wp-block-paragraph">The expansion was driven by growing demand from Japanese enterprises and SMBs modernising their IT infrastructure — moving workloads off on-premises, traditional data centres and onto public cloud platforms.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;Google Cloud Platform (GCP) has a growing presence in Japan and we&#8217;re excited to partner with Google. This new GCP Tokyo region for Elasticsearch Service will give Japan customers a SaaS-first solution for their search, logging, APM, business analytics, infrastructure monitoring, security use cases and more.&#8221;</p><cite>— Tom Kawasaki, Elastic Japan Country Manager</cite></blockquote>



<h2 class="wp-block-heading">What Is Elasticsearch Service on Elastic Cloud?</h2>



<p class="wp-block-paragraph">Elasticsearch Service on Elastic Cloud is the official hosted Elasticsearch and Kibana offering, built and supported by Elastic themselves. As a fully managed service, it abstracts away cluster administration so teams can focus on their data and applications rather than operational overhead.</p>



<p class="wp-block-paragraph">Key capabilities included at the time of this announcement:</p>



<ul class="wp-block-list">
<li><strong>Elastic APM</strong> — Application performance monitoring integrated directly into the stack</li>
<li><strong>Elastic SIEM</strong> — Security information and event management for threat detection and response</li>
<li><strong>Elastic Maps</strong> — Geospatial visualisation within Kibana</li>
<li><strong>Canvas</strong> — Custom, live infographic-style presentations of data</li>
<li><strong>Machine learning</strong> — Anomaly detection and forecasting built into the platform</li>
<li><strong>Same-day version and security patch availability</strong></li>
<li><strong>Zero-downtime upgrades</strong></li>
<li><strong>Pre-configured hardware templates</strong> optimised for common use cases</li>
<li><strong>Direct support from Elastic</strong></li>
</ul>



<p class="wp-block-paragraph">All of these features were made available immediately in the new Asia Pacific (Tokyo) region, consistent with Elastic&#8217;s other regional deployments.</p>



<h2 class="wp-block-heading">Why the Tokyo Region Matters for Asia Pacific Customers</h2>



<p class="wp-block-paragraph">Running Elasticsearch clusters in-region reduces network latency for end users and applications hosted in Japan and nearby Asia Pacific markets. It also helps organisations meet data residency and compliance requirements that may mandate data remain within specific geographic boundaries.</p>



<p class="wp-block-paragraph">Industries with particularly strong demand for low-latency search, real-time analytics, and log management — such as gaming, e-commerce, and financial services — stand to benefit directly from regional availability.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;As a GCP partner as well as an Elastic partner, we&#8217;re extremely excited to start using the Elasticsearch Service on the GCP Tokyo region. The gaming industry and other industries in Japan will greatly appreciate this announcement.&#8221;</p><cite>— Yusuke Hasegawa, President and CEO, grasys Inc.</cite></blockquote>



<h2 class="wp-block-heading">Deepening the Elastic–Google Cloud Partnership</h2>



<p class="wp-block-paragraph">The Tokyo launch was part of a broader, multi-year strategic partnership between Elastic and Google Cloud. At the time of the announcement, several additional integration milestones were either completed or in progress:</p>



<h3 class="wp-block-heading">Next GCP Region: Sydney, Australia</h3>



<p class="wp-block-paragraph">Elastic announced that the next planned GCP region would be in Sydney, Australia, further expanding Asia Pacific coverage.</p>



<h3 class="wp-block-heading">Native GCP Console Integration</h3>



<p class="wp-block-paragraph">Elasticsearch Service was being positioned as a <strong>Managed Partner Service (MPS)</strong> within the main GCP Console — the same interface where native Google services are provisioned. The planned integration would allow lifecycle operations such as creating, scaling, configuring, and reconfiguring Elasticsearch clusters using familiar GCP-style workflows, without leaving the GCP Console.</p>



<h3 class="wp-block-heading">Integrated Billing Through GCP Marketplace</h3>



<p class="wp-block-paragraph">GCP customers were set to be able to provision Elasticsearch Service through the GCP Marketplace and have that spend count fully towards their existing Google Cloud committed spend. This simplifies procurement significantly for enterprises with pre-negotiated GCP contracts.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;Google Cloud and Elastic are both committed to the open source community and are excited to announce the expanded availability of Elastic Cloud in GCP&#8217;s Tokyo region, and unified billing, coming soon. This brings simplicity and speeds up the time to value realization for joint customers.&#8221;</p><cite>— Masato Takahashi, Director, Partnerships, Google Cloud Japan</cite></blockquote>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;New regions like Tokyo and Sydney, seamless access to the Elasticsearch Service through the Google Cloud Platform Console, and billing through Google Cloud, which is targeted for release this August, are all examples of our mutual investments to create a great user experience in the cloud.&#8221;</p><cite>— Craig Griffin, Vice President of Business Development, Elastic</cite></blockquote>



<h2 class="wp-block-heading">Getting Started with Elasticsearch Service on GCP Tokyo</h2>



<p class="wp-block-paragraph">The following guidance was provided at the time of the announcement:</p>



<ul class="wp-block-list">
<li><strong>Existing Elasticsearch Service users:</strong> Log in to Elastic Cloud and select the Asia Pacific (Tokyo) GCP region when creating a new deployment.</li>
<li><strong>Migrating self-managed workloads:</strong> Elastic&#8217;s documentation and migration webinars provide guidance on moving from self-hosted Elasticsearch to the managed service.</li>
<li><strong>New users:</strong> A 14-day free trial was available, requiring only an email address to get started.</li>
</ul>



<h2 class="wp-block-heading">About Elastic</h2>



<p class="wp-block-paragraph">Elastic is a search company and the creator of the Elastic Stack — comprising <strong>Elasticsearch</strong>, <strong>Kibana</strong>, <strong>Beats</strong>, and <strong>Logstash</strong>. Elastic builds both self-managed and SaaS offerings designed to make data usable in real time and at scale across search, logging, security, and analytics use cases.</p>



<p class="wp-block-paragraph"><em>Elastic and associated marks are trademarks or registered trademarks of Elastic N.V. and its subsidiaries. All other company and product names may be trademarks of their respective owners.</em></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/elasticsearch-service-is-now-available-on-google-cloud-platform-gcp-in-japan/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
