You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by dm...@apache.org on 2019/12/10 20:51:54 UTC

svn commit: r1871149 [2/7] - in /ignite/site/trunk: ./ arch/ community/ css/ features/ includes/ scss/ use-cases/caching/ use-cases/comparison/ use-cases/database/ use-cases/hadoop/ use-cases/platforms/ use-cases/spark/

Modified: ignite/site/trunk/blogs.html
URL: http://svn.apache.org/viewvc/ignite/site/trunk/blogs.html?rev=1871149&r1=1871148&r2=1871149&view=diff
==============================================================================
--- ignite/site/trunk/blogs.html (original)
+++ ignite/site/trunk/blogs.html Tue Dec 10 20:51:53 2019
@@ -30,7 +30,7 @@ under the License.
 -->
 
 <!DOCTYPE html>
-<html>
+<html lang="en">
 <head>
 <link rel="canonical" href="https://ignite.apache.org/blogs.html" />
     <meta charset="utf-8">
@@ -39,9 +39,7 @@ under the License.
     <meta http-equiv="Pragma" content="no-cache" />
     <meta http-equiv="Expires" content="0" />
     <title>Blog Posts - Apache Ignite</title>
-    <link media="all" rel="stylesheet" href="css/all.css?v=1538416900">
-    <link href="https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css" rel="stylesheet">
-    <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'>
+    <!--#include virtual="/includes/styles.html" -->
 </head>
 <body>
 <div id="wrapper">
@@ -54,18 +52,18 @@ under the License.
             <div class="col-sm-12 col-md-12 col-xs-12" style="padding-left: 0; padding-right: 20px;">
                 <section id="data-streaming-using-apache-flink" class="page-section blog-section">
                     <h3>Data Streaming Using Apache Flink and Apache Ignite</h3>
-                    <img src="/images/smaitra.png" class="img-circle blog-img"><span class="blog-date">By Saikat Maitra | Aug 26, 2018</span><br/>
+                    <img src="/images/smaitra.png" class="img-circle blog-img" alt="Saikat Maitra Headshot"><span class="blog-date">By Saikat Maitra | Aug 26, 2018</span><br/>
                     <p>
                          In this blog, Saikat walks you through a step-by-step process on how to stream data using Apache Flink and Apache Ignite.
                     </p>
                     <p>
-                        <a href="https://samaitra.blogspot.com/2018/08/data-streaming-using-apache-flink-and.html" target="_blank" rel="noopener">Read more</a>
+                        <a href="https://samaitra.blogspot.com/2018/08/data-streaming-using-apache-flink-and.html" target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
 
                 </section>
                 <section id="ml-blogs-achaudhri" class="page-section blog-section">
                     <h3>Machine Learning Blog Series</h3>
-                    <img src="/images/achaudhri.png" class="img-circle blog-img"><span class="blog-date">By Akmal Chaudhri | Aug 13, 2018</span><br/>
+                    <img src="/images/achaudhri.png" alt="Akmal Chaudhri Headshot" class="img-circle blog-img"><span class="blog-date">By Akmal Chaudhri | Aug 13, 2018</span><br/>
                     <p>
                         Dive into a series of Machine Learning blogs with Akmal Chaudhri. In the following blogs, Akmal explains, with code examples, how ML algorithms can be used in conjunction with Apache Ignite.
                     </p>
@@ -81,7 +79,7 @@ under the License.
                 </section>
                 <section id="apache-ignite-2-5-scaling" class="page-section blog-section">
                     <h3>Apache Ignite 2.5: Scaling to 1000s Nodes Clusters</h3>
-                    <img src="/images/dmagda.png" class="img-circle blog-img"><span class="blog-date">By Denis Magda | May 31, 2018</span><br/>
+                    <img src="/images/dmagda.png" alt="Denis Magda Headshot" class="img-circle blog-img"><span class="blog-date">By Denis Magda | May 31, 2018</span><br/>
                     <p>
                         Apache Ignite was always appreciated by its users for two primary things it delivers - scalability and performance.
                         Throughout the lifetime many distributed systems tend to do performance optimizations from a release to release while
@@ -96,12 +94,12 @@ under the License.
                     </p>
 
                     <p>
-                        <a href="https://blogs.apache.org/ignite/entry/apache-ignite-2-5-scaling" target="_blank" rel="noopener">Read more</a>
+                        <a href="https://blogs.apache.org/ignite/entry/apache-ignite-2-5-scaling" target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
                 <section id="stratio-apache-ignite-cache" class="page-section blog-section">
                     <h3>Apache Ignite: More than a simple cache</h3>
-                    <img src="/images/glucero.png" class="img-circle blog-img"><span class="blog-date">By Gastón Lucero | May 16, 2018</span><br/>
+                    <img src="/images/glucero.png" class="img-circle blog-img"><span class="blog-date" alt="Gaston Lucero Headshot">By Gastón Lucero | May 16, 2018</span><br/>
                     <p>
                         Let us suppose that we start to develop a webserver for our IOT App with a few endpoints, like POST for receive events,
                         GET devicesBySensorType, GET all, and PUT for update device metadata, etc.
@@ -112,35 +110,35 @@ under the License.
                     </p>
 
                     <p>
-                        <a href="http://www.stratio.com/blog/apache-ignite-cache/" target="_blank" rel="noopener">Read more</a>
+                        <a href="http://www.stratio.com/blog/apache-ignite-cache/" target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
                 <section id="apache-ignite-transactions-architecture-transactio" class="page-section blog-section">
                     <h3>Apache Ignite Transactions Architecture: Transaction Handling at the Level of Third-Party Persistence</h3>
-                    <img src="/images/achaudhri.png" class="img-circle blog-img"><span class="blog-date">By Akmal Chaudhri | May 07, 2018</span><br/>
+                    <img src="/images/achaudhri.png" alt="Akmal Chaudhri Headshot" class="img-circle blog-img"><span class="blog-date">By Akmal Chaudhri | May 07, 2018</span><br/>
                     <p>
                         Handling transaction failure with third-party persistence is actually easier than you may think, as updates and changes are applied to the third-party store first.
                     </p>
 
                     <p>
-                        <a href="https://dzone.com/articles/apache-ignite-transactions-architecture-transactio" target="_blank" rel="noopener">Read more</a>
+                        <a href="https://dzone.com/articles/apache-ignite-transactions-architecture-transactio" target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
                 <section id="apache-ignite-transactions-architecture-ignite-per" class="page-section blog-section">
                     <h3>Apache Ignite Transactions Architecture: Ignite Persistence Transaction Handling</h3>
-                    <img src="/images/achaudhri.png" class="img-circle blog-img"><span class="blog-date">By Akmal Chaudhri | May 03, 2018</span><br/>
+                    <img src="/images/achaudhri.png" alt="Akmal Chaudhri Headshot" class="img-circle blog-img"><span class="blog-date">By Akmal Chaudhri | May 03, 2018</span><br/>
                     <p>
                         Learn about transaction handling at the level of Apache Ignite persistence (for example, WAL, checkpointing, and more).
 
                     </p>
 
                     <p>
-                        <a href="https://dzone.com/articles/apache-ignite-transactions-architecture-ignite-per" target="_blank" rel="noopener">Read more</a>
+                        <a href="https://dzone.com/articles/apache-ignite-transactions-architecture-ignite-per" target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
                 <section id="apachereg-cassandra-and-apachereg-ignite-selecting" class="page-section blog-section">
                     <h3>Apache Cassandra and Apache Ignite: Selecting the Right Distributed Database Solution</h3>
-                    <img src="/images/nivanov.png" class="img-circle blog-img"><span class="blog-date">By Nikita Ivanov | April 10, 2018</span><br/>
+                    <img src="/images/nivanov.png" alt="Nikita Ivanov Headshot" class="img-circle blog-img"><span class="blog-date">By Nikita Ivanov | April 10, 2018</span><br/>
                     <p>
                         Apache® Cassandra™ is a popular open-source, distributed, key-value store columnar NoSQL database
                         used by companies such as Netflix, eBay, and Expedia for key parts of their business. For Apache Cassandra
@@ -151,23 +149,23 @@ under the License.
                     </p>
 
                     <p>
-                        <a href="https://dzone.com/articles/apachereg-cassandra-and-apachereg-ignite-selecting" target="_blank" rel="noopener">Read more</a>
+                        <a href="https://dzone.com/articles/apachereg-cassandra-and-apachereg-ignite-selecting" target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
                 <section id="using-apache-ignite-to-stop-duplicate-rest-requests" class="page-section blog-section">
                     <h3>Using Apache Ignite to Prevent Duplicate REST Requests</h3>
-                    <img src="/images/user-default.png" class="img-circle blog-img"><span class="blog-date">By David Khanaferov | March 19, 2018</span><br/>
+                    <img src="/images/user-default.png" alt="Speaker Headshot" class="img-circle blog-img"><span class="blog-date">By David Khanaferov | March 19, 2018</span><br/>
                     <p>
                         Read on to find out how David Khanaferov used Apache Ignite to prevent duplicate REST requests.
                     </p>
 
                     <p>
-                        <a href="http://www.huristic.co/blog/2018/1/17/using-apache-ignite-to-stop-duplicate-rest-requests" target="_blank" rel="noopener">Read more</a>
+                        <a href="http://www.huristic.co/blog/2018/1/17/using-apache-ignite-to-stop-duplicate-rest-requests" target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
                 <section id="apache-ignite-the-tutorial-sven-goly" class="page-section blog-section">
                     <h3>Apache Ignite Persistence, Expiration Policies and Monitoring with Prometheus + Grafana</h3>
