- Although AWS typically used for web applications, any applications can be used in AWS
- AWS is one of many cloud service providers
- 2 biggest advantages are cost and reliability
- No upfront cost, we will only pay for what we used
- Given AWS is available in multiple regions and with redundancy, AWS never goes down
- Another advantage is scalability...we can scale up or scale down based on usage and only pay for what we used
- Every thing is a service in AWS and all services interact with each other using typical TCP connections using different ports
- We can interact with each individual AWS service in local development therefore we do not have to build everything in cloud.. we can do unit testing with each individual AWS service locally and once all cloud services are integrated locally we can then deploy to cloud
- Other cloud providers are Microsoft Azure, IBM Bluemix, Heroku
- EC2 - elastic cloud computing
- EC2 is like a computer or virtual machine.. EC2 is service that can be used for computing purposes like running an application
- Elastic term in EC2 means computing service can expand or retract as needed
- Amazon Machine Image (AMI) - is combination of operating system and some software combinations that are pre-configured. Amazon provides many AMI and Amazon updates image software with security patches
- There are other images in market place , many vendors offer commercial images
- Elastic Block Storage (EBS) is used by EC2 for storing OS and other software related system files.. EBS is specific to EC2 and it's not same as S3
- Security groups at EC2 level will work as firewall rules.. for example security groups at EC2 level can limit IP address that can SSH to EC2 instances , or allow EC2 instances talk to each other or accept incoming request on HTTP port
- EC2 usage is priced per hr rate
- S3 simple storage services , can be used for any type of file.. maximum of a file size is 5TB.. maximum put size though is 5 GB per put/get request
- Bucket is foundational structure in S3.. bucket is a root resource to which we can add or delete or modify Object
- Permissions can be set up at bucket level
- Buckets can trigger events when objects are modified or preserve older version or replicate objects across regions
- Once created, bucket are assigned URL using which we can access Buckets via browser or via local code
- S3 makes simple hosting static website content I.e. We do no need EC2 to host static website
- S3 priced based on amount stored, number of requests and amount of data transferred
- RDS relational database services is AWS service to mange RDMS.. the backups , software update and infrastructure are taken care by AWS therefore less DBA work
- MySQL,PostgreSQL, SQL Server, MariaDB, Oracle, Amazon Aurora are ones currently supporting under RDS
- While picking RDS we also have to pic EC2 instance it running therefore pricing based on both EC2 and RDS
- Security groups can be configured at RDS level to control who can connect to RDS database
- route53 is Amazon service for DNS service management for both inside and outside AWS
- Each service can be accessed using URL, route53 will translate these URL to IP address
- Hosted zone will be first foundation for Route53 then we can set up subnet zones and within subnet zones we can created records like A record, CNAME etc
- Route53 is charged per hosted zone and per million queries
- Route53 can be used to set up health checks and set up alarms, each alarms is charged
- Elastic Beanstalk is an application service that makes it easy to run our code and scale it in AWS
- Manual deployment of application involves configuration, manual deployment and command line operations
- Deploying using elastic beanstalk makes it easy, easy deployment, set it and forgot configuration, monitoring logging
- Main abstract structure is Application, this is the root level organization
- Within applications we can have may revisions
- Each revision or version can be deployed to environment ex. DEV, PROD
- Each environment can be configured with different EC2 instances
- Different versions of application code is stored in S3
- Each application can have up to 500 versions
- Elective beanstalk is free but we have to pay for EC2 instance and S3
- Alternative to RDS, another managed service database is DynamoDB
- Core structure is table , it's a root point in database
- We need to provision table with read and write units
- Table can be configured with primary keys and with secondary indexes
- Pricing is based on provisioning capacity i.e Number of read and writes per hour
- redshift is amazon data warehousing solutions.. using build-in ETL services like data pipeline. The redshit is focused on scalability and performance, the basic structure for redshirt is a cluster of nodes .. each node is very high performance EC2 Instances
- VPC (Virtual Private Cloud) is logical space in cloud that allows secure our applications into groups. We can set up EC2 instances in VPC Subnets and control outside access to EC2.. for example we can create private subnet where EC2 can not be accessed via internet then setup a public subnet with internet connection and allow private subnet EC2 internet access via NAT (Network access tables). We will still use security groups but VPC is network level additional security
- 2 ways VPC controls access is using Route Tables and Network ACL (access control list). Route tables allow overwrite ip addresses and redirect elsewhere. Using this routing table feature, we can redirect all ip addresses to NAT Gateway and mask private subnet ip addresses so that private ip addresses are not visible outside VPC. Network level ACL allow subnet level firewall rule allowing or disallowing ip address ranges to a subnet
- VPC is free service is AWS
- CloudWatch is a monitoring and alert service . It can monitor the applicaiton logs and trigger notification based on content in logs
- Each CloudWatch function is priced differently and its not free
- CloudFront is content delivery network service, to serve the content from location closet to the user. The basic structure in CloudFront is Distribution, it defines set of contents to be served. Its priced based on region.
- Web Console is the first screen we see after we login to AWS. This is where we can see all services and manage services
- SDK (Software Development Kits).. AWS provides SDKs for different software/Languages for interacting with AWS services
- Command Line Interface (CLI) is unified tool to interact with different AWS services from teminal.. this is best tool if we are working with shell scripts.
IBM Datastage and Quality Stage, Unix Shell Scripting, Oracle, Interview Questions, Preparing for Interviews, ETL , DataWarehousing
Search This Blog
Tuesday, 12 December 2017
AWS Big Picture - Concepts Notes
Labels:
AWS
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment