Based on the post titled “AWS Architecture for an IPL Cricket Contest Website”
Athena uses AWS S3 as it’s persistent store and supports files in the following formats — CSV, TSV, JSON, or Textfiles and also supports open source columnar formats such as Apache ORC and Apache Parquet. Athena also supports compressed data in Snappy, Zlib, LZO, and GZIP formats.
In our use case, we log data in plain JSON and also use GZIP compression to utilize the storage space optimally. Athena recognizes whether the files are GZIP compressed based on their extension.
I will now explain how you can…
A client wants to build a cricket contest website and you are asked to design an architecture based on AWS.
The client informed that during IPL matches, over a million users will participate in this contest. The website should be highly available and hackers should not be able to access the user data. This website should be geographically accessible only for Indian users. The client has a budget of $10,000 and a time frame of one month.
Let’s look at some prioritization techniques. These techniques will allow us to arrive at a common starting point.
Both High availability and Fault Tolerance seems same however still there is some difference between them.
Lets say you have an application that has to run across minimum of 2 EC2 instances with an SLA of 99.9% which allows a downtime of 43.83 minutes per month then we can architect our infrastructure as above. So if an instance fails, we still have plenty of resources available or if an entire availability zone fails then we still have the minimum of 2 EC2 instances up and running to maintain the required SLA. …
In traditional IT infrastructure, we use to have Network interface card attached to our server and it used to look like below
In AWS, we have Virtual Network Interface known as Elastic Network Interface (ENI). When you run an EC2 instance, a default Network Interface eth0 is assigned to it. It handles all traffic sent and received from an instance.
You can assign Security Groups to an ENI. Lets go through some use cases for an ENI.
Lets say, you have two subnets, public and management, now you do not want to expose anyone to access and manage public subnet…
VPC is Virtual Private Cloud, it is a commercial cloud computing service that provides users a virtual private cloud, by “provision[ing] a logically isolated section of Amazon Web Services Cloud”. Enterprise customers are able to access the Amazon Elastic Compute Cloud over an IPsec based virtual private network.
Today we will create a VPC with private and public subnets in VPC.
We will first create VPC from VPC Dashboard from AWS Console:
Any disaster weather it is corruption of data, theft, loss or a natural disaster can take down your application and can lead to a failure.
IT needs to set some objectives based on Recovery Point and Time. We call these objectives RPO (Recovery Point Objective) vs RTO (Recovery Time Objective).
Lets talk about differences between these two.
RTO (Recovery Time Objective)
RTO Refers to how much time can a business survive with application downtime. Some businesses can survive for days with application down. Some priority applications can be down only for seconds. It is not duration of loss and recovery…
AWS EFS- Elastic File System
EFS is a file system based storage where files are stored as Chunks and they only those chunks gets modified when modification happens.
EFS can be attached to multiple EC2 instances, however those regions should belong to the same EC2 instance region
EFS is recommended in use cases where in multiple read/write happens.
It offers two Performance modes: You can choose the performance mode by running your web application in general mode and then Monitor the PercentIOLimit Amazon CloudWatch metric for Amazon EFS during the performance test.
Amazon Cognito is a simple user identity and data synchronization service that helps you securely manage and synchronize app data for your users across their mobile devices. Amazon Cognito Federated Identities is a web service that delivers scoped temporary credentials to mobile devices and other untrusted environments.
I will briefly describe you how to integrate the Amplify Cognito User pool in android for User Management.
We need to add some configurations in our system for using Amplify Framework. Follow below steps