-                    <img src="/images/svengoly.png" class="img-circle blog-img"><span class="blog-date">By Sven Goly | March 17, 2018</span><br/>
+                    <img src="/images/svengoly.png" class="img-circle blog-img"  alt="Sven Goly Headshot"><span class="blog-date">By Sven Goly | March 17, 2018</span><br/>
                     <p>
                         Streaming data from Kafka to Ignite and processing it with horizontal and vertical scalability has been covered in the first four parts.
                         At this point, we got our processed data in the cache – so we want to either persist that data or set up some expiration policy so we
@@ -175,36 +173,36 @@ under the License.
                     </p>
 
                     <p>
-                        <a href="https://streambench.wordpress.com/2018/03/17/tutorial-part-five-apache-ignite-persistence-expiration-policies-and-monitoring-with-prometheus-grafana/" target="_blank" rel="noopener">Read more</a>
+                        <a href="https://streambench.wordpress.com/2018/03/17/tutorial-part-five-apache-ignite-persistence-expiration-policies-and-monitoring-with-prometheus-grafana/" target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
                 <section id="apache-ignite-in-memory-option-apache-cassandra-deployments" class="page-section blog-section">
                     <h3>Apache Ignite: In-Memory Option for Apache Cassandra Deployments</h3>
-                    <img src="/images/ashitow.png" class="img-circle blog-img"><span class="blog-date">By Artem Schitow | February 22, 2018</span><br/>
+                    <img src="/images/ashitow.png" class="img-circle blog-img"  alt="Artem Shitow Headshot"><span class="blog-date">By Artem Schitow | February 22, 2018</span><br/>
                     <p>
                         In this blog, Artem Schitow shows how to deploy Apache Ignite as an in-memory layer above Cassandra.
                         Read on to find out how it is possible to preserve existing deployments of Cassandra and address its limitations with Ignite
                     </p>
 
                     <p>
-                        <a href="https://www.gridgain.com/resources/blog/apache-ignite-in-memory-option-apache-cassandra-deployments" target="_blank" rel="noopener">Read more</a>
+                        <a href="https://www.gridgain.com/resources/blog/apache-ignite-in-memory-option-apache-cassandra-deployments" target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
                 <section id="meltdown-and-spectre-patches-show" class="page-section blog-section">
                     <h3>Meltdown and Spectre patches show negligible impact to Apache Ignite performance</h3>
-                    <img src="/images/dmagda.png" class="img-circle blog-img"><span class="blog-date">By Denis Magda | January 30, 2018</span><br/>
+                    <img src="/images/dmagda.png" alt="Denis Magda Headshot" class="img-circle blog-img"><span class="blog-date" >By Denis Magda | January 30, 2018</span><br/>
                     <p>
                         Apache Ignite community applied security patches against the notorious Meltdown Spectre vulnerabilities
                         and completed performance testing of general operations and workloads that are typical for Ignite deployments.
                     </p>
 
                     <p>
-                        <a href="https://blogs.apache.org/ignite/entry/meltdown-and-spectre-patches-show" target="_blank" rel="noopener">Read more</a>
+                        <a href="https://blogs.apache.org/ignite/entry/meltdown-and-spectre-patches-show" target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
                 <section id="apache-ignite-transactions-architecture-concurrency-modes-and-isolation-levels" class="page-section blog-section">
                     <h3>Apache Ignite Transactions Architecture: Concurrency Modes and Isolation Levels</h3>
-                    <img src="/images/achaudhri.png" class="img-circle blog-img"><span class="blog-date">By Akmal Chaudhri | January 25, 2017</span><br/>
+                    <img src="/images/achaudhri.png" alt="Akmal Chaudhri Headshot" class="img-circle blog-img"  alt="Speaker Headshot"><span class="blog-date">By Akmal Chaudhri | January 25, 2017</span><br/>
                     <p>
                         Most modern multi-user applications allow concurrent data access and modification.
                         To manage this capability and ensure that the system moves from one consistent state to another,
@@ -212,12 +210,12 @@ under the License.
                         the beginning of a transaction (pessimistic locking) or at the end of a transaction (optimistic locking) before work is committed.
                     </p>
                     <p>
-                        <a href="https://www.gridgain.com/resources/blog/apache-ignite-transactions-architecture-concurrency-modes-and-isolation-levels" target="_blank" rel="noopener">Read more</a>
+                        <a href="https://www.gridgain.com/resources/blog/apache-ignite-transactions-architecture-concurrency-modes-and-isolation-levels" target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
                 <section id="apache-ignite-transactions-architecture-2-phase-commit-protocol" class="page-section blog-section">
                     <h3>Apache Ignite Transactions Architecture: 2-phase commit protocol</h3>
-                    <img src="/images/achaudhri.png" class="img-circle blog-img"><span class="blog-date">By Akmal Chaudhri | January 12, 2017</span><br/>
+                    <img src="/images/achaudhri.png" alt="Akmal Chaudhri Headshot" class="img-circle blog-img" alt="Speaker Headshot"><span class="blog-date">By Akmal Chaudhri | January 12, 2017</span><br/>
                     <p>
                         Apache Ignite supports a range of different Application Programming Interfaces (APIs).
                         In this multi-part article series, we will take a more detailed look at how Apache Ignite manages
@@ -228,12 +226,12 @@ under the License.
                     </p>
 
                     <p>
-                        <a href="https://www.gridgain.com/resources/blog/apache-ignite-transactions-architecture-2-phase-commit-protocol" target="_blank" rel="noopener">Read more</a>
+                        <a href="https://www.gridgain.com/resources/blog/apache-ignite-transactions-architecture-2-phase-commit-protocol" target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
                 <section id="protecting-apache-ignite-from-meltdown" class="page-section blog-section">
                     <h3>Protecting Apache Ignite from 'Meltdown' and 'Spectre' vulnerabilities</h3>
-                    <img src="/images/dmagda.png" class="img-circle blog-img"><span class="blog-date">By Denis Magda | January 08, 2018</span><br/>
+                    <img src="/images/dmagda.png" alt="Denis Magda Headshot" class="img-circle blog-img"><span class="blog-date">By Denis Magda | January 08, 2018</span><br/>
                     <p>
                         The world was rocked after the recent disclosure of the Meltdown and Spectre vulnerabilities that literally affect almost all software ever developed.
                         Both issues are related to the way all modern CPUs are designed and this is why they have opened unprecedented security breaches --
@@ -241,78 +239,78 @@ under the License.
                     </p>
 
                     <p>
-                        <a href="https://blogs.apache.org/ignite/entry/protecting-apache-ignite-from-meltdown" target="_blank" rel="noopener">Read more</a>
+                        <a href="https://blogs.apache.org/ignite/entry/protecting-apache-ignite-from-meltdown" target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
                 <section id="in-memory-technologies-meeting-healthcares-fast-da-1" class="page-section blog-section">
                     <h3>In-Memory Technologies: Meeting Healthcare's Fast Data Challenges (Part 2)</h3>
-                    <img src="/images/achaudhri.png" class="img-circle blog-img"><span class="blog-date">By Akmal Chaudhri | December 28, 2017</span><br/>
+                    <img src="/images/achaudhri.png" alt="Akmal Chaudhri Headshot" class="img-circle blog-img"><span class="blog-date">By Akmal Chaudhri | December 28, 2017</span><br/>
                     <p>
                         Learn about a healthcare case study from a company called e-Therapeutics, which specializes in drug discovery and development, and see how they used Apache Ignite.
                     </p>
 
                     <p>
-                        <a href="https://dzone.com/articles/in-memory-technologies-meeting-healthcares-fast-da-1" target="_blank" rel="noopener">Read more</a>
+                        <a href="https://dzone.com/articles/in-memory-technologies-meeting-healthcares-fast-da-1" target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
                 <section id="in-memory-technologies-meeting-healthcares-fast-da" class="page-section blog-section">
                     <h3>In-Memory Technologies: Meeting Healthcare's Fast Data Challenges (Part 1)</h3>
-                    <img src="/images/achaudhri.png" class="img-circle blog-img"><span class="blog-date">By Akmal Chaudhri | December 19, 2017</span><br/>
+                    <img src="/images/achaudhri.png" alt="Akmal Chaudhri Headshot" class="img-circle blog-img"><span class="blog-date">By Akmal Chaudhri | December 19, 2017</span><br/>
                     <p>
                         Modern healthcare has many demanding requirements for the storage and querying of data. Ignite provides a range of capabilities that can meet these needs perfectly.
                     </p>
 
                     <p>
-                        <a href="https://dzone.com/articles/in-memory-technologies-meeting-healthcares-fast-da" target="_blank" rel="noopener">Read more</a>
+                        <a href="https://dzone.com/articles/in-memory-technologies-meeting-healthcares-fast-da" target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
                 <section id="intelreg-optane-ssds-outperforms-regular-ssds-veri" class="page-section blog-section">
                     <h3>Intel Optane™ SSDs Outperforms Regular SSDs - Verified on Apache Ignite</h3>
