Search This Blog

Tuesday 12 December 2017

AWS Big Picture - Concepts Notes


  1. Although AWS typically used for web applications, any applications can be used in AWS
  2. AWS is one of many cloud service providers 
  3. 2 biggest advantages are cost and reliability 
  4. No upfront cost, we will only pay for what we used 
  5. Given AWS is available in multiple regions and with redundancy, AWS never goes down
  6. Another advantage is scalability...we can scale up or scale down based on usage and only pay for what we used
  7. Every thing is a service in AWS and all services interact with each other using typical TCP connections using different ports
  8. 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
  9. Other cloud providers are Microsoft Azure, IBM Bluemix, Heroku
  10. EC2 - elastic cloud computing 
  11. EC2 is like a computer or virtual machine.. EC2  is service that can be used for computing purposes like running an application 
  12. Elastic term in EC2 means computing service can expand or retract as needed 
  13. 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
  14. There are other images in market place , many vendors offer commercial images 
  15. 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
  16. 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
  17. EC2 usage is priced per hr rate
  18. 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
  19. Bucket is foundational structure in S3.. bucket is a root resource to which we can add or delete or modify Object
  20. Permissions can be set up at bucket level 
  21. Buckets can trigger events when objects are modified or preserve older version or replicate objects across regions 
  22. Once created, bucket are assigned URL using which we can access Buckets via browser or via local code
  23. S3 makes simple hosting static website content I.e. We do no need EC2 to host static website 
  24. S3 priced based on amount stored, number of requests and amount of data transferred 
  25. 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
  26. MySQL,PostgreSQL, SQL Server, MariaDB, Oracle, Amazon Aurora are ones currently supporting under RDS
  27. While picking RDS we also have to pic EC2 instance it running therefore pricing based on both EC2 and RDS 
  28. Security groups can be configured at RDS level to control who can connect to RDS database
  29. route53 is Amazon service for DNS service  management for both inside and outside AWS
  30. Each service can be accessed using URL, route53 will translate these URL to IP address 
  31. 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
  32. Route53 is charged per hosted zone and per million queries
  33. Route53 can be used to set up health checks and set up alarms, each alarms is charged 
  34. Elastic Beanstalk is an application service that makes it easy to run our code and scale it in AWS
  35. Manual deployment of application involves configuration, manual deployment and command line operations
  36. Deploying using elastic beanstalk makes it easy, easy deployment, set it and forgot configuration, monitoring  logging 
  37. Main abstract structure is Application, this is the root level organization
  38. Within applications we can have may revisions
  39. Each revision or version  can be deployed to environment ex. DEV, PROD
  40. Each environment can be configured with different EC2 instances
  41. Different versions of application code is stored in S3
  42. Each application can have up to 500  versions
  43. Elective beanstalk is free but we have to pay for EC2 instance and S3
  44. Alternative to RDS, another managed service database is DynamoDB
  45. Core structure is table , it's a root point in database
  46. We need to provision table with read and write units
  47. Table can be configured with primary keys and with secondary indexes
  48. Pricing  is based on provisioning capacity i.e Number of read and writes per hour
  49. 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
  50. 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
  51. 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
  52. VPC is free service is AWS
  53. CloudWatch is a monitoring and alert service . It can monitor the applicaiton logs and trigger notification based on content in logs
  54. Each CloudWatch function is priced differently and its not free
  55. 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.
  56. Web Console is the first screen we see after we login to AWS. This is where we can see all services and manage services
  57. SDK (Software Development Kits).. AWS provides SDKs for different software/Languages for interacting with AWS services
  58. 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.


    No comments:

    Post a Comment