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
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

The Latest Testing, Deployment, and Maintenance Topics

article thumbnail
Unit Testing Console Output Made Easy
Unit testing presents specific challenges around logging. A developer and DZone Core members discuss an open-source project he created to help.
July 16, 2021
by Hakan Altındağ
· 12,542 Views · 4 Likes
article thumbnail
How to Configure SSL/TLS for a HTTP Client or a Server
We discuss how to easily configure an SSL/TLS connection in Java to secure your application better. This setup can also easily be used for Scala and Kotlin.
Updated July 16, 2021
by Hakan Altındağ
· 65,984 Views · 19 Likes
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,579 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
· 17,231 Views · 7 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
· 13,177 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
· 8,701 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,786 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
· 5,621 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
· 18,553 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
· 16,135 Views · 6 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
· 13,065 Views · 2 Likes
article thumbnail
Generate Google Cloud API Credentials [Video]
This article will help you in creating GCP API keys to interact with Google Cloud Services using your favorite languages like Python, Scala or Java.
July 12, 2021
by Mudit Chhabra
· 7,939 Views · 7 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
· 37,314 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
· 277,081 Views · 28 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
· 71,473 Views · 4 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,824 Views · 5 Likes
article thumbnail
Monitoring Velero Backup and Restore With BotKube
How to monitor Velero backup and restore with BotKube by sending notifications and alerts on Slack, Discord, Mattermost, or Teams.
July 8, 2021
by Aashi Modi
· 10,491 Views · 1 Like
article thumbnail
Microservices With JHipster
In this article, we will be looking at the microservices stack that JHipster, a code generation tool, generates and supports.
July 7, 2021
by Kiran Kumar
· 12,816 Views · 13 Likes
article thumbnail
How to Do API Testing?
API endpoint example http://dzone.com/getuserDetails/{username} when you send the get request to that URL it returns the JSON response.
Updated July 7, 2021
by Ganesh Hegde
· 14,190 Views · 12 Likes
article thumbnail
Moving From Oracle ATG to Microservices-Based Commerce
Advantages of microservices-based commerce, how it can grow your business, and how to migrate your data to build a better platform.
July 7, 2021
by James Konik
· 3,343 Views · 2 Likes
  • Previous
  • ...
  • 325
  • 326
  • 327
  • 328
  • 329
  • 330
  • 331
  • 332
  • 333
  • 334
  • ...
  • Next
  • RSS
  • X
  • Facebook

ABOUT US

  • About DZone
  • Support and feedback
  • Community research

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 215
  • Nashville, TN 37211
  • [email protected]

Let's be friends:

  • RSS
  • X
  • Facebook
×