-                    <img src="/images/dmagda.png" class="img-circle blog-img"><span class="blog-date">By Denis Magda | October 31, 2017</span><br/>
+                    <img src="/images/dmagda.png" alt="Denis Magda Headshot" class="img-circle blog-img"><span class="blog-date">By Denis Magda | October 31, 2017</span><br/>
                     <p>
                         This article shows how you can improve performance in random write workloads of a database by replacing regular SSDs with Intel Optane SSDs.
                     </p>
 
                     <p>
-                        <a href="https://dzone.com/articles/intelreg-optane-ssds-outperforms-regular-ssds-veri" target="_blank" rel="noopener">Read more</a>
+                        <a href="https://dzone.com/articles/intelreg-optane-ssds-outperforms-regular-ssds-veri" target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
                 <section id="kubernetes-and-apache-ignite-deployment-on-aws" class="page-section blog-section">
                     <h3>Kubernetes and Apache Ignite Deployment on AWS</h3>
-                    <img src="/images/achaudhri.png" class="img-circle blog-img"><span class="blog-date">By Akmal Chaudhri | September 28, 2017</span><br/>
+                    <img src="/images/achaudhri.png" alt="Akmal Chaudhri Headshot" class="img-circle blog-img"><span class="blog-date">By Akmal Chaudhri | September 28, 2017</span><br/>
                     <p>
                         Bring K8s and Apache Ignite to the cloud (AWS, at least) with this guide, which touches on Kubernetes' installation, configuration, and connecting to Ignite clusters.
                     </p>
 
                     <p>
-                        <a href="https://dzone.com/articles/kubernetes-and-apache-ignite-deployment-on-aws" target="_blank" rel="noopener">Read more</a>
+                        <a href="https://dzone.com/articles/kubernetes-and-apache-ignite-deployment-on-aws" target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
                 <section id="ssd-performance-tips-checked-on-apache-ignite" class="page-section blog-section">
                     <h3>SSD Performance Tips - Checked on Apache Ignite</h3>
-                    <img src="/images/dmagda.png" class="img-circle blog-img"><span class="blog-date">By Denis Magda | September 26, 2017</span><br/>
+                    <img src="/images/dmagda.png" alt="Denis Magda Headshot" class="img-circle blog-img"><span class="blog-date">By Denis Magda | September 26, 2017</span><br/>
                     <p>
                         In this blog post, Denis explains how the cache coherence protocol can help you use Apache Ignite to increase the speed and performance of your platform.
                     </p>
 
                     <p>
-                        <a href="https://dzone.com/articles/ssd-performance-tips-checked-on-apache-ignite" target="_blank" rel="noopener">Read more</a>
+                        <a href="https://dzone.com/articles/ssd-performance-tips-checked-on-apache-ignite" target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
                 <section id="analyzing-ignitenet-code-with-ndepend" class="page-section blog-section">
                     <h3>Analyzing Ignite.NET Code With NDepend</h3>
-                    <img src="/images/ptupitsyn.png" class="img-circle blog-img"><span class="blog-date">By Pavel Tupitsyn | September 19, 2017</span><br/>
+                    <img src="/images/ptupitsyn.png" alt="Pavel Tupitsyn" class="img-circle blog-img"><span class="blog-date">By Pavel Tupitsyn | September 19, 2017</span><br/>
                     <p>
                         See how NDepend works and how you can use it for code analysis to make sure your Ignite.NET code is clean and providing the best performance possible.
                     </p>
 
                     <p>
-                        <a href="https://dzone.com/articles/analyzing-ignitenet-code-with-ndepend" target="_blank" rel="noopener">Read more</a>
+                        <a href="https://dzone.com/articles/analyzing-ignitenet-code-with-ndepend" target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
                 <section id="what-is-apache-ignite.html" class="page-section blog-section">
                     <h3>What is Apache Ignite?</h3>
-                    <img src="/images/dsetrakyan.png" class="img-circle blog-img"><span class="blog-date">By Dmitriy Setrakyan | September 13, 2017</span><br/>
+                    <img src="/images/dsetrakyan.png" alt="Dimitriy Setrakyan" class="img-circle blog-img"><span class="blog-date">By Dmitriy Setrakyan | September 13, 2017</span><br/>
                     <p>
                         If you ever looked at Apache Ignite, you have probably noticed that it is a fairly rich platform with lots of components.
                         However, despite the extensive feature set, Ignite community aims to make the platform easy to use and understand.
@@ -320,24 +318,24 @@ under the License.
                     </p>
 
                     <p>
-                        <a href="http://gridgain.blogspot.com/2017/09/what-is-apache-ignite.html" target="_blank" rel="noopener">Read more</a>
+                        <a href="http://gridgain.blogspot.com/2017/09/what-is-apache-ignite.html" target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
                 <section id="using-java-and-net-apps-to-connect-to-an-apache-ig" class="page-section blog-section">
                     <h3>Using Java and .NET Apps to Connect to an Apache Ignite Cluster</h3>
-                    <img src="/images/achaudhri.png" class="img-circle blog-img"><span class="blog-date">By Akmal Chaudhri | September 08, 2017</span><br/>
+                    <img src="/images/achaudhri.png" alt="Akmal Chaudhri Headshot" class="img-circle blog-img"><span class="blog-date">By Akmal Chaudhri | September 08, 2017</span><br/>
                     <p>
                         In many organizations, different departments and teams work with different programming languages and frameworks. However, there may be a need for a
                         common storage format to allow various tools to access the same data. Apache Ignite provides the flexibility for development teams to continue working with
                         their favorite programming languages and tools and have the ability to work with the same data in the cluster.
                     </p>
                     <p>
-                        <a href="https://dzone.com/articles/using-java-and-net-apps-to-connect-to-an-apache-ig" target="_blank" rel="noopener">Read more</a>
+                        <a href="https://dzone.com/articles/using-java-and-net-apps-to-connect-to-an-apache-ig" target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
                 <section id="apache-ignite-in-memory-performance" class="page-section blog-section">
                     <h3>Apache Ignite - In Memory Performance with Durability of Disk</h3>
-                    <img src="/images/dsetrakyan.png" class="img-circle blog-img"><span class="blog-date">By Dmitriy Setrakyan | September 07, 2017</span><br/>
+                    <img src="/images/dsetrakyan.png" alt="Dimitriy Setrakyan" class="img-circle blog-img"><span class="blog-date">By Dmitriy Setrakyan | September 07, 2017</span><br/>
                     <p>
                         Starting with 2.1 release, Apache Ignite has become one of a very few in-memory computing systems that provides its own distributed
                         persistence layer. Essentially, users do not have to integrate Ignite with any type of 3rd party databases (although such integration is still supported),
@@ -345,43 +343,43 @@ under the License.
                     </p>
 
                     <p>
-                        <a href="http://gridgain.blogspot.com/2017/09/apache-ignite-in-memory-performance.html" target="_blank" rel="noopener">Read more</a>
+                        <a href="http://gridgain.blogspot.com/2017/09/apache-ignite-in-memory-performance.html" target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
                 <section id="kubernetes-and-apacher-ignitetm-deployment-aws" class="page-section blog-section">
                     <h3>Kubernetes and Apache® Ignite® Deployment on AWS</h3>
-                    <img src="/images/achaudhri.png" class="img-circle blog-img"><span class="blog-date">By Akmal Chaudhri | September 07, 2017</span><br/>
+                    <img src="/images/achaudhri.png" alt="Akmal Chaudhri Headshot" class="img-circle blog-img"><span class="blog-date">By Akmal Chaudhri | September 07, 2017</span><br/>
                     <p>
                         This article will walk through the steps required to get Kubernetes and Apache Ignite deployed on Amazon Web Services (AWS).
                         The local computer operating system used was Ubuntu and if you follow the steps in this article, you may need to adjust the commands as appropriate for your operating system and environment.
                     </p>
                     <p>
-                        <a href="https://www.gridgain.com/resources/blog/kubernetes-and-apacher-ignitetm-deployment-aws" target="_blank" rel="noopener">Read more</a>
+                        <a href="https://www.gridgain.com/resources/blog/kubernetes-and-apacher-ignitetm-deployment-aws" target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
                 <section id="apache-ignite-tip-peer-class-loading-deployment-ma" class="page-section blog-section">
                     <h3>Apache Ignite Tip: Peer Class Loading Deployment Magic</h3>
-                    <img src="/images/achaudhri.png" class="img-circle blog-img"><span class="blog-date">By Akmal Chaudhri | August 29, 2017</span><br/>
+                    <img src="/images/achaudhri.png" alt="Akmal Chaudhri Headshot" class="img-circle blog-img"><span class="blog-date">By Akmal Chaudhri | August 29, 2017</span><br/>
                     <p>
                         Apache Ignite is great for modern data processing. It has a feature called Zero Deployment which is very useful for P2P class loading.
                     </p>
                     <p>
-                        <a href="https://dzone.com/articles/apache-ignite-tip-peer-class-loading-deployment-ma" target="_blank" rel="noopener">Read more</a>
+                        <a href="https://dzone.com/articles/apache-ignite-tip-peer-class-loading-deployment-ma" target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
                 <section id="whats-new-in-apache-ignitenet-21r" class="page-section blog-section">
                     <h3>What's New in Apache Ignite .NET 2.1</h3>
-                    <img src="/images/ptupitsyn.png" class="img-circle blog-img"><span class="blog-date">By Pavel Tupitsyn | August 02, 2017</span><br/>
+                    <img src="/images/ptupitsyn.png" alt="Pavel Tupitsyn" class="img-circle blog-img"><span class="blog-date">By Pavel Tupitsyn | August 02, 2017</span><br/>
                     <p>
                         Take a look at what's new in the latest release of Apache Ignite 2.1 from a .NET perspective. With this relase, Ignite is a complete database with a unique feature set.
                     </p>
                     <p>
-                        <a href="https://dzone.com/articles/whats-new-in-apache-ignitenet-21" target="_blank" rel="noopener">Read more</a>
+                        <a href="https://dzone.com/articles/whats-new-in-apache-ignitenet-21" target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
                 <section id="apache-ignite-2-1-a" class="page-section blog-section">
                     <h3>Apache Ignite 2.1 - A Leap from In-Memory to Memory-Centric Architecture</h3>
-                    <img src="/images/dmagda.png" class="img-circle blog-img"><span class="blog-date">By Denis Magda | May 12, 2017</span><br/>
+                    <img src="/images/dmagda.png" alt="Denis Magda Headshot" class="img-circle blog-img"><span class="blog-date">By Denis Magda | May 12, 2017</span><br/>
                     <p>
                         The power and beauty of in-memory computing projects is that they truly do what they state -- deliver outstanding performance
                         improvements by moving data closer to the CPU, using RAM as a storage and spreading the data sets out across a cluster of machines relying on horizontal scalability.
@@ -390,42 +388,42 @@ under the License.
                         However, there is an unspoken side of the story. No matter how fast a platform is, we do not want to lose the data and encounter cluster restarts or other outages. To guarantee this we need to somehow make data persistent on the disk.
                     </p>
                     <p>
-                        <a href="https://blogs.apache.org/ignite/entry/apache-ignite-2-1-a"target="_blank" rel="noopener">Read more</a>
+                        <a href="https://blogs.apache.org/ignite/entry/apache-ignite-2-1-a"target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
                 <section id="implementing-ignitenet-plugin-distributed-semaphor" class="page-section blog-section">
                     <h3>Implementing the Ignite.NET Plugin: Distributed Semaphore</h3>
-                    <img src="/images/ptupitsyn.png" class="img-circle blog-img"><span class="blog-date">By Pavel Tupitsyn | July 23, 2017</span><br/>
+                    <img src="/images/ptupitsyn.png" alt="Pavel Tupitsyn" class="img-circle blog-img"><span class="blog-date">By Pavel Tupitsyn | July 23, 2017</span><br/>
                     <p>
                         See how the Apache Ignite.NET 2.0 plugin system can make Ignite and third party Java APIs like Ignite Semaphore available in .NET.
                     </p>
                     <p>
-                        <a href="https://dzone.com/articles/implementing-ignitenet-plugin-distributed-semaphor" target="_blank" rel="noopener">Read more</a>
+                        <a href="https://dzone.com/articles/implementing-ignitenet-plugin-distributed-semaphor" target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
                 <section id="getting-started-with-apachereg-ignite-part-6" class="page-section blog-section">
                     <h3>Getting Started With Apache Ignite (Part 6)</h3>
-                    <img src="/images/achaudhri.png" class="img-circle blog-img"><span class="blog-date">By Akmal Chaudhri | July 16, 2017</span><br/>
+                    <img src="/images/achaudhri.png" alt="Akmal Chaudhri Headshot" class="img-circle blog-img"><span class="blog-date">By Akmal Chaudhri | July 16, 2017</span><br/>
                     <p>
                         A major use case for the Service Grid is to deploy a Singleton. There are a number of different types of Singletons that Apache Ignite supports but two common types are — Node Singleton and Cluster Singleton.
                     </p>
                     <p>
-                        <a href="https://dzone.com/articles/getting-started-with-apachereg-ignite-part-6" target="_blank" rel="noopener">Read more</a>
+                        <a href="https://dzone.com/articles/getting-started-with-apachereg-ignite-part-6" target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
                 <section id="getting-started-with-apachereg-ignite-part-5" class="page-section blog-section">
                     <h3>Getting Started With Apache Ignite (Part 5)</h3>
-                    <img src="/images/achaudhri.png" class="img-circle blog-img"><span class="blog-date">By Akmal Chaudhri | July 10, 2017</span><br/>
+                    <img src="/images/achaudhri.png" alt="Akmal Chaudhri Headshot" class="img-circle blog-img"><span class="blog-date">By Akmal Chaudhri | July 10, 2017</span><br/>
                     <p>
                         Apache Ignite is a true Swiss Army Knife, providing scalability and performance for many varied and demanding workloads.
                     </p>
                     <p>
-                        <a href="https://dzone.com/articles/getting-started-with-apachereg-ignite-part-5" target="_blank" rel="noopener">Read more</a>
+                        <a href="https://dzone.com/articles/getting-started-with-apachereg-ignite-part-5" target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
                 <section id="apache-ignite-with-spring-data" class="page-section blog-section">
                     <h3>Apache Ignite with Spring Data</h3>
-                    <img src="/images/sbhuiyan.png" class="img-circle blog-img"><span class="blog-date">By Shamim Bhuyian | July 09, 2017</span><br/>
+                    <img src="/images/sbhuiyan.png" alt="Shamim Bhuyian Headshot" class="img-circle blog-img"><span class="blog-date">By Shamim Bhuyian | July 09, 2017</span><br/>
                     <p>
                         Apache Ignite IgniteRepository implements Spring Data CrudRepository interface and extends basic capabilities of the CrudRepository, which in turns supports:
                     </p>
@@ -434,62 +432,62 @@ under the License.
                         <li>Access to the Apache Ignite SQL grid via Spring Data API.</li>
                     </ul>
                     <p>
-                        <a href="http://frommyworkshop.blogspot.ru/2017/07/apache-ignite-with-spring-data.html" target="_blank" rel="noopener">Read more</a>
+                        <a href="http://frommyworkshop.blogspot.ru/2017/07/apache-ignite-with-spring-data.html" target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
                 <section id="getting-started-with-apachereg-ignite-part-4" class="page-section blog-section">
                     <h3>Getting Started With Apache Ignite (Part 4)</h3>
-                    <img src="/images/achaudhri.png" class="img-circle blog-img"><span class="blog-date">By Akmal Chaudhri | July 03, 2017</span><br/>
+                    <img src="/images/achaudhri.png" alt="Akmal Chaudhri Headshot" class="img-circle blog-img"><span class="blog-date">By Akmal Chaudhri | July 03, 2017</span><br/>
                     <p>
                         Take a look at the Apache Ignite Streaming Grid component and see how it can help you ingest, manage, and query streaming data.
                     </p>
                     <p>
-                        <a href="https://dzone.com/articles/getting-started-with-apachereg-ignite-part-4" target="_blank" rel="noopener">Read more</a>
+                        <a href="https://dzone.com/articles/getting-started-with-apachereg-ignite-part-4" target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
                 <section id="getting-started-with-apachereg-ignite-part-3" class="page-section blog-section">
                     <h3>Getting Started With Apache Ignite (Part 3)</h3>
-                    <img src="/images/achaudhri.png" class="img-circle blog-img"><span class="blog-date">By Akmal Chaudhri | June 18, 2017</span><br/>
+                    <img src="/images/achaudhri.png" alt="Akmal Chaudhri Headshot" class="img-circle blog-img"><span class="blog-date">By Akmal Chaudhri | June 18, 2017</span><br/>
                     <p>
                         Get a brief look at the Apache Ignite Compute Grid component and learn how it ensures that tasks can be executed in parallel within the grid.
                     </p>
                     <p>
-                        <a href="https://dzone.com/articles/getting-started-with-apachereg-ignite-part-3" target="_blank" rel="noopener">Read more</a>
+                        <a href="https://dzone.com/articles/getting-started-with-apachereg-ignite-part-3" target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
                 <section id="getting-started-with-apachereg-ignite-part-2" class="page-section blog-section">
                     <h3>Getting Started With Apache Ignite (Part 2)</h3>
-                    <img src="/images/achaudhri.png" class="img-circle blog-img"><span class="blog-date">By Akmal Chaudhri | June 04, 2017</span><br/>
+                    <img src="/images/achaudhri.png" alt="Akmal Chaudhri Headshot" class="img-circle blog-img"><span class="blog-date">By Akmal Chaudhri | June 04, 2017</span><br/>
                     <p>
                         In Apache Ignite, a data grid can be thought of as a distributed Key-Value (K-V) store or a distributed HashMap. Learn more about it in this article.
                     </p>
                     <p>
-                        <a href="https://dzone.com/articles/getting-started-with-apachereg-ignite-part-2" target="_blank" rel="noopener">Read more</a>
+                        <a href="https://dzone.com/articles/getting-started-with-apachereg-ignite-part-2" target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
                 <section id="adonet-as-ignitenet-cache-store" class="page-section blog-section">
                     <h3>ADO.NET as Ignite.NET Cache Store</h3>
-                    <img src="/images/ptupitsyn.png" class="img-circle blog-img"><span class="blog-date">By Pavel Tupitsyn | May 31, 2017</span><br/>
+                    <img src="/images/ptupitsyn.png" alt="Pavel Tupitsyn" class="img-circle blog-img"><span class="blog-date">By Pavel Tupitsyn | May 31, 2017</span><br/>
                     <p>
                         Learn about implementing an efficient Ignite.NET persistent store with ADO.NET and SQL Server, continuing from a previous article on the entity framework cache store.
                     </p>
                     <p>
-                        <a href="https://dzone.com/articles/adonet-as-ignitenet-cache-store" target="_blank" rel="noopener">Read more</a>
+                        <a href="https://dzone.com/articles/adonet-as-ignitenet-cache-store" target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
                 <section id="getting-started-with-apachereg-ignite-part-i" class="page-section blog-section">
                     <h3>Getting Started With Apache Ignite (Part 1)</h3>
-                    <img src="/images/achaudhri.png" class="img-circle blog-img"><span class="blog-date">By Akmal Chaudhri | May 29, 2017</span><br/>
+                    <img src="/images/achaudhri.png" alt="Akmal Chaudhri Headshot" class="img-circle blog-img"><span class="blog-date">By Akmal Chaudhri | May 29, 2017</span><br/>
                     <p>
                         In this series of articles, I will share what I learned about Apache Ignite as a beginner, starting with clustering and deployment.
                     </p>
                     <p>
-                        <a href="https://dzone.com/articles/getting-started-with-apachereg-ignite-part-i" target="_blank" rel="noopener">Read more</a>
+                        <a href="https://dzone.com/articles/getting-started-with-apachereg-ignite-part-i" target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
                 <section id="how-to-monitor-multiple-apache-ignite-clusters" class="page-section blog-section">
                     <h3>How to Monitor Mulitple Apache Ignite Clusters</h3>
-                    <img src="/images/pgarg.png" class="img-circle blog-img"><span class="blog-date">By Prachi Garg | May 24, 2017</span><br/>
+                    <img src="/images/pgarg.png" alt="Prachi Garg Headshot" class="img-circle blog-img"><span class="blog-date">By Prachi Garg | May 24, 2017</span><br/>
                     <p>
                         With its latest release, Apache Ignite 2.0 introduced support for DDL, a redesigned off-heap memory architecture, distributed algebra, Spring data integration,
                         support for Hibernate 5, Rocket MQ Integration, as well as plenty of improvements to the currently existing Apache Ignite feature set to enhance speed and performance.
@@ -500,44 +498,44 @@ under the License.
                         This tutorial shows how to start two separate clusters on your system and connect it to an instance of Ignite Web Console deployed locally.
                     </p>
                     <p>
-                    <a href="https://dzone.com/articles/how-to-monitor-multiple-apache-ignite-clusters" target="_blank" rel="noopener">Read more</a>
+                    <a href="https://dzone.com/articles/how-to-monitor-multiple-apache-ignite-clusters" target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                 </p>
                 </section>
                 <section id="benchmarking-apache-ignite-still-keeps-ahead-of-ha-1" class="page-section blog-section">
                     <h3>Benchmarking: Apache Ignite Still Keeps Ahead Of Hazelcast</h3>
-                    <img src="/images/dmagda.png" class="img-circle blog-img"><span class="blog-date">By Denis Magda | May 12, 2017</span><br/>
+                    <img src="/images/dmagda.png" alt="Denis Magda Headshot" class="img-circle blog-img"><span class="blog-date">By Denis Magda | May 12, 2017</span><br/>
                     <p>
                         There's an ad saying that Hazelcast is up to 50% faster than Apache Ignite, but that may not be true anymore. Check out this benchmark to get the true story.
                     </p>
                     <p>
-                        <a href="https://dzone.com/articles/benchmarking-apache-ignite-still-keeps-ahead-of-ha-1"target="_blank" rel="noopener">Read more</a>
+                        <a href="https://dzone.com/articles/benchmarking-apache-ignite-still-keeps-ahead-of-ha-1" target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
                 <section id="Whats-New-In-Ignite-Net-2.0/" class="page-section blog-section">
                     <h3>What's new in Apache Ignite.NET 2.0</h3>
-                    <img src="/images/ptupitsyn.png" class="img-circle blog-img"><span class="blog-date">By Pavel Tupitsyn | May 12, 2017</span><br/>
+                    <img src="/images/ptupitsyn.png" alt="Pavel Tupitsyn" class="img-circle blog-img"><span class="blog-date">By Pavel Tupitsyn | May 12, 2017</span><br/>
                     <p>
                         Apache Ignite 2.0 has been released last week. Changes on Java side are tremendous, but Ignite.NET has some cool things to offer as well. Read on to to find out more.
                     </p>
                     <p>
-                        <a href="https://ptupitsyn.github.io/Whats-New-In-Ignite-Net-2.0/"target="_blank" rel="noopener">Read more</a>
+                        <a href="https://ptupitsyn.github.io/Whats-New-In-Ignite-Net-2.0/"target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
                 <section id="an-impatient-start-with-apache-ignite.html" class="page-section blog-section">
                     <h3>An impatient start with Apache Ignite machine learning grid</h3>
-                    <img src="/images/sbhuiyan.png" class="img-circle blog-img"><span class="blog-date">By Shamim Bhuyian | May 12, 2017</span><br/>
+                    <img src="/images/sbhuiyan.png" alt="Shamim Bhuyian Headshot" class="img-circle blog-img"><span class="blog-date">By Shamim Bhuyian | May 12, 2017</span><br/>
                     <p>
                         Recently Apache Ignite 2.0 introduced a beta version of the in-memory machine learning grid, which is a distributed machine learning library built on top of the Apache IMDG.
                         This beta release of ML library can perform local and distributed vector, decompositions and matrix algebra operations.
                         The data structure can be stored in Java heap, off-heap or distributed Ignite caches. In this short post, we are going to download the new Apache Ignite 2.0 release, build the example and run them.
                     </p>
                     <p>
-                        <a href="http://frommyworkshop.blogspot.co.uk/2017/05/an-impatient-start-with-apache-ignite.html"target="_blank" rel="noopener">Read more</a>
+                        <a href="http://frommyworkshop.blogspot.co.uk/2017/05/an-impatient-start-with-apache-ignite.html"target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
                 <section id="apache-ignite-2-0-redesigned" class="page-section blog-section">
                     <h3>Apache Ignite 2.0: Redesigned Off-heap Memory, DDL and Machine Learning</h3>
-                    <img src="/images/dmagda.png" class="img-circle blog-img"><span class="blog-date">By Denis Magda | May 05, 2017</span><br/>
+                    <img src="/images/dmagda.png" alt="Denis Magda Headshot" class="img-circle blog-img"><span class="blog-date">By Denis Magda | May 05, 2017</span><br/>
                     <p>
                         This major release was under the development for a long time. The community spent almost a year incorporating tremendous changes to the legacy Apache Ignite 1.x architecture.
                         Curious why are we so boastful about this? Some of the main features of Apache Ignite 2.0 are:
@@ -553,7 +551,7 @@ under the License.
                         See <a href="https://ignite.apache.org/releases/2.0.0/release_notes.html">release notes</a> for a full list of the changes.
                     </p>
                     <p>
-                        <a href="https://blogs.apache.org/ignite/entry/apache-ignite-2-0-redesigned"target="_blank" rel="noopener">Read more</a>
+                        <a href="https://blogs.apache.org/ignite/entry/apache-ignite-2-0-redesigned"target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
                 <section id="apache-ignite-build-cloud-ready-applications-today/" class="page-section blog-section">
@@ -571,12 +569,12 @@ under the License.
                         All of these features and more are provided by Apache Ignite’s in memory computing platform.
                     </p>
                     <p>
-                        <a href="http://www.techbysample.com/2017/05/02/apache-ignite-build-cloud-ready-applications-today/"target="_blank" rel="noopener">Read more</a>
+                        <a href="http://www.techbysample.com/2017/05/02/apache-ignite-build-cloud-ready-applications-today/" target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
                 <section id="light-a-fire-under-cassandra-with-apache-ignite" class="page-section blog-section">
                     <h3>Light a fire under Cassandra with Apache Ignite</h3>
-                    <img src="/images/nivanov.png" class="img-circle blog-img"><span class="blog-date">By Nikita Ivanov | April 27, 2017</span><br/>
+                    <img src="/images/nivanov.png" alt="Nikita Ivanov Headshot" class="img-circle blog-img"><span class="blog-date">By Nikita Ivanov | April 27, 2017</span><br/>
                     <p>
                         Over time as business requirements evolve and Cassandra deployments scale, many organizations find themselves
                         constrained by some of Cassandra’s limitations, which in turn restrict what they can do with their data.
@@ -584,12 +582,12 @@ under the License.
                         allowing them to make Cassandra data available to new OLTP and OLAP use cases while delivering extremely high performance.
                     </p>
                     <p>
-                        <a href="http://www.infoworld.com/article/3191895/application-development/light-a-fire-under-cassandra-with-apache-ignite.html?idg_eid=03bb84ebe9f7158960af5af25fca8251&email_SHA1_lc=c9414c0a1b6ee5097514457b3b74225bbb9c4505&cid=ifw_nlt_infoworld_daily_2017-04-27&utm_source=Sailthru&utm_medium=email&utm_campaign=InfoWorld%20Daily:%20Morning%20Edition%202017-04-27&utm_term=infoworld_daily" target="_blank" rel="noopener">Read more</a>
+                        <a href="http://www.infoworld.com/article/3191895/application-development/light-a-fire-under-cassandra-with-apache-ignite.html?idg_eid=03bb84ebe9f7158960af5af25fca8251&email_SHA1_lc=c9414c0a1b6ee5097514457b3b74225bbb9c4505&cid=ifw_nlt_infoworld_daily_2017-04-27&utm_source=Sailthru&utm_medium=email&utm_campaign=InfoWorld%20Daily:%20Morning%20Edition%202017-04-27&utm_term=infoworld_daily" target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
                 <section id="microservices-on-top-of-an-in-memory-data-grid-par" class="page-section blog-section">
                     <h3>Microservices on Top of an In-Memory Data Grid: Part III</h3>
-                    <img src="/images/dmagda.png" class="img-circle blog-img"><span class="blog-date">By Denis Magda | April 26, 2017</span><br/>
+                    <img src="/images/dmagda.png" alt="Denis Magda Headshot" class="img-circle blog-img"><span class="blog-date">By Denis Magda | April 26, 2017</span><br/>
                     <p> This is the last blog post in a series recommending how to design and implement microservices-based architecture on top of Apache Ignite In-Memory Data Fabric. The first two posts in the series can be found here:</p>
                     <ul class="page-list">
                         <li><a href="https://dzone.com/articles/running-microservices-on-top-of-in-memory-data-gri" target="_blank" rel="noopener">Part I</a> - Overview of the proposed solution.</li>
@@ -599,352 +597,352 @@ under the License.
                         This final post describes how to integrate the cluster with a persistent store and send requests to the microservices from external applications -- apps that know nothing about the cluster and don't rely on its APIs.
                     </p>
                     <p>
-                        <a href="https://dzone.com/articles/microservices-on-top-of-an-in-memory-data-grid-par" target="_blank" rel="noopener">Read more</a>
+                        <a href="https://dzone.com/articles/microservices-on-top-of-an-in-memory-data-grid-par" target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
                 <section id="linq-vs-sql-in-ignitenet-performance" class="page-section blog-section">
                     <h3>LINQ vs. SQL in Ignite.NET: Performance</h3>
-                    <img src="/images/ptupitsyn.png" class="img-circle blog-img"><span class="blog-date">By Pavel Tupitsyn | March 29, 2017</span><br/>
+                    <img src="/images/ptupitsyn.png" alt="Pavel Tupitsyn" class="img-circle blog-img"><span class="blog-date">By Pavel Tupitsyn | March 29, 2017</span><br/>
                     <p>
                         Ignite.NET offers a LINQ provider which translates C# expressions to SQL queries. LINQ has many benefits over SQL — but at what cost? Read on to find out.
                     </p>
                     <p>
-                        <a href="https://dzone.com/articles/linq-vs-sql-in-ignitenet-performance" target="_blank" rel="noopener">Read more</a>
+                        <a href="https://dzone.com/articles/linq-vs-sql-in-ignitenet-performance" target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
                 <section id="getting-started-with-apache-ignite-part-1" class="page-section blog-section">
                     <h3>Getting Started with Apache Ignite - Part 1</h3>
-                    <img src="/images/dtraphagen.png" class="img-circle blog-img"><span class="blog-date">By Dani Traphagen | March 29, 2017</span><br/>
+                    <img src="/images/dtraphagen.png" alt="Dani Traphagen Headshot" class="img-circle blog-img"><span class="blog-date">By Dani Traphagen | March 29, 2017</span><br/>
                     <p>
                         My best definition of Apache Ignite is that it's a distributed in-memory cache, query and compute engine built to work with
                         large-scale data sets in real-time. A cluster of Ignite nodes (which is simply a combination of server and client nodes) will slide between the application and data layers.
                     </p>
                     <p>
-                        <a href="http://dtrapezoid.com/getting-started-with-apache-ignite-part-1.html" target="_blank" rel="noopener">Read more</a>
+                        <a href="http://dtrapezoid.com/getting-started-with-apache-ignite-part-1.html" target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
                 <section id="deploying-apache-ignite-in-kubernetes-on-microsoft" class="page-section blog-section">
                     <h3>Deploying Apache Ignite in Kubernetes on Microsoft Azure</h3>
-                    <img src="/images/dmagda.png" class="img-circle blog-img"><span class="blog-date">By Denis Magda | March 21, 2017</span><br/>
+                    <img src="/images/dmagda.png" alt="Denis Magda Headshot" class="img-circle blog-img"><span class="blog-date">By Denis Magda | March 21, 2017</span><br/>
                     <p>
                         Apache Ignite's most recent release includes a Kubernetes integration. See it in action as you learn to run a cluster on Microsoft Azure.
                     </p>
                     <p>
-                        <a href="https://dzone.com/articles/deploying-apache-ignite-in-kubernetes-on-microsoft" target="_blank" rel="noopener">Read more</a>
+                        <a href="https://dzone.com/articles/deploying-apache-ignite-in-kubernetes-on-microsoft" target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
                 <section id="continuous-queries-in-apache-ignite-c-19" class="page-section blog-section">
                     <h3>Continuous Queries in Apache Ignite C++ 1.9</h3>
-                    <img src="/images/isapego.png" class="img-circle blog-img"><span class="blog-date">By Igor Sapego | March 21, 2017</span><br/>
+                    <img src="/images/isapego.png" alt="Igor Sapego Headshot" class="img-circle blog-img"><span class="blog-date">By Igor Sapego | March 21, 2017</span><br/>
                     <p>
                         Apache Ignite 1.9 was released last week and it brings some cool features. One of them is Continuous Queries for Apache Ignite C++ that allows you to track data modifications on caches.
                     </p>
                     <p>
-                        <a href="https://dzone.com/articles/continuous-queries-in-apache-ignite-c-19" target="_blank" rel="noopener">Read more</a>
+                        <a href="https://dzone.com/articles/continuous-queries-in-apache-ignite-c-19" target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
                 <section id="modern-application-design-with-in-memory-data-fabr" class="page-section blog-section">
                     <h3>Modern Application Design With In-Memory Data Fabrics</h3>
-                    <img src="/images/sbhuiyan.png" class="img-circle blog-img"><span class="blog-date">By Shamim Bhuiyan | March 16, 2017</span><br/>
+                    <img src="/images/sbhuiyan.png" alt="Shamim Bhuyian Headshot" class="img-circle blog-img"><span class="blog-date">By Shamim Bhuiyan | March 16, 2017</span><br/>
                     <p>
                         In-memory grids like Apache Ignite have served as an essential, architectural component for transforming the way businesses use their data to do business.
                     </p>
                     <p>
-                        <a href="https://dzone.com/articles/modern-application-design-with-in-memory-data-fabr" target="_blank" rel="noopener">Read more</a>
+                        <a href="https://dzone.com/articles/modern-application-design-with-in-memory-data-fabr" target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
                 <section id="whats-new-in-apache-ignitenet-19" class="page-section blog-section">
                     <h3>What's New in Apache Ignite.NET 1.9</h3>
-                    <img src="/images/ptupitsyn.png" class="img-circle blog-img"><span class="blog-date">By Pavel Tupitsyn | March 14, 2017</span><br/>
+                    <img src="/images/ptupitsyn.png" alt="Pavel Tupitsyn" class="img-circle blog-img"><span class="blog-date">By Pavel Tupitsyn | March 14, 2017</span><br/>
                     <p>
                         The newest version of Apache Ignite includes TransactionScope API, Distributed DML, and LINQ improvements.
                         Read on to find out how these functionalities can provide enhanced transactional and SQL capabilities.
                     </p>
                     <p>
-                        <a href="https://ptupitsyn.github.io/Whats-New-In-Ignite-Net-1-9/" target="_blank" rel="noopener">Read more</a>
+                        <a href="https://ptupitsyn.github.io/Whats-New-In-Ignite-Net-1-9/" target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
                 <section id="apache-igite-19-release" class="page-section blog-section">
                     <h3>Apache Ignite 1.9 Release Highlights</h3>
-                    <img src="/images/dmagda.png" class="img-circle blog-img"><span class="blog-date">By Denis Magda | March 06, 2017</span><br/>
+                    <img src="/images/dmagda.png" alt="Denis Magda Headshot" class="img-circle blog-img"><span class="blog-date">By Denis Magda | March 06, 2017</span><br/>
                     <p>
                         Apache Ignite community released a new version of Apache Ignite In-Memory Data Fabric. Learn more about improvements available in version 1.9.
                     </p>
                     <p>
-                        <a href="https://blogs.apache.org/ignite/entry/apache-ignite-1-9-released" target="_blank" rel="noopener">Read more</a>
+                        <a href="https://blogs.apache.org/ignite/entry/apache-ignite-1-9-released" target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
                 <section id="the-high-performance-in-memory-computing-with-apac" class="page-section blog-section">
                     <h3>Book Review: High Performance In-Memory Computing With Apache Ignite</h3>
-                    <img src="/images/sbhuiyan.png" class="img-circle blog-img"><span class="blog-date">By Shamim Bhuiyan | February 16, 2017</span><br/>
+                    <img src="/images/sbhuiyan.png" alt="Shamim Bhuyian Headshot" class="img-circle blog-img"><span class="blog-date">By Shamim Bhuiyan | February 16, 2017</span><br/>
                     <p>
                         The Apache Ignite platform is very big and growing day by day. This book focuses on features of Apache Ignite that help improve application performance.
                     </p>
                     <p>
-                        <a href="https://dzone.com/articles/the-high-performance-in-memory-computing-with-apac" target="_blank" rel="noopener">Read more</a>
+                        <a href="https://dzone.com/articles/the-high-performance-in-memory-computing-with-apac" target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
                 <section id="the-asf-asks-have-you" class="page-section blog-section">
                     <h3>The ASF asks: Have you met Apache Ignite?</h3>
-                    <img src="/images/apache_poweredby.png" class="img-circle blog-img"><span class="blog-date">By Sally Khudairi | January 18, 2017</span><br/>
+                    <img src="/images/apache_poweredby.png" alt="Apache Software Foundation" class="img-circle blog-img"><span class="blog-date">By Sally Khudairi | January 18, 2017</span><br/>
                     <p>
                         Did you know that numerous Fortune 500 enterprises depend on Apache Ignite's in-memory data platform to process large-scale data sets in real-time, at orders of magnitude faster than traditional technologies?
                     </p>
                     <p>
-                        <a href="https://blogs.apache.org/foundation/entry/the-asf-asks-have-you" target="_blank" rel="noopener">Read more</a>
+                        <a href="https://blogs.apache.org/foundation/entry/the-asf-asks-have-you" target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
                 <section id="running-microservices-on-top-of-in-memory-data-gri-1" class="page-section blog-section">
                     <h3>Running Microservices on Top of In-Memory Data Grid: Part II</h3>
-                    <img src="/images/dmagda.png" class="img-circle blog-img"><span class="blog-date">By Denis Magda | January 18, 2017</span><br/>
+                    <img src="/images/dmagda.png" alt="Denis Magda Headshot" class="img-circle blog-img"><span class="blog-date">By Denis Magda | January 18, 2017</span><br/>
                     <p>
                         Let's look into the Apache Ignite Cluster Layer, a GitHub project that includes the basic building blocks needed to implement a proposed microservices-based architecture.
                     </p>
                     <p>
-                        <a href="https://dzone.com/articles/running-microservices-on-top-of-in-memory-data-gri-1" target="_blank" rel="noopener">Read more</a>
+                        <a href="https://dzone.com/articles/running-microservices-on-top-of-in-memory-data-gri-1" target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
                 <section id="book-high-performance-in-memory" class="page-section blog-section">
                     <h3>Book: High performance in-memory computing with Apache Ignite has been published</h3>
-                    <img src="/images/sbhuiyan.png" class="img-circle blog-img"><span class="blog-date">By Shamim Bhuiyan | January 09, 2017</span><br/>
+                    <img src="/images/sbhuiyan.png" alt="Shamim Bhuyian Headshot" class="img-circle blog-img"><span class="blog-date">By Shamim Bhuiyan | January 09, 2017</span><br/>
                     <p>
                         This book wraps all the topics like in-memory data grid, highly available service grid, streaming and in-memory computing use cases from high-performance computing to get the performance gain.
                     </p>
                     <p>
-                        <a href="http://frommyworkshop.blogspot.ru/2016/09/book-high-performance-in-memory.html" target="_blank" rel="noopener">Read more</a>
+                        <a href="http://frommyworkshop.blogspot.ru/2016/09/book-high-performance-in-memory.html" target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
                 <section id="handling-apache-ignite-cluster-data-via-redis-prot" class="page-section blog-section">
                     <h3>Enabling Access to Apache Ignite via Redis Protocol</h3>
-                    <img src="/images/rshtykh.png" class="img-circle blog-img"><span class="blog-date">By Roman Shtykh | January 09, 2017</span><br/>
+                    <img src="/images/rshtykh.png" alt="Roman Shtykh" class="img-circle blog-img"><span class="blog-date">By Roman Shtykh | January 09, 2017</span><br/>
                     <p>
                         The Apache Ignite versions have the ability to store and retrieve data in the grid using any Redis client. Let's make connections to an Ignite cluster and do Redis string operations.
                     </p>
                     <p>
-                        <a href="https://dzone.com/articles/handling-apache-ignite-cluster-data-via-redis-prot" target="_blank" rel="noopener">Read more</a>
+                        <a href="https://dzone.com/articles/handling-apache-ignite-cluster-data-via-redis-prot" target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
                 <section id="apache-ignite-enables-full-fledged-sql-support-for" class="page-section blog-section">
                     <h3>Apache Ignite Enables Full-fledged SQL Support for PHP</h3>
-                    <img src="/images/dmagda.png" class="img-circle blog-img"><span class="blog-date">By Denis Magda | December 27, 2016</span><br/>
+                    <img src="/images/dmagda.png" alt="Denis Magda Headshot" class="img-circle blog-img"><span class="blog-date">By Denis Magda | December 27, 2016</span><br/>
                     <p>
                         It's time to get your SQL statements and queries up and running on Apache Ignite's PHP offerings. You'll need a driver and some setup, but it's quick and easy.
                     </p>
                     <p>
-                        <a href="https://dzone.com/articles/apache-ignite-enables-full-fledged-sql-support-for" target="_blank" rel="noopener">Read more</a>
+                        <a href="https://dzone.com/articles/apache-ignite-enables-full-fledged-sql-support-for" target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
                 <section id="using-the-gridgain-web-console-for-automatic-rdbms" class="page-section blog-section">
                     <h3>Using the GridGain Web Console for Automatic RDBMS Integration With Apache Ignite</h3>
-                    <img src="/images/pgarg.png" class="img-circle blog-img"><span class="blog-date">By Prachi Garg | December 19, 2016</span><br/>
+                    <img src="/images/pgarg.png" alt="Prachi Garg Headshot" class="img-circle blog-img"><span class="blog-date">By Prachi Garg | December 19, 2016</span><br/>
                     <p>
                         Apache Ignite can import database schemas and automatically generate all the required XML OR-mapping configurations and
                         Java domain model POJOs that you can easily download and copy into your Apache Ignite project.</p><p>
-                        <a href="https://dzone.com/articles/using-the-gridgain-web-console-for-automatic-rdbms" target="_blank" rel="noopener">Read more</a>
+                        <a href="https://dzone.com/articles/using-the-gridgain-web-console-for-automatic-rdbms" target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
                 <section id="geospatial-queries-with-apachereg-ignite" class="page-section blog-section">
                     <h3>Geospatial Queries With Apache Ignite</h3>
-                    <img src="/images/dmagda.png" class="img-circle blog-img"><span class="blog-date">By Denis Magda | December 16, 2016</span><br/>
+                    <img src="/images/dmagda.png" alt="Denis Magda Headshot" class="img-circle blog-img"><span class="blog-date">By Denis Magda | December 16, 2016</span><br/>
                     <p>
                         Storing and querying location data can be useful for any number of apps for projects. Apache Ignite has a geospatial component made just for that.
                     </p>
                     <p>
-                        <a href="https://dzone.com/articles/geospatial-queries-with-apachereg-ignite" target="_blank" rel="noopener">Read more</a>
+                        <a href="https://dzone.com/articles/geospatial-queries-with-apachereg-ignite" target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
                 <section id="whats-new-in-apache-ignitenet-18" class="page-section blog-section">
                     <h3>What's New in Apache Ignite.NET 1.8</h3>
-                    <img src="/images/ptupitsyn.png" class="img-circle blog-img"><span class="blog-date">By Pavel Tupitsyn | December 14, 2016</span><br/>
+                    <img src="/images/ptupitsyn.png" alt="Pavel Tupitsyn" class="img-circle blog-img"><span class="blog-date">By Pavel Tupitsyn | December 14, 2016</span><br/>
                     <p>
                         The newest version of Apache Ignite includes an entity framework second-level cache, ASP.NET session state cache, custom logging, and LINQ improvements.
                     </p>
                     <p>
-                        <a href="https://dzone.com/articles/whats-new-in-apache-ignitenet-18" target="_blank" rel="noopener">Read more</a>
+                        <a href="https://dzone.com/articles/whats-new-in-apache-ignitenet-18" target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
                 <section id="apache-ignite-with-jpa-a-missing-element" class="page-section blog-section">
                     <h3>Apache Ignite With JPA: A Missing Element</h3>
-                    <img src="/images/sbhuiyan.png" class="img-circle blog-img"><span class="blog-date">By Shamim Bhuiyan | December 07, 2016</span><br/>
+                    <img src="/images/sbhuiyan.png" alt="Shamim Bhuyian Headshot" class="img-circle blog-img"><span class="blog-date">By Shamim Bhuiyan | December 07, 2016</span><br/>
                     <p>
                         Learn how to persist your entities with Apache Ignite and JPA. This tutorial will guide you through the setup of execution of that handy ability.
                     </p>
                     <p>
-                        <a href="https://dzone.com/articles/apache-ignite-with-jpa-a-missing-element" target="_blank" rel="noopener">Read more</a>
+                        <a href="https://dzone.com/articles/apache-ignite-with-jpa-a-missing-element" target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
                 <section id="entity-framework-as-ignitenet-cache-store" class="page-section blog-section">
                     <h3>Entity Framework As Ignite.NET Cache Store</h3>
-                    <img src="/images/ptupitsyn.png" class="img-circle blog-img"><span class="blog-date">By Pavel Tupitsyn | October 27, 2016</span><br/>
+                    <img src="/images/ptupitsyn.png" alt="Pavel Tupitsyn" class="img-circle blog-img"><span class="blog-date">By Pavel Tupitsyn | October 27, 2016</span><br/>
                     <p>
                         Learn how to implement Ignite.NET persistent store with Entity Framework and SQL Server.
                     </p>
                     <p>
-                        <a href="https://dzone.com/articles/entity-framework-as-ignitenet-cache-store" target="_blank" rel="noopener">Read more</a>
+                        <a href="https://dzone.com/articles/entity-framework-as-ignitenet-cache-store" target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
                 <section id="running-microservices-on-top-of-in-memory-data-gri" class="page-section blog-section">
                     <h3>Running Microservices on Top of In-Memory Data Grid: Part I</h3>
