TechTarget has a wealth of information. From time to time they showcase some of the technology-terms we would benefit from knowing!
Here’s the latest:
Ceph : open source software designed to provide highly scalable object… (see below)
AWS IoT (Amazon internet of things) is an Amazon Web Services platform that collects and analyzes data from internet-connected devices and sensors and connects that data to AWS cloud applications.(see below)
A/B testing, sometimes called split testing, is an assessment tool for identifying which version of something helps an individual or organization meet a business goal more effectively (see below)
Software-defined storage (SDS) is an approach to data storage in which the programming that controls storage-related tasks is decoupled from the physical storage hardware. (see below)
A RESTful API is an application program interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. (see below)
|Ceph is open source software designed to provide highly scalable object-, block- and file-based storage under a unified system.
Ceph storage clusters are designed to run on commodity hardware, using an algorithm called CRUSH (Controlled Replication Under Scalable Hashing) to ensure data is evenly distributed across the cluster and that all cluster nodes can retrieve data quickly without any centralized bottlenecks.
Ceph object storage is accessible through Amazon Simple Storage Service (S3) and OpenStack Swift Representational State Transfer (REST)-based application programming interfaces (APIs) and includes a native API for integration with software applications.
Ceph block storage makes use of a Ceph Block Device, which is a virtual disk that can be attached to bare-metal Linux-based servers or virtual machines. The Ceph Reliable Autonomic Distributed Object Store (RADOS) provides block storage capabilities, such as snapshots and replication. The Ceph RADOS Block Device is integrated to work as a back end with OpenStack Block Storage.
Ceph file storage makes use of the Portable Operating System Interface (POSIX)-compliant Ceph file system (CephFS) to store data in a Ceph Storage Cluster. CephFS uses the same clustered system as Ceph block storage and Ceph object storage.
History of Ceph
Sage Weil is credited with the creation of Ceph as part of a doctorate project at the University of California, Santa Cruz. The project was the culmination of years of research by professors and graduate students at UC Santa Cruz. The name Ceph stems from Cephalopod, a class of mollusks that includes cuttlefish, octopus and squid.
The Ceph open source project started in 2004, and the software became available under an open source license in 2006.
After completing his doctorate, Weil worked on the open source Ceph project with the support of DreamHost, a Los Angeles-based web hosting company he co-founded, and a small team of engineers. In 2012, they formed a startup called Inktank Inc. to provide a commercially supported version of Ceph for enterprise users.
Red Hat Inc. acquired Inktank in 2014 for $175 million. Weil assumed the role of Ceph principal architect at Red Hat.
Red Hat and SUSE LLC sell subscription-based, commercially supported versions of Ceph. Vendors offering hardware designed specifically for use with Ceph software include Fujitsu, Super Micro Computer and Western Digital’s SanDisk division.
|AWS IoT (Amazon internet of things) is an Amazon Web Services platform that collects and analyzes data from internet-connected devices and sensors and connects that data to AWS cloud applications. AWS IoT can collect data from billions of devices and connect them to endpoints for other AWS tools and services, allowing a developer to tie that data into an application.
An AWS user accesses AWS IoT with the AWS Management Console, software development kits (SDKs) or the AWS Command Line Interface. An application accesses the service through AWS SDKs. AWS IoT APIs are divided into the control plane, which includes service configuration, device registration and logging; and the data plane, which includes data ingestion.
The IoT service includes a Rules Engine feature that enables an AWS customer to continuously ingest, filter, process and route data that is streamed from connected devices. A developer can configure rules in a syntax that’s similar to SQL to transform and organize data. The feature also allows the user to configure how data interacts with other big data and automation services, such as AWS Lambda, Amazon Kinesis, Amazon Machine Learning, Amazon DynamoDB and Amazon Elasticsearch Service. Each rule consists of an SQL statement and an action list that defines and executes the rule using an editable JSON-based schema.
Device Shadows is an optional rule that enables an application to query data from devices and send commands through REST APIs. Device Shadows provide a uniform interface for all devices, regardless of limitations to connectivity, bandwidth, computing ability or power.
The optional Device Registry feature lets a developer register and track devices that are connected to the service, including metadata for each device such as model numbers and associated certificates. A developer can define a Thing Type to manage similar devices according to common characteristics. Each Thing associated with a Thing Type can have up to 50 attributes and three searchable attributes. A developer can also opt to have applications communicate directly to the IoT service.
A developer can also use open-source AWS IoT Device SDKs to optimize memory, power and network bandwidth consumption for devices. Amazon offers AWS IoT Device SDKs for the C and Node.js programming languages.
AWS IoT supports HTTP, MQTT and WebSockets communication protocols between connected devices and cloud apps through the Device Gateway, which provides secure two-way communication while limiting latency. The Device Gateway scales automatically, removing the need for an enterprise to provision and manage servers for a pub/sub messaging system, which allows clients to publish and receive messages from one another.
AWS requires devices, applications and users to adhere to strong authentication policies via X.509 certificates, AWS Identity and Access Management credentials or third-party authentication via Amazon Cognito. AWS encrypts all communication to and from devices.
AWS IoT offers a free tier of service. Beyond that tier, a customer is charged according to the number of published messages.
A/B testing (split testing)
|A/B testing, sometimes called split testing, is an assessment tool for identifying which version of something helps an individual or organization meet a business goal more effectively. A/B testing is commonly used in web development to ensure that changes to a webpage or page component are driven by data and not personal opinion.
A/B tests are blind studies and the participants are unaware that a test is being conducted. In a typical A/B test on a Web page, version A is the control and version B is the variant. During the test period, half the visitors to the Web page are served version A of the Web page, which has no changes, and half are served version B, which includes a change that is designed improve a specific metric such as clickthrough rate, conversion, engagement or time spent on page. End user behavior, which is gathered throughout the test period, is analyzed to determine whether the control or the variant performed better for the desired goal.
Online streaming service Netflix is a well-known for its extensive use of A/B testing. The company uses A/B split testing in everything from fine tuning its streaming and content delivery network algorithms to selecting what images should be associated with a specific title. According to Netflix, selecting the right image can result in 20% to 30% more viewing for a specific title.
|Software-defined storage (SDS) is an approach to data storage in which the programming that controls storage-related tasks is decoupled from the physical storage hardware.
SDS places the emphasis on storage-related services rather than storage hardware. It is part of a larger industry trend that includes software-defined networking (SDN). As is the case with SDN, the goal of software-defined storage is to provide administrators with flexible management capabilities through programming. Without the constraints of a physical system, a storage resource can be used more efficiently and its administration can be simplified through automated policy-based management. Potentially, a single software interface could be used to manage a shared storage pool that runs on commodity hardware.
The software-defined storage market is evolving and many storage marketers are still trying to figure out how to associate their products with the label. Although the term is causing some confusion, the consensus seems to be that in order to be considered part of the SDS market, the vendor must provide software that allows the customer to allocate and share storage assets across all workloads, whether storage is virtualized or not.
|A RESTful API is an application program interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data.
Representational state transfer (REST), which is used by browsers, can be thought of as the language of the Internet. Now that cloud usage is on the rise, various application programming interfaces (APIs) are emerging to expose Web services and REST is a logical choice for building APIs that allow end users to connect and interact with cloud services. RESTful APIs are used by many sites, including Google, Amazon, Twitter and LinkedIn.
A RESTful API breaks down a transaction to create a series of small modules, each of which addresses a particular underlying part of the transaction. This modularity provides developers with a lot of flexibility but can also be challenging for developers to design from scratch. Currently, the models provided by Amazon Simple Storage Service (S3), OpenStack Swift and Cloud Data Management Interface (CDMI) are most popular.
RESTful APIs explicitly take advantage of HTTP methodologies defined by the RFC 2616 protocol. They simply use “PUT” to change the state of or update a resource, which can be an object, file or block; “GET” to retrieve a resource; POST” to create that resource; and “DELETE” to remove it.