AWS

AWS

Cloud:

Aws is a cloud service, cloud means physical servers which are present in your premise or in any geo-location in world from where your application or service can run for your business requirement.




Collection of 1000's of servers are known as data center and AWS has multiple data centers across the globe. Below is sample data center image.




AWS uses virtualization to share physical resources between users of different geo-location. 



These virtual machines come with billing model of usage as we have for electricity and for water supply and usage.

Billing modes of fulling the demands are:
  1. On-Demand - No upfront payment or long term commitment for server usage by using virtualization.
  2. Pay-as-You-Go - Pay on hourly or even second basis for server usage.

Cloud computing:

It is know as computation service delivered with the help of internet to any end-user.
Here in case you are using AWS storage and services and computation in place of your personal or local systems.

AWS offers many services to end user for there needs.
  1. Compute service - EC2
  2. Storgae service - S3
  3. Networking service - VPC
  4. Database service - RDS
  5. Development, Messaging, and Deployment service - Code family
  6. Migration and Transfer - Migration hub 
  7. Artificial Intelligence and Machine Learning service - Recognition
  8. Auditing, Monitoring and Logging service - Trusted advicer
  9. Security, compliance and Governance service - IAM
  10. Pricing, Billing and Support - Procing Calculator. 

Notes:

AWS is divided into multiple service catagories and products are divided among them and we need to understand these catagories and need to work on it.

AWS have huge whitepaper documentation for information which we need to use according to need as reading them without any specific requirement will make it very hard to manage and to understand.


Cloud Computing and Deployment Models:

CapEx - Capital Expentditures 
It means you will pay for the service of development infra upfront before even starting working on it.

OpEx - Operating Expenses
Expences occur to run service on daily basis or to maintain it. 

AWS advantages:

  1. Global in Minutes - You can deploy your application in globe in a minute. Can launch whole environment in a minute.
  2. No Data Center Spend - No need to bother about infra-setup and about amount involved and time spend to make the setup funtional provide advantage to just focus on application build and on business use-case or requirement fulfilment through software. No need to own the datacenter.
  3. Economics of Scale - As AWS provide service globally and hence due to volume of users AWS get leasure to provide service on discounts and on lower prices.
  4. Speed and Agility - Application delivery and infra-setup become very fast.
  5. Stop Guessing Capacity - As AWS services are elastic in nature it means according to need server size and resources count can vary and as a result you don't need to think about the capacity required for you to run any application.
  6. CapEx for Varaible Expense - You need to pay only for usage and hence will save lots of upfront investment for servers setup.

AWS Benefits:

  1. High Availability - Systems are designed to run for longer period of time without any failure and very fast recovery if any failure occur.
  2. Elasticity - As it will help you to get rid of capacity calculation upfront of deploying any new service or application for your business use. As AWS is highly elastic and it's capacity is re-sizable according to need in seconds or minutes.
  3. Agility - It provide you flexibility to develop new product in small time and allow you to fulfil market demand on time and save you from time-loss.
  4. Durability - Help you to safeguard your data and to store it in servers for long time according to your need without bothering about the data center maintanence cost as you don't own it and all data availability responsibility is with AWS.

Cloud Computing Models:

  1. Infrastructure as a Service (IaaS)- You can rent infra-structure according to your need. They are also known as building blocks. You can even have it on subscription mode.
  2. Software as a Service (SaaS) - It help you to create complete application on demand for end user. Eg: email service or any cloud service.
  3. Platform as a Service (PaaS) - Help developers to develop softwares web based one. It will give you liberty to develop new website or application without bothering about the underline infra-structure. You can use this service to allow other users to use your platform for there purpose and can collect rent for the same. 

Cloud Deployment Models:

1. Private Cloud - 



2. Public Cloud - 


 3. Hybrid Cloud - 



AWS Region and AZ:

It is a group of geological location and each geological location can have multiple regions. It is a physical location.
So us-east is geographical location which has two regions inside it which are Ohio and N.Virginia.

Region Characteristics:

  • Regions are independent and isolated from each other it means if any nature clamity occur over any one region then other will not be impacted by it.
  • They are resource and service specific. As they are isolated hence their resources are not automatically replicated. It need to be done manually on demand.
  • Region contain multiple availability zones. Availability zone consist of one or more physically seperated or isolated data centers. Data centers details and number are kept secret and not registered in any document.
  • AZ - One or more discrete data centers with redundant power, networking and connectivity in an AWS Region.



Availability Zone characteristics:

  • AZ has there own redundent power sources but still there are connected with each other with low latency link.
  • They are fault-tolerant
  • High Availability


Notes: 

  • To make an application fault-tolerance we need to deploy it more than one AZ.
  • If Region went down then all the AZ's present in it will be considered as down as Region allow to communicate with desired AZ.

AWS Edge locations and Local zones:

Latency:

Amount of time a PC/Laptop take to connect to any server. Inshort time taken to allow one system to communicate with other system. Desired action is to have low latency so that users can retrieve information without any time delay.

Local Zones:

When AWS keep services near to end user then that setup is know as local zone. As end user can use compute service, storage service easily as it is available in local zone and will have low latency at the time of connectivity for usage of AWS services. It provide high bandwidth and connections to serve end user. It is an extension of an Region which is placed near to end users area.

Edge Locations:

It help to reduce latency as it catch the content and provide it to end user on demand. Provide features which are provided by the cloud service provider. Edge locations are more than Regions and AZ's. They act as backbone of AWS. 


Frameworks:

Cloud Adoption Framework Overview:

It focus on AWS usage to build business usecases on fly which will provided digitally transformed and accelerate business outcomes.

Perspectives and Foundatonal Capabilities:

  1. Security - 
    1. Governance, Security Assurance and Application security are part of it. 
    2. Protection -  infrastructure and data as well.
    3. Management - Identity and Access, Vulnerability
    4. Incident Response
    5. Threat Detection 
  2. Business -
    1. Management - Strategy, Portfolio, Innovation, Product
    2. Data - Monetization, Science
    3. Business Insight
  3. Platform -
    1. Architecture and Engineering - Platform, Data
    2. Continous Integration/Continous Delivery (CI/CD) 
    3. Modern Application Development.
    4. Provisioning and Orchestration
  4. Operations - 
    1. Management - Event(AIOps), Incident and Problem, Change and Release, Performance and Capacity, Configuration, Patch, Availability and Continuity and Application.
    2. Observability
  5. Governance - 
    1. Management - Program and Project Banafits, Risk, Cloud Financial and Application Portfolio
    2. Data - Governance and Curation.
  6. People -
    1. Transformation - Leadership and Workforce
    2. Organization - Design and Alignment
    3. Cloud Fluency
    4. Change Acceleration
    5. Culture Evolution

Cloud Transformation Domains:

  1. Technology - Migrate and Modernize
  2. Process - Digitize, automate and optimize
  3. Organization - Reimagine and orchestration
  4. Product - Reimagine and business model

Cloud Transformation Journey Phases:

  1. Envision phase - Benefits by providing fast business outcomes.
  2. Align phase - Focus on identifing Gaps in 6 domains of capabilities, across (cross team information/Dependabilities), perspectives.
  3. Launch phase - Delivery, initiatives with value.
  4. Scaling phase - Expand, sustainable and initiatives. 

Well-Architected Framework:

It consist of 6 components:
  1. Security - Focuses on protection of data, systems and any assests used by your workload. Follow least privileges rule, securing data at rest and secure transactional connections. eg: CloudTrail to log all actions performed in your account.
  2. Cost Optimization - Focuses on the ongoing process of maintaining costs in the cloud. Right sizing of cluster and resources, impletation of lifecycle. eg: Use S3 intelligent-Tiering to automatically move data.
  3. Performance Efficiency - Focuses on the ability to use computing resources efficiency to meet requirements. Maximizing resource usage and trade-offs. eg: Use Lambda to run code with zero administration. 
  4. Operational Excellence - Focuses on creating applications that successfully support your workload. Event management and designing an anotomy. eg: Use CodeCommit for code and template version control.
  5. Reliability - Focuses on architecting a workload to be consistent and able to recover quickly. Disaster recovery and network topology is part of it. eg: Use Multi-AZ deployment of RDS databases.
  6. Sustainability - Focuses on environmental impacts like energy efficiency and consumption. It includes Region selection and underline infrastructure to match demand. eg: Use EC2 Auto Scalling to ensure maximum utilization.

General Design Principles:

  1. Stop Guessing Your Capacity Needs - Autoscaling help to iradicate it.
  2. Test Systems at Production Scale - An infra-structure can be created and can be destroyed after testing completes for an project or product.
  3. Consider Evolutionary Architectures - Scalable solutions with future scopes keeping in mind.
  4. Automate with Architectural Experimentation in Mind - It help to save time and money and allow to use the solutions and plan it in automatic fashion. Help in Disaster management and can help in replicating the PROD workload.
  5. Drive Architectures Using Data - Here we will select data quality and volume to check the Architecture for handling the data efficiently. Will even use this analysis for long time.
  6. Improve Through Game Days - It will help to understand the system and to avoid system failure and make team ready for tight days when team need to work for failure recovery.



Comments

Popular posts from this blog

Python in VSCode

Apache Spark and PySpark