Like a jigsaw puzzle, there are many components in the AWS big data ecosystem. Read this article and see how the components fit together to form a beautiful whole.
If you are a data engineer, wouldn’t it be great if you could easily scale your existing infrastructure on-demand to support your real-time data pipelines?
If you are a data scientist, wouldn’t it be great if you could leverage massive clusters of computers to conduct analyses on large datasets and build statistical models quickly?
Or, maybe you are playing both roles. Perhaps you are a student and you are trying to find a platform to get started in big data quickly. Whatever your current role might be, be sure to read on to learn more about AWS’s big data capabilities provided by the following services: EMR, DynamoDB, Redshift, Data Pipeline, Kinesis Streams, Machine Learning, Elasticsearch, and Kinesis Firehose. That’s a lot of ground to cover, so let’s get started!
Need a big data platform? Look no further than Amazon Web Services!
AWS is one of the largest and fastest-growing cloud infrastructure providers in the world. Over the past ten years, AWS has developed more than 70 products and services to support different and often very demanding types of cloud computing use cases.
The company dominates the global cloud industry with its market share of more than 30%. Even though Microsoft Azure and Google Cloud Platform are growing rapidly, AWS still witnessed a significant growth of 63% year over year. The brand equity that AWS has built over the years has allowed the company to gain a strong foothold in the increasingly-competitive cloud computing landscape.
AWS has been embracing the big data movement as part of their Infrastructure-as-a-Service platform strategy beginning as early as 2008 — just two years after they were officially launched as a subsidiary of Amazon.com.
In 2008, AWS announced public access to huge data sets such as the map of the human genome and the US census
It all began with an announcement to make available certain large public datasets such as the mapping of the Human Genome and the US Census data on Amazon S3 so that anyone who wants to analyze these datasets can do so easily and quickly by accessing them directly from their Amazon Ec2 instances.
Just to get an idea of how large some of these datasets are, the 1000 Genomes Project that tries to build the most comprehensive catalog of human genetic variation is over 200TB. The 1980, 1990 and 2000 US Census data are approximately 5GB, 50GB and 200GB respectively. AWS is able to leverage their cloud computing infrastructure to host these datasets with the hope of spurring innovation.
Shortly after they introduced these large public datasets, AWS started supporting big data processing by introducing the Amazon Elastic MapReduce (EMR) service in April 2009. Amazon EC2 and S3 are the basic building blocks that make Amazon EMR possible. AWS made incremental improvements and added new features to EMR, and also introduced other big data-related services over the years, which I have summarized chronologically in the following list:
- April 2009 – Amazon Elastic MapReduce (EMR)
- January 2012 – Amazon DynamoDB
- November 2012 – Amazon Redshift
- December 2012 – AWS Data Pipeline
- November 2013 – Amazon Kinesis Streams
- April 2015 – Amazon Machine Learning
- October 2015 – Amazon Elasticsearch
- October 2015 – Amazon Kinesis Firehose
Let’s take a look at the constituent services of the AWS big data infrastructure-as-a-service.
Amazon EMR: Elastic MapReduce Hadoop Service
Amazon EMR is a service that lets you create and manage large-scale distributed data processing clusters easily. Data engineers know that setting up different components in the Hadoop ecosystem and getting them to work well together often requires a lot of effort. Amazon EMR takes care of this burden and lets you focus on the dataset instead.
Amazon EMR supports Hadoop and Spark, along with interactive notebooks like Hue and Zeppelin-Sandbox, as well as machine learning frameworks like Mahout and Spark Mllib. For the full list of supported applications, see the Amazon EMR release page.
Amazon DynamoDB: Managed NoSQL Databases
Amazon DynamoDB is a fully managed NoSQL database service that you can use to import, persist, and extract schema-less data. You can create DynamoDB tables and populate them with data from CSV files. You can also export data from DynamoDB tables to Amazon S3 buckets as a backup.
Our Database Fundamentals for AWS course gives you an introduction to Amazon DynamoDB. We also have a dedicated course focusing on Working with DynamoDB. At the same time, you should also try our hands-on lab to create and query DynamoDB tables.
Amazon Redshift: Industrial-Grade Data Warehousing
Amazon Redshift is a fully managed petabyte-scale data warehouse service. One petabyte is approximately 1,000 terabytes (in case you were going to look it up). You can create and provision an Amazon Redshift cluster to store large amounts of data, and perform fast queries using SQL query tools like SQL Workbench/J or Re:dash. You can also connect your business intelligence application or any other applications as long as it supports the standard PostgresSQL JDBC or OCBC drivers.
We have an introductory blog post, and as you might imagine some detailed learning resources if you would like to find out more.
AWS Data Pipeline: Data Processing Workflow Automation
AWS Data Pipeline lets you define a workflow to automate the processing and moving of data from one AWS service to another on a regular basis. You can create a pipeline to launch EMR jobs that run Hive queries with data imported from Amazon RDS, or backup DynamoDB tables into Amazon S3 every end of business day, or import new data when it is available into Amazon Redshift and send an Amazon SNS notification that new data has been imported into Redshift.
Our Automated Data Management with EBS, S3, and Glacier course shows you the best methods of backing up your data resources using AWS Data Pipeline.
Amazon Kinesis Streams: Streaming Data Service
Amazon Kinesis Streams is a managed service to ingest streaming data from many different sources. It makes the data available to Amazon Kinesis Applications that would read and process the streaming data in real-time. These applications are data consumers that are developed with the Amazon Kinesis API or Amazon Kinesis Client Library (KCL). There is a pre-built library that you can use to integrate Amazon Kinesis Streams with Apache Storm. You can think of this as the AWS’s equivalent of Apache Kafka.
Our blog post from 2015 titled Amazon Kinesis: Managed Real-time Event Processing is a good starting point and I encourage you to review posts from different sources.
Amazon Machine Learning
Amazon Machine Learning is a service that makes it easy for anyone to create machine learning models to do things like classifications or predictions through the use of wizards. You do not need to have a strong grasp of machine learning to use this service, although you are strongly advised to understand what you are doing.
Try Amazon Machine Learning with our hands-on lab using the HAR (Human Activity Recognition) dataset. We also have a course that introduces you to the principles and practice of Amazon Machine Learning.
Amazon Elasticsearch: Distributed Search Engine
Elasticsearch is an open source distributed search and analytics engine that you can use to run full-text queries on large amounts of data to make sense of the data. Amazon Elasticsearch is a managed service that lets you launch Elasticsearch on AWS.
Amazon Kinesis Firehose
Amazon Kinesis Firehose is a managed service that lets you create delivery streams to send streaming data to AWS services such as Amazon S3, Amazon Redshift or Amazon Elasticsearch. Amazon Kinesis Firehose simply reads and writes data, and does not do any processing to the data stream.
As you probably gathered from reading this post, big data isn’t confined to a single area. I included links to useful posts and other articles. Researching this article forced me to see AWS Big Data with fresh eyes. AWS never stands still and that dynamic progress inspires me.
I hope that this blog post inspires you to explore and learn more about the different big data options that are available on AWS. Check out our Analytics Fundamentals for AWS course. The course covers numerous analytics tools including Amazon EMR, Kinesis Streams and Firehose, Machine Learning, Data Pipeline and Elasticsearch.
Have any questions? Leave a comment below!
What Exactly Is a Cloud Architect and How Do You Become One?
One of the buzzwords surrounding the cloud that I'm sure you've heard is "Cloud Architect." In this article, I will outline my understanding of what a cloud architect does and I'll analyze the skills and certifications necessary to become one. I will also list some of the types of jobs ...
Boto: Using Python to Automate AWS Services
Boto allows you to write scripts to automate things like starting AWS EC2 instances Boto is a Python package that provides programmatic connectivity to Amazon Web Services (AWS). AWS offers a range of services for dynamically scaling servers including the core compute service, Elastic...
Content Roadmap: AZ-500, ITIL 4, MS-100, Google Cloud Associate Engineer, and More
Last month, Cloud Academy joined forces with QA, the UK’s largest B2B skills provider, and it put us in an excellent position to solve a massive skills gap problem. As a result of this collaboration, you will see our training library grow with additions from QA’s massive catalog of 500+...
DevSecOps: How to Secure DevOps Environments
Security has been a friction point when discussing DevOps. This stems from the assumption that DevOps teams move too fast to handle security concerns. This makes sense if Information Security (InfoSec) is separate from the DevOps value stream, or if development velocity exceeds the band...
Test Your Cloud Knowledge on AWS, Azure, or Google Cloud Platform
Cloud skills are in demand | In today's digital era, employers are constantly seeking skilled professionals with working knowledge of AWS, Azure, and Google Cloud Platform. According to the 2019 Trends in Cloud Transformation report by 451 Research: Business and IT transformations re...
Disadvantages of Cloud Computing
If you want to deliver digital services of any kind, you’ll need to estimate all types of resources, not the least of which are CPU, memory, storage, and network connectivity. Which resources you choose for your delivery — cloud-based or local — is up to you. But you’ll definitely want...
Google Cloud vs AWS: A Comparison (or can they be compared?)
The "Google Cloud vs AWS" argument used to be a common discussion among our members, but is this still really a thing? You may already know that there are three major players in the public cloud platforms arena: Amazon Web Services (AWS), Microsoft Azure, and Google Cloud Platform (GCP)...
Deployment Orchestration with AWS Elastic Beanstalk
If you're responsible for the development and deployment of web applications within your AWS environment for your organization, then it's likely you've heard of AWS Elastic Beanstalk. If you are new to this service, or simply need to know a bit more about the service and the benefits th...
How to Use & Install the AWS CLI
What is the AWS CLI? | The AWS Command Line Interface (CLI) is for managing your AWS services from a terminal session on your own client, allowing you to control and configure multiple AWS services and implement a level of automation. If you’ve been using AWS for some time and feel...
Cloud Academy’s Blog Digest: July 2019
July has been a very exciting month for us at Cloud Academy. On July 10, we officially joined forces with QA, the UK’s largest B2B skills provider (read the announcement). Over the coming weeks, you will see additions from QA’s massive catalog of 500+ certification courses and 1500+ ins...
AWS Fundamentals: Understanding Compute, Storage, Database, Networking & Security
If you are just starting out on your journey toward mastering AWS cloud computing, then your first stop should be to understand the AWS fundamentals. This will enable you to get a solid foundation to then expand your knowledge across the entire AWS service catalog. It can be both d...
How to Become a DevOps Engineer
The DevOps Handbook introduces DevOps as a framework for improving the process for converting a business hypothesis into a technology-enabled service that delivers value to the customer. This process is called the value stream. Accelerate finds that applying DevOps principles of flow, f...