-                    <img src="/images/dmagda.png" class="img-circle blog-img"><span class="blog-date">By Denis Magda | October 26, 2016</span><br/>
+                    <img src="/images/dmagda.png" alt="Denis Magda Headshot" class="img-circle blog-img"><span class="blog-date">By Denis Magda | October 26, 2016</span><br/>
                     <p>
                         With this post, we start a series that will provide a guide on building a fault-tolerant, scalable, microservice-based solution with Apache Ignite In-Memory Data Fabric.
                     </p>
                     <p>
-                        <a href="https://dzone.com/articles/running-microservices-on-top-of-in-memory-data-gri" target="_blank" rel="noopener">Read more</a>
+                        <a href="https://dzone.com/articles/running-microservices-on-top-of-in-memory-data-gri" target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
                 <section id="ignitenet-serialization-performance" class="page-section blog-section">
                     <h3>Ignite.NET Serialization Performance</h3>
-                    <img src="/images/ptupitsyn.png" class="img-circle blog-img"><span class="blog-date">By Pavel Tupitsyn | October 04, 2016</span><br/>
+                    <img src="/images/ptupitsyn.png" alt="Pavel Tupitsyn" class="img-circle blog-img"><span class="blog-date">By Pavel Tupitsyn | October 04, 2016</span><br/>
                     <p>
                         How fast are different Ignite serialization modes? How do they compare to other popular serializers? Find out in this blog by Pavel Tupitsin.
                     </p>
                     <p>
-                        <a href="https://dzone.com/articles/ignitenet-serialization-performance" target="_blank" rel="noopener">Read more</a>
+                        <a href="https://dzone.com/articles/ignitenet-serialization-performance" target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
                 <section id="deadlock-free-transactions-with-apache-ignite" class="page-section blog-section">
                     <h3>Deadlock-Free Transactions with Apache Ignite</h3>
-                    <img src="/images/pgarg.png" class="img-circle blog-img"><span class="blog-date">By Prachi Garg | September 21, 2016</span><br/>
+                    <img src="/images/pgarg.png" alt="Prachi Garg Headshot" class="img-circle blog-img"><span class="blog-date">By Prachi Garg | September 21, 2016</span><br/>
                     <p>
                         Deadlocks can kill services, so see how Apache Ignite avoids it by assigning numbers to transactions in order to compare and utilize them in a fluid manner.
                     </p>
                     <p>
-                        <a href="https://dzone.com/articles/deadlock-free-transactions-with-apache-ignite" target="_blank" rel="noopener">Read more</a>
+                        <a href="https://dzone.com/articles/deadlock-free-transactions-with-apache-ignite" target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
                 <section id="aspnet-distributed-output-cache-with-apache-ignite" class="page-section blog-section">
                     <h3>ASP.NET Distributed Output Cache with Apache Ignite</h3>
-                    <img src="/images/ptupitsyn.png" class="img-circle blog-img"><span class="blog-date">By Pavel Tupitsyn | September 19, 2016</span><br/>
+                    <img src="/images/ptupitsyn.png" alt="Pavel Tupitsyn" class="img-circle blog-img"><span class="blog-date">By Pavel Tupitsyn | September 19, 2016</span><br/>
                     <p>
                         You can speed up your ASP.NET web farm with Apache Ignite distributed caching. Read on to learn more.
                     </p>
                     <p>
-                        <a href="https://dzone.com/articles/aspnet-distributed-output-cache-with-apache-ignite" target="_blank" rel="noopener">Read more</a>
+                        <a href="https://dzone.com/articles/aspnet-distributed-output-cache-with-apache-ignite" target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
                 <section id="building-multi-platform-ignite-cluster-java-net" class="page-section blog-section">
                     <h3>Building a Multi-Platform Ignite Cluster: Java + .NET</h3>
-                    <img src="/images/ptupitsyn.png" class="img-circle blog-img"><span class="blog-date">By Pavel Tupitsyn | September 09, 2016</span><br/>
+                    <img src="/images/ptupitsyn.png" alt="Pavel Tupitsyn" class="img-circle blog-img"><span class="blog-date">By Pavel Tupitsyn | September 09, 2016</span><br/>
                     <p>
                         Ignite cluster can consist of nodes on any supported platform: Java, .NET, and C++. This example shows you how to run a .NET/Java cluster with NuGet and Maven.
                     </p>
                     <p>
-                        <a href="https://dzone.com/articles/building-multi-platform-ignite-cluster-java-net" target="_blank" rel="noopener">Read more</a>
+                        <a href="https://dzone.com/articles/building-multi-platform-ignite-cluster-java-net" target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
                 <section id="big-change-in-apache-ignite-17-welcome-the-non-col" class="page-section blog-section">
                     <h3>Apache Ignite 1.7: Welcome Non-Collocated Distributed Joins!</h3>
-                    <img src="/images/dmagda.png" class="img-circle blog-img"><span class="blog-date">By Denis Magda | August 24, 2016</span><br/>
+                    <img src="/images/dmagda.png" alt="Denis Magda Headshot" class="img-circle blog-img"><span class="blog-date">By Denis Magda | August 24, 2016</span><br/>
                     <p>
                         Apache Ignite 1.7.0 has been recently rolled out, and among the new changes, you can find a killer
                         one that was awaited by many Apache Ignite users and customers for a long time — Non-Collocated Distributed Join support for SQL queries.
                     </p>
                     <p>
-                        <a href="https://dzone.com/articles/big-change-in-apache-ignite-17-welcome-the-non-col" target="_blank" rel="noopener">Read more</a>
+                        <a href="https://dzone.com/articles/big-change-in-apache-ignite-17-welcome-the-non-col" target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
                 <section id="using-apache-ignitenet-in-linqpad" class="page-section blog-section">
                     <h3>Using Apache Ignite.NET in LINQPad</h3>
-                    <img src="/images/ptupitsyn.png" class="img-circle blog-img"><span class="blog-date">By Pavel Tupitsyn | August 19, 2016</span><br/>
+                    <img src="/images/ptupitsyn.png" alt="Pavel Tupitsyn" class="img-circle blog-img"><span class="blog-date">By Pavel Tupitsyn | August 19, 2016</span><br/>
                     <p>
                         Here is a quick how-to for using Apache Ignite.NET in LINQPad.
                     </p>
                     <p>
-                        <a href="https://dzone.com/articles/using-apache-ignitenet-in-linqpad" target="_blank" rel="noopener">Read more</a>
+                        <a href="https://dzone.com/articles/using-apache-ignitenet-in-linqpad" target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
 
                 <section id="whats-new-in-apache-ignitenet-17" class="page-section blog-section">
                     <h3>What's New in Apache Ignite.NET 1.7</h3>
-                    <img src="/images/ptupitsyn.png" class="img-circle blog-img"><span class="blog-date">By Pavel Tupitsyn | August 09, 2016</span><br/>
+                    <img src="/images/ptupitsyn.png" alt="Pavel Tupitsyn" class="img-circle blog-img"><span class="blog-date">By Pavel Tupitsyn | August 09, 2016</span><br/>
                     <p>
                         Apache Ignite.NET 1.7 brings some pretty cool new features. Read on to find out more!
                     </p>
                     <p>
-                        <a href="https://dzone.com/articles/whats-new-in-apache-ignitenet-17" target="_blank" rel="noopener">Read more</a>
+                        <a href="https://dzone.com/articles/whats-new-in-apache-ignitenet-17" target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
 
                 <section id="getting-started-with-apache-ignitenet-part-3" class="page-section blog-section">
                     <h3>Getting Started with Apache Ignite.NET Part 3: Cache Queries</h3>
-                    <img src="/images/ptupitsyn.png" class="img-circle blog-img"><span class="blog-date">By Pavel Tupitsyn | July 28, 2016</span><br/>
+                    <img src="/images/ptupitsyn.png" alt="Pavel Tupitsyn" class="img-circle blog-img"><span class="blog-date">By Pavel Tupitsyn | July 28, 2016</span><br/>
                     <p>
                         In Part 3 of Pavel Tupitsyn's series, he covers the cache queries: Scan, SQL, LINQ, and Text.
                     </p>
                     <p>
-                        <a href="https://dzone.com/articles/getting-started-with-apache-ignitenet-part-3-cache" target="_blank" rel="noopener">Read more</a>
+                        <a href="https://dzone.com/articles/getting-started-with-apache-ignitenet-part-3-cache" target="_blank" rel="noopener" aria-label="Blog Post Link">Read more</a>
                     </p>
                 </section>
 
                 <section id="getting-started-with-apache-ignitenet-part-2" class="page-section blog-section">
                     <h3>Getting Started with Apache Ignite.NET Part 2: Distributed Cache</h3>
-                    <img src="/images/ptupitsyn.png" class="img-circle blog-img"><span class="blog-date">By Pavel Tupitsyn | July 16, 2016</span><br/>
+                    <img src="/images/ptupitsyn.png" alt="Pavel Tupitsyn" class="img-circle blog-img"><span class="blog-date">By Pavel Tupitsyn | July 16, 2016</span><br/>
                     <p>
                         Learn the cache operations and object serialization of Apache Ignite.NET.
                     </p>
                     <p>

[... 143 lines stripped ...]