DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Please enter at least three characters to search
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Zones

Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

The software you build is only as secure as the code that powers it. Learn how malicious code creeps into your software supply chain.

Apache Cassandra combines the benefits of major NoSQL databases to support data management needs not covered by traditional RDBMS vendors.

Generative AI has transformed nearly every industry. How can you leverage GenAI to improve your productivity and efficiency?

Modernize your data layer. Learn how to design cloud-native database architectures to meet the evolving demands of AI and GenAI workloads.

The Latest Coding Topics

article thumbnail
How Did I Process Half a Million Transactions in AWS Lambda Within Minutes?
In this article, I’ll walk you through the architecture of processing big records files within AWS services.
July 16, 2021
by Mohamed Latfalla
· 15,229 Views · 9 Likes
article thumbnail
How to Create a Kubernetes Cluster and Load Balancer for Local Development
This guide will show you one of many ways that you can set up and tear down a local Kubernetes cluster with a load balancer for use as a local development environment.
July 16, 2021
by Ken Lee
· 16,715 Views · 7 Likes
article thumbnail
Comprehensive Guide to Java String Formatting
Formatting Strings in Java can seem overwhelming, but it's simpler than it looks. In this article, we cover the basics and provide easy-to-reference tables.
July 15, 2021
by Justin Albano DZone Core CORE
· 53,335 Views · 62 Likes
article thumbnail
Protractor End of Support, Future of Angular E2E, Best Alternative Tools
Migrate from Protractor to other alternative tools Cypress, WebdriverIO, or Testcafe.
July 15, 2021
by Ganesh Hegde DZone Core CORE
· 12,798 Views · 2 Likes
article thumbnail
The Ultimate Guide to Amazon RDS Database Notifications
This article is about an interesting feature of AWS RDS, which is Event Notifications.
July 15, 2021
by Vasanth Kumar Makam
· 7,897 Views · 3 Likes
article thumbnail
Spring Boot: Test Restful Web Service Using Curl Client
In this video tutorial, we take a closer look at Spring Boot's Test RESTful web service using curl client. Let's get started!
July 15, 2021
by Ram N
· 4,441 Views · 3 Likes
article thumbnail
The Benefits of Using NVMe for Kubernetes
Introduction- The NVMe Protocol Non-Volatile Memory express (NVMe) is a storage access protocol that lets the CPU access SSD memory through the Peripheral Component Interconnect Express (PCIe). Through a set of protocols and technologies, NVMe dramatically accelerates the way data is transmitted, stored and retrieved. With NVMe, the CPU accesses data on SSDs directly, enabling maximum SSD utilization and flexible scalability. NVMe allows for Storage Disaggregation and can be combined with Kubernetes for scale-out applications. This blog explores how NVMe redefines storage orchestration in Kubernetes. Advantages of NVMe for Distributed Storage: By using the PCIe interface to connect CPUs to SSDs, NVMe removes layers connecting compute to storage, allowing efficient storage abstraction and disaggregation. This offers various benefits for modern data centers, including: Efficient Memory Transfer - NVMe uses one ring per CPU to communicate directly with SSD storage, reducing the internal locking speeds for Input-Output controllers. NVMe also supports message signaled interrupts to prevent CPU bottlenecks, making storage efficient and scalable. NVMe reduces latency by combining message signaled interrupts with the large number of cores in CPUs to enable I/O parallelism. NVMe offers massive Queue Parallelism - Unlike SATA which supports a maximum 32 commands per queue, NVMe utilizes a private queuing which provides up to 64 thousand commands per queue over 64 thousand queues. This is because Each I/O controller gets its own set of queues, which linearly increases throughput with the number of CPU cores available. NVMe offers improved Security - The NVMe over Fabric specification supports secure tunneling protocols produced by reputable security communities such as the Trusted Computing Group (TCG). This means that NVMe enables enterprise-grade security features such as Access Control, Data Encryption at REST, Purge-Level Erase and Crypto-erase among others. NVMe relies on an efficient command set - The protocol relies on a simple, streamlined command set which halves the number of CPU instructions needed to process I/O requests. Besides offering lower latencies, this scheme enables advanced features such as power management and reservations, which extends the benefits beyond input-output operations. NVMe-oF Non Volatile Memory express-over Fabrics (NVMe-oF) is a specification that allows CPUs to connect to SSD Storage devices across a network fabric. This is designed to harness the benefits of the NVMe protocol over a Storage Area Network (SAN). The host computer can target an SSD storage device using an MSI-X based command while the network can be implemented using various networking protocols, including Fiber Channel, Ethernet or Infiniband. NVMe-oF has found wider popularity in modern networks since it allows software organizations to implement scaled out storage for highly-distributed, highly-available applications. By extending the NVMe protocol to SAN devices, NVMe-oF makes CPU usage efficient while improving connection speeds between applications on servers and storage. NVMe-oF supports various data transfer mechanisms, such as: RDMA Fiber Channel TCP/IP NVMe-oF interfaces networked flash storage with compute servers, enabling applications to run on shared network storage, thereby providing additional network consolidation for data centers. The SSD targets can be shared dynamically among application workloads, allowing for the efficient consumption of resources, flexibility and scalability. Kubernetes Orchestration and Storage Persistence While containers are transient, Kubernetes enables stateful applications by providing abstractions that reference a physical storage device. A containerized application is virtually isolated from other processes and applications running on other containers. This makes the Kubernetes environment highly flexible and scalable, as it allows applications to run in virtual machines, bare metal systems, supported cloud systems, or a combination of various deployments. While there are benefits to this approach, it also presents a challenge when there is the need to store and share data between containers. Kubernetes offers various abstractions and options for attaching container PODs to physical storage, such as: Volumes Persistent Volumes & Persistent Volume Claims Storage Classes The Container Storage Interface (CSI) and Storage Plugins Challenges of Orchestration using Direct Attached Storage (DAS) While Direct Attached Storage (DAS) offers a simple, highly available and quick storage, DAS alone is not sufficient to run Kubernetes clusters. This is because DAS devices have a limited storage capacity that cannot be dynamically provisioned to match stateful Kubernetes workloads. Additionally, DAS doesn’t incorporate networking capabilities or facilitate data access by different user groups since storage is only directly accessible to individual servers/desktop machines, while Kubernetes orchestrates on distributed clusters. NVMe for Kubernetes NVMe extends the low latency of DAS to Network Attached Storage devices by connecting servers to SSDs over a high-speed PCIe-oF interface. This makes NVMe an efficient option to provide storage for dynamic, extensible and flexible stateful applications running on Kubernetes. The Container Storage Interface (CSI) standard connects these pooled NVMe devices to Kubernetes clusters running stateful applications. By combining the low-latency networked storage offered by NVMe-oF and the flexibility of the CSI plugin, organizations can provide an efficient, agile and demand driven storage solution for Kubernetes applications. NVMe-oF Persistent Volumes To avoid the bottlenecks of running NVMe SSDs on a single, local server, several organizations are working to enable an NVMe-oF plugin for Kubernetes storage. Kubernetes enables the use of REST APIs to allow control of the storage provisioner through the NVMe-oF protocol. The storage provisioner then creates standard Volume API objects that can be used to attach a portion of pooled NVMe SSDs to a POD. Kubernetes PODs and other resources can then read and write data onto this pooled storage like any persistent volume object. OpenEBS created by MayaData is a popular agile storage stack for stateful Kubernetes applications that need minimal latency. The software infrastructure and plugins from OpenEBS integrate perfectly with the rapid, disaggregated physical storage offered by NVMe-oF. Integrating NVMe SSDs with OpenEBS plugins allows for simpler storage configurations for loosely coupled applications with stateful workloads. OpenEBS is one of the popular open-source, agile storage stacks for performance-sensitive databases orchestrated by Kubernetes. Mayastor, OpenEBS’s latest storage engine, delivers very low overhead versus the performance capabilities of underlying devices. While OpenEBS Mayastor does not require NVMe devices and does not require the workloads to access data via NVMe, an end to end deployment from a workload running a container supporting NVMe over TCP through the low overhead OpenEBS Mayastor and ultimately NVMe devices will understandably perform as close as possible to the theoretical maximum performance of the underlying devices.To learn more about how OpenEBS Mayastor, leveraging NVMe as a protocol, performs when leveraging some of the fastest NVMe devices currently available on the market, visit this article. OpenEBS Mayastor builds a foundational layer that enables workloads to coalesce and control storage as needed in a declarative, Kubernetes-native way. While doing so, the user can focus on what's important, that is, deploying and operating stateful workloads. If you’re interested in trying out Mayastor for yourself, instructions for how to set up your own cluster, and run a benchmark like `fio` may be found at https://docs.openebs.io/docs/next/mayastor.html. References Mayastor NVMe-oF TCP performance - https://openebs.io/blog/mayastor-nvme-of-tcp-performance/ Lightning-fast storage solutions with OpenEBS Mayastor and Intel Optane - https://mayadata.io/assets/pdf/product/intel-and-mayadata-benchmarking-of-openEBS-mayastor.pdf This article has already been published on https://blog.mayadata.io/the-benefits-of-using-nvme-for-kubernetes and has been authorized by MayaData for a republish.
July 15, 2021
by Sudip Sengupta DZone Core CORE
· 4,949 Views · 2 Likes
article thumbnail
Top 10 June '21 Microservices Articles to Read Now
See the 10 most popular articles from the Microservices zone with topics covering design patterns, security in microservices, interview questions, and more!
July 14, 2021
by Bhagyashree Nigade DZone Core CORE
· 18,270 Views · 15 Likes
article thumbnail
Hands-On Presto Tutorial: Presto 101
This tutorial will guide you on installing and configuring Presto locally.
July 13, 2021
by Praburam Upendran
· 15,284 Views · 6 Likes
article thumbnail
Best Practices of Using JPA (Hibernate) With Kotlin
Defining JPA entities in Kotlin comes with some caveats. Let’s look at how to avoid the common pitfalls and make the most of using Kotlin.
Updated July 12, 2021
by Andrey Oganesyan
· 12,141 Views · 11 Likes
article thumbnail
4 Key Observability Metrics for Distributed Applications
What to watch with your cloud applications- in this post, we'll cover areas your metrics should focus on to ensure you're not missing key insights.
July 12, 2021
by Michael Bogan DZone Core CORE
· 12,448 Views · 2 Likes
article thumbnail
Top 10 Open Source Projects for SREs and DevOps
In this blog, we look at some of the most sought-out open source projects in the areas of monitoring, deployment, and maintenance.
Updated July 11, 2021
by Nir Sharma
· 35,813 Views · 10 Likes
article thumbnail
Confused by AWS Storage Options? S3, EBS, EFS Explained
It's easy to muddle over the specifics of AWS' storage options. So here, we cover AWS S3, EBS, and EFS to see when to use which one.
Updated July 11, 2021
by Gilad David Maayan DZone Core CORE
· 274,059 Views · 28 Likes
article thumbnail
Java String Format Examples
Always forgetting the Java String formatting specifiers? Or maybe you never took the time to learn. Here's a reference of the various flags you can use.
Updated July 11, 2021
by Jay Sridhar
· 3,630,389 Views · 137 Likes
article thumbnail
Configure Cypress Tests to Run on Multiple Environments
This article explains how to set up Cypress tests to run on different environments with step by step guide and helps to configure Cypress CI/CD pipelines.
July 10, 2021
by Ganesh Hegde DZone Core CORE
· 70,348 Views · 4 Likes
article thumbnail
How Good Is Python for Blockchain Development?
Discover capabilities of Python programming languages for blockchain development. Is it really that good?
July 10, 2021
by Alina Telnova
· 26,551 Views · 6 Likes
article thumbnail
JIRA Connector in Mule 4
Integrating JIRA in Mule 4 with Mulesoft connector
Updated July 9, 2021
by Nitin Gupta DZone Core CORE
· 17,632 Views · 1 Like
article thumbnail
How to Bootstrap a Spring Boot Application Using STS (Spring Tool Suite)? | Spring Boot Tutorial
Bootstrap a spring boot Application using STS (Spring Tool Suite)
July 9, 2021
by Ram N
· 7,213 Views · 2 Likes
article thumbnail
What the Heck Are WebSockets!?
We take a look at the history of WebSockets, what data transfer models developers used before WebSockets, and why WebSockets have proved so useful.
Updated July 9, 2021
by Srushtika Neelakantam
· 23,324 Views · 14 Likes
article thumbnail
3 Ways to Install CockroachDB — Binary, Docker, or Kubernetes
In this article, see three ways to install CockroachDB on your machine, including binary, Docker, and Kubernetes.
July 9, 2021
by Daniel Holt
· 10,392 Views · 5 Likes
  • Previous
  • ...
  • 330
  • 331
  • 332
  • 333
  • 334
  • 335
  • 336
  • 337
  • 338
  • 339
  • ...
  • Next

ABOUT US

  • About DZone
  • Support and feedback
  • Community research
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 100
  • Nashville, TN 37211
  • support@dzone.com

Let's be friends: