Posts

Introduction to Virtualization and Cloud Computing

Introduction to Virtualization and Cloud Computing Welcome to the session! This document provides an overview of the topics we'll cover today, along with helpful resources and instructions for hands-on practice. 1. Introduction to Virtualization What is Virtualization? Virtualization is the creation of a virtual version of hardware, allowing multiple operating systems to run on a single physical machine. Types of Virtualization Server Virtualization : Multiple virtual servers on one physical machine. Storage Virtualization : Combining multiple physical storage devices into a single virtual unit. Network Virtualization : Abstracting network resources into a manageable virtual framework. Key Benefits Efficient resource utilization Cost savings Scalability Simplified management Deep Dive Knowledge Virtualization uses a hypervisor (like VMware or VirtualBox) to manage VMs. Popular tools include KVM , Xen , and Microsoft Hyper-V . Real-tim...

AWS Instance Store

Image
 AWS Instance Store  AWS Instance Store -  Hardware storage directly attached to EC2 instance amd cannot be detached and attached to another instance  Highest IOPS for any available storage Ephemiral Storage (Loses data when instance is terminated, stopped or hibernated) Good to buffer/cache/scratch data/temporary content  AMI created from an instance does not its instance store volume preserved  You can specify the instance store volumes to an instance when you launch the instance. You can't attach instance store volumes to an instance after you’ve launched it. Raid -  Raid 0  Improve performance of a storage volume by distributing reads and write in a stripes across attached volumes  If you add a storage volume you get the straight addition of throughput and iops For high performance applications Raid 1   Improve data availability by mirroring in multiple volumes For critical applications

AWS Elastic Beanstalk

Image
 AWS Elastic Beanstalk  AWS Elastic Beanstalk   -  Used to deploy application on AWS infrastructre Platform as a service (PaaS) Automatically handles capacity provisioning load balancing, scaling, application health monitoring, instance configuration, etc. but have full control over the configuration  Free (pay for the underlying resources) Supports versioning of application code  Can create multiple environment (dev,prod,test) Supports the deployment of web applications from docker container and automatically handles load balancing, auto scaling, monitoring and placing containers across the cluster  Web and Working Environments -  Web Environment (web server tier) - clients request are directly handled by EC2 instances through a load balancer  Worker Environment (worker tier) - clients requests are in SQS queue and the EC2 instances will will pull the messages to process them. scaling depends upon the number of SQS messages in the queue...

AWS CloudFormation

Image
 AWS CloudFormation AWS CloudFormation -  AWS CF is a service that allows you to manage, configure and provision your Infrastructure as a code  AWS CF provides a common language for you to describe and provision all the infrastructure resources in your cloud environment  Resources are defined using CF templates  CF interpretes the template and makes the appropriate API calls to create the resources you have defined Supports YAML or JSON CF Templates -  YAML file that defines a CF stack Templates have to be uploaded in S3 and then referenced in CF Logical  IDs are used to reference resources within the template  Physicals IDs identify resources outside of AWS CF templates, but only after the resources after created  Template Components -  Resources - AWS resources declared in the template (mandatory) Parameters - Dynamic inputs for your template  Mappings - Statics variables for your template Outputs - References to what has been cre...

AWS EventBridge

Image
 AWS Eventbridge AWS EventBridge -  Extention of CloudWatch => Events Event buses types -  Default event bus - events from AWS services are sent to this Partner event bus - receive events from external SaaS Application Custom event bus - for your own application Event rules - how to processs the events  Event buses support cross-account access Cron Jobs - when creating an EB rule, we can select "schedule" instead of event pattern to trigger an event based on a cron expression Can archieve events (all or based on a filter ) sent to an event bus to replay later  EventBridge is recommended for decoupling application that reacts to events from third-party SaaS applications   Schema Registry -  Defines how the data is structured in the event bus  Schema can be versioned  Event Bus Policy -  Manage permission for an event  Useful to allow or deny events from another AWS account or region

AWS Kinesis

Image
 AWS Kinesis AWS Kinesis -  Real-time data steaming service  Used in digest data in real time directly from source  Capacity Modes -  Provisioned - Publishing - 1mb/s per shard or 1000 msg/s per shard  Consuming -  2mb/s per shard (throughput shared between all consumer) Enhanced Fanout - 2mb/s per shard consumer (dedicated throughput for each consumer ) Throughput scales with shards (manual scaling) Pay per shard provisioned per hour  On-demand -  No need to provision or manage the capacity  Default capacity provisioned - 4mb/s or 4000 record/s Scales automatically based on observed throughput peak during the last 30 days  Pay per stream per hour and data in/out per GB g Not serverless Data retention: 1day (default) to 365 days A record consist of a partition key ( used to partition data coming from multiple publisher) and data blob (max 1mb) Record will be ordered in each shard  Producers SDK, kinesis producer library (KPL), ...

AWS SNS

Image
 AWS SNS AWS SNS -  Used to broadcast messages Pub-sub model (publisher publishes messages to a topic, subscribers listen to the topic) Instant message delivery (does not queue messages) Encryption -  In-flight encyption by default using HTTPS API At-rest encyption using KMS keys Client-side encryption Access Management -  IAM policies to regulate access to the SNS API SNS Access Policies (resource based policies) Used for cross-account access to SNS topic Used for allowing other AWS services to publish to an SNS topic  Standard Topics -  Highest throughput  At least once message delivery  Best effort ordering  Subscibers can be - SQS queues HTTP/HTTPS endpoints Lamda function Emails (using SNS) SMS and mobile notification Kinesis Data Firehouse to send the data into S3 or Redshift Fifo Topics -  Guaranteed  ordering of messages in that topic  Publishing messages to a fifo topic reqiures -  Group ID - messages will be orde...