Showing posts with label Engineering Tutorials. Show all posts
Showing posts with label Engineering Tutorials. Show all posts

Tuesday, January 11, 2022

Ansible - Automation Essentials - Part 3 [ Parts of Ansible ]

How Ansible Works?

As already discussed, Ansible is a configuration management tool, based on push-based architecture to automate the configuration of your hosts to achieve the desired state.

Following are the components of Ansible architecture

  • Inventory - Defines the list of target hosts
  • Playbook (YAML file) - Defines a list of tasks
  • Module - A python code invoked from tasks and executed on hosts
  • Control Machine - Takes playbook and executes each task on a particular group of hosts

Playbook

A Playbook is a file that defines the desired state of your system.

It contains plays, which has a list of tasks to run in sequence against a list of hosts.

  • A play is a set of tasks, grouped together to achieve an objective
  • A task is an instruction you give to Ansible.
  • They are written in YAML format, a data serialization language, that we discussed in previous cards.

Inventory

So Ansible captured the desired state through Playbook, but how would ansible know which machines it should configure through Inventory?

The Inventory file in Ansible contains the list of all hosts (target systems/servers) that need to be configured. You can also group hosts under different names as shown:

[group A]

Host 1

[group B]

Host 2

Host N

More on Inventory

  • Default location of Inventory File: /etc/ansible/hosts
  • You can define an Inventory file statically (.ini file) or dynamically (.json file) to Ansible.

Modules Perform the Action

Modules are a piece of code that gets executed when you run a playbook. You use them to describe the state you want the host to be in.

Each task in play is made of modules and arguments.

Ansible - Automation Essentials - Part 2 [ Introduction to YAML Language ]

What is YAML?

YAML stands for Yet Another Markup Language. It is a data serialization language just like JSON.

Why YAML, when we already have JSON or XML?
  • YAML files are easy to read and write for humans, similar to English.

Foundation of YAML


  • YAML files should end as .yaml or .yml
  • Begins with --- and ends with
  • # defines comment

YAML is Case and Indentation Sensitive

  • Members of a list should be at the same indentation level starting with a dash(-) and space.
  • Each item in the list is a key: value pair (colon must be followed by a space), called a dictionary.
  • At each level, exactly two spaces are used for indentation. Using tabs is not recommended here.

Boolean Values

Variables can be defined in YAML files as shown:

stream: Java

allocated: true
allocated: yes

allocated: no

allocated: True

allocated: TRUE

allocated: false

Variables can be assigned boolean values in different ways as shown:

Data Structures

Complicated data structures are possible in YAML.

You can define lists having dictionariesdictionaries having lists or a mix of both.

In the following example,

  • name and job are dictionaries. Skill is a dictionary with a list.
  • David and Amy are listed as having dictionaries
# Employee records

- David:

name: David Moore

job: Developer

skills:

- python

- sql

- java

- Amy:

name: Amy Brown

job: Developer

skills:

- angular

- redux

- react

Ansible - Automation Essentials - Part 1 [ Introduction to Ansible in Ansible - Automation ]

What are You Going to Learn?

We hope you have gained a good understanding of what is Infrastructure as a code. In this course, you will learn about

  • Ansible and its benefits
  • Ansible in Infrastructure as Code (IaC)
  • YAML format
  • Few Ad_Hoc commands
  • Different parts of Ansible
  • Role of Modules in Ansible
  • How to write Playbooks
  • How to Control the flow of execution in Ansible
  • Few points about configuration file (ansible.cfg)
  • How to setup environment in local machine and online playground

By the end of this course, you will be in a position to write a few ad-hoc commands and a Playbook of your own.

What Is Infrastructure As Code?


IaC means writing code for infrastructure i.e. your systems and devices, which are used to run Softwares, are to be treated as software and defined using code(which can be done using a high level or descriptive language).

For example version control, testing, small deployments, use of design patterns, etc.

Configuration Management tools are used to accomplish IaC.

Why are You Here?


Infrastructure as Code can be achieved using Ansible, which is one of the popular Configuration Management tools. In this course, we will have you explore various capabilities of Ansible.

What is Configuration Management?


Configuration Management is a process of establishing, tracking and controlling the current design and build state of the system (software versions).

It also ensures that past records of system state are easily and accurately accessible which helps in project management, audit purposes, debugging etc.

Before Configuration Management

Consider you are planning for a New Year Special Sale on your e-commerce site. You need to

  • Scale up your servers
  • Then configure them(and all other old servers) for special new year sale
  • This whole process would take a lot of effort and time
  • What if new configurations did not work as expected? Then you will have to roll back to the previous stable version, which will add more work and subtract the profits and potential customers while in downtime.

Configuration Management Tools

You need some kind of Configuration Management tool that can automate these tasks:

  • Rollback to the stable version with zero downtime
  • Provide you with a constant computing environment throughout SDLC
  • Automatically scale up or down depending upon traffic

Some of the popular Configuration Management tools are Ansible, Puppet, Chef and Saltstack.

You will now learn more about Ansible in upcoming cards.

What is Ansible?


Ansible is open-source software, first released by Michael DeHaan in 2012 and owned by Red Hat.

It is used to automate

  • configuration management
  • application deployment
  • software provisioning and other IT needs

Benefits of Ansible

  • Simple: Very easy to install, set up and learn. Written in YAML file which is pretty much like reading English
  • Agentless: Do not need to install any agents on target nodes.
  • Powerful: It can model any complex IT workflow as it has 1100+ modules
  • Efficient: You can customize modules, using any programming language
  • Secure: Uses SSH for connection

Wondering about the YAML language?? Read on to discover 

Monday, January 10, 2022

Ansible - Automation Essentials - Part 0 [ Course Summary in Ansible - Automation ]


Here, we will introduce you to Ansible, how to set up and configure Ansible, execute Adhoc commands, configure roles, files, templates, etc. You will also play with Ansible Playbooks and modules.

Topics Covered

    • Ad-Hoc Commands
    • Modules - The Engine of Ansible
    • Set-Up Environment for Ansible
    • Playbook Explained
    • The Decision
    • Configuring Your Master
    • Write a PlayBook
    • Summary - Ansible
    • Ansible Final Assessment

      Please complete the entire course to get a good understanding and if you liked this then please like share and subscribe. 

      Saturday, January 1, 2022

      AWS Essentials - Part 0 [ Course Summary in AWS Cloud ]



      Introduction to AWS

      Welcome to this course on AWS Essentials!

      Here you will first learn about Cloud Computing and its characteristics. Then you will understand What is AWS, its application, and its usage. Following that, you will learn in detail about the different kinds of products AWS supports.

      Hope you had great learning! To summarize, you first

      • Learned about Cloud Computing & its characteristics
      • What is AWS & its application & usage?

      Following that deep-dived into the different offerings -

      If you like what you read please Like , share, and Subscribe to our newsletter and CodeOn Youtube Channel

      AWS Essentials - Part 10 [ Mobile Services in AWS Cloud ]

      AWS allows to easily build advanced cloud-powered applications for mobile devices! You might want to run the app on your preferred device efficiently, quickly, and securely. AWS offers the environment for this.

      Stream Real-Time Data – Gather real-time clickstream logs and react quickly. Store Shared Data – Store and query NoSQL data to users and devices. Authorize Access – Securely access cloud resources. Send Push Notifications – Keep users active by transmitting messages reliably. Deliver Media – Detect mobile devices automatically and render content quickly on a global basis. Analyze User Behavior – Track engagement and active users. Synchronize Data – Sync user preferences across devices. Manage Media – Store and share user-generated photos and other media items. Authenticate Users – Manage identity providers and users.

       Everything You Need to Build Mobile Apps

      Bountiful Cloud Services AWS provides a wide set of highly scalable, fully managed services that include data warehousing, content delivery, streaming, monitoring, databases, storage, logic, and machine learning in-app without the need to manage any infrastructure.

      The Tools To Help You Build AWS allows you to add cloud services to mobile apps easily.

      • Develop a serverless mobile backend
      • Manage user identity and sign-in
      • Transmit push notifications
      • Track usage patterns and maximize your app with in-app analytics.
      • Test against a huge set of real devices.

       AWS Offerings


      • AWS Mobile Hub - Build, Test, and Monitor Apps
      • Amazon Cognito - User Identity and App Data Synchronization
      • AWS Mobile SDK - Mobile Software Development Kit
      • Amazon API Gateway - Build, Deploy, and Manage APIs
      • Amazon Pinpoint - Push Notifications for Mobile Apps
      • AWS Device Farm - Test Android, FireOS, and iOS Apps on Real Devices in the Cloud

       Mobile Hub


      AWS Mobile Hub provides an integrated console that helps you

      • Build
      • Test and
      • Monitor & manage mobile apps.

      Mobile Hub provisions and configures the necessary AWS services and creates a working sample app.

      Cognito


      Amazon Cognito reduces the task of

      • Authenticating users, storing and managing
      • Synchronizing data across several applications, platforms, and devices.

      This functions both offline or online and enables to save user-specific data securely such as game state and application preferences.

      Cognito supports unauthenticated guest users and works with several existing identity providers.

      AWS Essentials - Part 9 [ Application Services in AWS Cloud ]

      AWS Application services have a broad range of services that helps in enhancing the rendering of the application overcloud. Main offerings include -

      Amazon Elastic Transcoder - Simple Scalable Media Transcoding Amazon API Gateway - Build, Deploy, and Manage APIs AWS Step Functions - Coordinate Distributed Applications

       Step Functions

      Offers a graphical console to set up and visualize the components of the application as a series of steps.

      • Easy to create and run multi-step applications.
      • Coordinate the components of microservices and distributed applications using visual workflows.
      • Create applications from single components that each perform a discrete function to change and scale applications quickly.
      • Triggers and tracks each step automatically, and retries when errors are noticed, which ensures your application executes as intended and in order.
      • Logs the state of every single step. When things go wrong, it is simple to diagnose and debug issues fast. You can change and include steps without the need to write code, effortlessly evolve the application and innovate rapidly.
      • Manages the underlying infrastructure and operations to ensure the application is available at all scales.

      API Gateway


      Fully managed service that allows developers to create, publish, maintain, monitor, and secure APIs easily at any scale.

      • Serves as a “front door” for applications to access functionality, data, or business logic from your back-end services, like, code running on AWS Lambda, workloads running on Amazon EC2, or any Web application.
      • Takes care of processing and accepting of concurrent API calls, including API version management, monitoring, traffic management, and authorization and access control
      • Pay only for the API calls received and the data transferred.

      How does AWS API Gateway work?

      API Gateway Benefits

      • Low-Cost and Efficient
      • Performance at Any Scale
      • Easily Monitor API Activity
      • Streamline API Development
      • Secure and Flexible
      • Flexible Security Controls
      • Create RESTful Endpoints
      • Run Your APIs Without Servers

       Elastic Transcoder

      Media transcoding in the cloud.

      Businesses and developers could transcode or convert media files from their source format into versions that will playback on devices such as PCs, tablets, and smartphones.

      It is designed to be user-friendly, economical, and highly scalable.

      AWS Essentials - Part 8 [ Messaging in AWS]

      • Fully managed message queues for safe communication between microservices and applications
      • Quick, flexible, fully managed push notification service to transmit specific messages or to fan-out messages to numerous recipients
      • Run targeted campaigns to create user engagement in mobile applications
      • cost-effective email service created on the scalable and reliable infrastructure

      Key offerings -

      • Simple Email Service (SES) - Email Sending and Receiving
      • Pinpoint - Push Notifications for Mobile Applications
      • Simple Notification Service (SNS) - Pub or Sub, Mobile Push and SMS
      • Simple Queue Service (SQS) - Managed Message Queues

      AWS Essentials - Part 7 [ IOT ]

      AWS has developed IoT-specific services that assist to gather and send data to the cloud. The IoT services make it comfortable to load and analyze information and offer the capability to manage devices and stress on developing applications that suit the requirements.

      AWS Greengrass helps to operate data caching, messaging and local compute for connected devices in a safe way.

      AWS IoT Platform is a managed cloud platform that allows connected devices to interact with other devices and cloud applications securely and easily. AWS IoT can support many devices and a lot of messages.

      AWS IoT Button is a programmable button that is based on the Amazon Dash Button hardware. The Wi-Fi device is effortless to configure. AWS IoT Button is offered to developers to use Amazon SNS, Amazon DynamoDB, AWS Lambda, AWS IoT, and several other Amazon Web Services without the need to write device-specific code.

      This video will give you more knowledge on AWS IoT

      AWS Essentials - Part 6 [ Security, Identity and Compliance ]


      • AWS offers data center and network architecture built to meet the requirements of the most ***security-sensitive organizations***.
      • The AWS cloud provides a platform to scale and innovate, while still maintaining a secure environment.
      • Pay only for the services been used.

      ·         Security, Identity, and Compliance Products

      ·  


      ·         Amazon Inspector - automated security assessment service, that aids to enhance the compliance and security of applications deployed on AWS.

      ·         AWS Identity and Access Management (IAM) - controls users' access to AWS services. Allows to create, manage users and groups, and deny or grant access.

      ·         AWS Artifact - the portal offers on-demand access to AWS compliance and security documents (audit artifacts).

      ·         Amazon Cloud Directory - set up flexible cloud-native directories to organize hierarchies of data along numerous dimensions.

      ·         AWS Certificate Manager - seamlessly manage, provision, and deploy Secure Sockets Layer (SSL)/Transport Layer Security (TLS) certificates.

      ·         AWS CloudHSM - fulfill regulatory, contractual, and corporate compliance requirements for data security by utilizing a dedicated Hardware Security Module (HSM). AWS Directory Service - allows AWS resources and directory-aware workloads to utilize managed Active Directory in AWS Cloud for Microsoft Active Directory.

      ·         AWS WAF - web application firewall that aids in protecting web applications from web threats that could eat up excessive resources, or compromise security, hinder application availability.

      AWS Essentials - Part 5 [ Networking and Content Delivery in AWS ]

       This ensures the provision of

      • Global Content Delivery Network (CDN) service that speeds up delivery of video content, APIs, websites, or other web assets.
      • A logically isolated section of AWS cloud, where you can open AWS resources in a virtual network.
      • Offer more safe and economical ways to route end users to web applications by translating names into IP addresses.
      • Set up a dedicated network connection from a location to AWS.

      Networking and Content Delivery in AWS

      Services offered -

      • Elastic Load Balancing: High Scale Load Balancing
      • Amazon Route 53: Scalable Domain Name System
      • Amazon Cloud Front: Global Content Delivery Network
      • AWS Direct Connect: Dedicated Network Connection to AWS
      • Amazon VPC: Isolated Cloud Resources


      AWS Essentials - Part 4 [ Management Tools in AWS ]


      AWS offers a wide set of services for IT and System administrators to seamlessly manage and monitor -

      • Infrastructure logs and metrics using alarms and real-time dashboards.
      • Hybrid infrastructure resources

      AWS also allows to track, monitor, and enforce security and compliance.

      Services

      • Amazon EC2 Systems Manager: Configure and Manage EC2 Instances and On-premises Servers
      • AWS CloudTrail: Track User Activity and API Usage
      • AWS Config: Track Resource Inventory and Changes
      • AWS Service Catalog: Create and Use Standardized Products
      • AWS Personal Health Dashboard: Personalized view of AWS service health
      • Amazon CloudWatch: Monitor Resources and Applications
      • AWS Cloud Formation: Create and Manage Resources with Templates
      • AWS OpsWorks: Automate Operations with Chef
      • AWS Trusted Advisor: Optimize Performance and Security

      Amazon CloudWatch

      Understand Cloudwatch by viewing this video.

      Amazon CloudWatch is a monitoring service designed for AWS cloud resources and the applications operate on AWS. Amazon CloudWatch can be used to:

      • Automatically react to changes in AWS resources.
      • Collect, monitor log files, and set alarms
      • Collect and track metrics

      Attain system-wide visibility into operational health, application performance, and resource utilization.

      Amazon CloudWatch monitors AWS resources such as

      • Amazon RDS DB instances
      • Amazon DynamoDB tables
      • Amazon EC2 instances
      • Custom metrics or logs created by services and applications

      Amazon CloudTrail


      AWS CloudTrail is a service that allows risk auditing, operational auditing, compliance, and governance of AWS account.

      • Routinely monitor and retain events specific to API calls throughout the AWS infrastructure.
      • Offers history of AWS API calls for your account, which includes API calls done through the AWS SDKs, AWS Management Console, command-line tools, and various AWS services.
      • Reduces troubleshooting, security analysis, and resource change tracking.

      Benefits:

      • Security Automation
      • Visibility Into User and Resource Activity
      • Security Analysis and Troubleshooting
      • Simplified Compliance

      Monday, December 20, 2021

      AWS Essentials - Part 3 [ Compute in AWS Cloud ]

      Compute in AWS Cloud

      Compute forms the nucleus of creating and executing business.

      AWS provides several compute products that allow to deploy, run, and scale applications as virtual servers, code, or containers.

      Compute Covers

      • Simple websites and applications on one or a few servers
      • Control and manage cluster or server-level functions such as deployment and scaling
      • Manage stateful or stateless applications packaged as Docker containers
      • Stateless, event-initiated applications that require fast response times

      AWS Compute Offerings

      Different Compute services offered by AWS.

      • Amazon EC2 - Virtual Servers in the Cloud
      • Amazon EC2 Container Service - Run and Manage Docker Containers
      • AWS Lambda - Run Code in Response to Events
      • Amazon EC2 Container Registry - Store and Retrieve Docker Images
      • Amazon LightSail - Launch and Manage Virtual Private Servers
      • Amazon VPC - Isolated Cloud Resources
      • AWS Batch - Run Batch Jobs at Any Scale
      • AWS Elastic Beanstalk - Run and Manage Web Apps
      • Auto Scaling - Automatic Elasticity

      What is Amazon EC2?

      Whatever kind of application you run; you're certainly going to need servers. Sometimes you might need larger ones and sometimes you might need smaller ones. Sometimes you might not need many and other times you might need tens or hundreds. Whatever your requirements, wouldn't it be great to be able to obtain servers quickly and inexpensively? Traditionally, obtaining servers could be quite time-consuming and typically something that could take weeks or even months.

      You have to research into the right kind of hardware to buy, maybe get budget approval and then purchase the hardware, have it racked and stacked and eventually, get access to your servers. and once you've purchased the servers, you are stuck with them.

      Amazon Elastic Compute Cloud or Amazon EC2 makes it easy for you to obtain virtual servers also known as compute instances in the cloud quickly and inexpensively. You simply choose the instance type you want, the template you would like to use which could be based on Windows or Linux and launch the quantity you need.

      You can do this with a few clicks from the AWS Management Console or automate the process via an API using SDK in your choice of language within minutes your instances will be running and you will have access with full administrative control just like any other server and with Amazon EC2 you pay only for what you use.

      When you're done using your instances you stop them and you stop paying for them. Amazon EC2 provides a range of instance types designed for different use cases. These range from small and economical instances that is a great choice for low volume applications up to cluster compute instances designed for high-performance computing workloads and could-based supercomputing on demand.

      Amazon EC2 provides instances optimized for computing, memory, storage and GPU processing to enable you to find the right price and performance combination for whatever workloads you want to run. It's also really easy to resize your instances if your business or application requirements change. Amazon EC2 offers a choice of flexible pricing options. With on-demand pricing, you pay only for what you use.

      When you stop your instances, you stop paying, there are no long-term commitments or upfront fees. Reserved instance pricing lets you obtain a significant discount over the on-demand price in return for a low one-time payment.

      Spot instance pricing lets you name the price you want to pay for instances using market-based pricing and can allow you to obtain compute capacity at a significant discount to the on-demand price. We know that security is very important for your applications and Amazon EC2 provides several built-in security features. Your instances are located in a Virtual Private Cloud or VPC that is a logically isolated network that you control.

      Amazon VPC provides you with several network security tools you can use to control who can access your instances?

      You can also connect securely to your on-premises network with a hardware-based VPN device. Amazon EC2 instances provide you with various amounts of directly attached temporary storage depending on the instance type and you can also use Amazon Elastic Block Store or EBS to provide persistent block storage for your Amazon EC2 instances.

      Amazon EBS also offers you the ability to provision storage with a specific level of performance to meet the needs of your application. It can be difficult to predict the demand that your applications might experience and Amazon EC2 provides auto-scaling to help ensure that the demands of your application are met.

      Auto-scaling lets you define metrics to increase or decrease the number of instances that you are running. You can choose standard metrics, such as network bandwidth or CPU utilization or a custom metric that you define. This helps you ensure that you can meet your application's demands without manual intervention and pay only for what you need.

      You can sign up for an AWS account today and get started with Amazon EC2 in minutes and with the AWS Free Tier, you can try cloud computing for free.

      Amazon Elastic Compute Cloud (EC2)

      Amazon EC2 offers resizable cloud-based compute capability taking shape as virtual servers. There is a broad range of instance types that are easily manageable and exhibit different combinations of networking capacitystorage sizeamount of memory, and CPU power.

      Features

      • Removes the necessity of upfront investment in computer hardware.
      • Commission numerous instances simultaneously
      • Pay only for the used quantity
      • Change web-scale cloud computing easy

      Applications

      • Big data - e.g. Hadoop
      • Database software - e.g. Aurora, DynamoDB
      • Enterprise applications - e.g. SAP, Oracle
      • Migrations from on-premises environments
      • Open-source cluster management
      Amazon EC2 Container Service (ECS)

      Amazon ECS is a scalable, performance container management service to include Docker containers. It enables you to run applications at ease on a managed cluster of Amazon EC2 instances.

      Amazon ECS removes the necessity to install, run, and scale cluster management infrastructure.

      Applications

      • Web applications
      • Microservices
      • Batch jobs
      • Docker workloads
      How does Amazon ECS work?

      Containers deliver speed and agility for your business but can require a lot of heavy lifting running complex container orchestration software managing and upgrading the orchestration systems having disjointed processes for hybrid environments not to mention managing cost and security concerns your time and your developers time is better spent focusing on projects to help grow your business.

      This is how amazon elastic container service can help amazon ECS is fully automated with no control plane to manage and with ECS anywhere customers can work with containers in both cloud and on-premises environments.

      Combining ECS on Fargate customers don't have to manage hosts no patching upgrading or maintenance overhead EC2 delivers security cost control and simplicity while removing the burden from your teams end to end innovate faster reduce overhead and spend more time deploying projects critical to your business growth build pipelines with agility and speed for networking storage and automated scheduling that scale automatically ECS seamlessly integrates with other AWS services if you know AWS you know ECS and teams can also run containers on computing services such as ec2 using the ECS fully managed control plane.

      Best of all there is no additional charge for Amazon ECS you only pay for the AWS resources you need to store and run your application get started with ECS today.

      AWS Lambda

      AWS Lambda aims to run code without managing or provisioning servers.

      • Lambda is the nucleus of serverless computing. To build and run services and applications without bothering about servers.
      • Run code for virtually any type of backend service or application - with no administration.
      • Upload the code and Lambda handles everything needed to run and scale the code with better availability.
      • Pay only for the compute time that you use.
      • Create code to automatically trigger from other AWS services, otherwise, call it directly from a mobile or web app.

      Applications

      • Web applications
      • Mobile backends
      • IoT backends
      • Stream processing workloads
      • File processing workloads
      How does AWS Lambda work?

      When you're building applications you want them to deliver a great experience for your users maybe you want your application to generate in-app purchase options during a gaming session rapidly validate street address updates or make image thumbnails available instantly after a user uploads photos to make this magic happen your application needs back-end code that runs in response to events like image uploads in-app activity website clicks or sensor outputs but managing the infrastructure to host and execute back-end code requires you to size provision and scale a bunch of servers manage operating system updates apply security patches and then monitor all this infrastructure for performance and availability wouldn't it be nice if you could just focus on building great applications without having to spend lots of time managing servers.

      Introducing AWS Lambda AWS Lambda is a compute service that runs your backend code in response to events such as object uploads to Amazon s3 buckets updates to Amazon DynamoDB tables data and Amazon Kinesis dreams or in-app activity once you upload your code to lambda the service handles all the capacity scaling patching and administration of the infrastructure to run your code and provides visibility into performance by publishing real-time metrics and logs to Amazon Cloud Watch all you need to do is write the code.

      AWS lambda is very low cost and does not require any upfront investment when you use AWS lambda you're simply charged a low fee per request and for the time your code runs measured in increments of 100 milliseconds getting started with AWS lambda is easy there are no new languages tools or frameworks to learn you can use any third-party library even native ones the code you run on AWS Lambda is called a lambda function you just upload your code as a zip file or design it in the integrated development environment in the AWS management console or you can select from a list of function samples pre-built for common use cases image conversion file compression and change notifications and built-in support for the AWS SDK makes it easy to call other AWS services once your function is loaded you select the event source to monitor such as an Amazon s3 bucket or Amazon DynamoDB table and within a few seconds lambda will be ready to trigger your function automatically

      When an event occurs with lambda any event can trigger your function making it easy to build applications that respond quickly to new information to learn more about AWS lambda visit our website and you can get your first Lambda function up and running with a few clicks in the AWS management console and with the AWS free tier, you can try lambda for free.

      Sunday, December 5, 2021

      AWS Essentials - Part 2 [ AWS Cloud - Products ]


      AWS Cloud - Products

      Let us explore different types of products in AWS.

      Compute - AWS provides numerous compute products that allow you to deploy, run, and scale applications as virtual servers, code or containers.

      Storage - Cloud storage is the secure, scalable and reliable component that includes the information used by applications.

      Database - AWS provides fully managed NoSQL and relational databases, and in-memory cache to suit your application needs.

      Developer Tools - AWS Developer tools is a set of services that are offered to allow developers to securely version control and store the source code of applications. Also, it aids to build, test and deploying the application automatically.



      Management Tools - Aids you to manage the applications and resources.

      Security and Compliance - Allows customers to know the proficient controls at AWS to maintain data protection and security in the cloud.

      Messaging - Provides several messaging services and tools with diverse abilities.

      Application Services - Offers a plethora of managed services for use with applications such as converting digital media into different formats, including search to your website, and hosting streaming applications.

      Wednesday, December 1, 2021

      AWS Essentials - Part 1 [ Introduction to AWS ]

      AWS Essentials

      Amazon Web Services is a leading cloud-based services platform and if you are aiming for a career in cloud technology, AWS Essentials is a great place to start. This course will introduce you to the various services and products offered by AWS.

      Introduction to AWS

      Welcome to this course on AWS Essentials!

      Here you will first learn about Cloud Computing and its characteristics. Then you will understand What is AWS, its application and its usage. Following that, you will learn in detail about the different kinds of products AWS supports.
      1. Compute
      2. Storage
      3. Database
      4. Networking and Content Delivery
      5. Developer Tools
      6. Management Tools
      7. Security and Compliance
      8. Application Services
      9. Messaging

      AWS Cloud

      Here you will get a chance to know more about the different offerings of AWS.


      What is Cloud Computing?

      Before drilling down further into AWS, let us first understand What is Cloud computing?


      Cloud Computing

      • It is the type of Internet-based computing that provides shared computer processing resources and data to computers and other devices on demand.
      • It is a model for enabling ubiquitous, on-demand access to a shared pool of configurable computing resources (e.g., computer networks, servers, storage, applications and services) provisioned with minimal management effort.
      • This relies on sharing of resources to achieve coherence and economy of scale, similar to a utility (like the electricity grid over an electricity network.)
      Source - Wikipedia

      Cloud Characteristics


      National Institute of Standards and Technology (NIST) highlights various characteristics that are needed for a service to be regarded as “Cloud”.
      1. On-demand self-service - Sign up and enjoy the services without delays.
      2. Broad network access - Access service through standard platforms (laptop, mobile, desktop, etc.)
      3. Resource pooling - Resources are pooled to multiple customers.
      4. Rapid elasticity - Ability to meet demand peaks.
      5. Measured Service - Billing is metered and delivered as a utility service.
      Three unique categories within Cloud Computing:
      • Software as a Service (SaaS)
      • Platform as a Service (PaaS)
      • Infrastructure as a Service (IaaS)

      Software as a Service (SaaS)

      1. Capability to run applications on a cloud infrastructure.
      2. Applications are accessible from several client devices via either a thin client interface, like a web browser e.g., web-based email
      3. The interplay between the outside world and organization. e.g., email newsletter campaign software
      4. Software for a short term requirement. e.g., collaboration software for a particular project
      5. “Vanilla” offerings where the solution is not differentiated.
      6. The consumer does not control or manage the underlying cloud infrastructure, which includes servers, networks, operating systems and storage.
      SaaS is not suitable in scenarios where the application
      1. processes quick real-time data.
      2. has a regulation or legislation that does not allow data to be hosted externally.
      3. the existing on-premise solution that satisfies all of the requirements of an organization.

      Platform as a Service (PaaS)

      Computing platform that permits creating web applications effortlessly, fast, with no complexity of buying or maintaining the infrastructure and software.
      1. Services to develop and test applications, as well as deploy, host and maintain applications in a similar integrated development environment.
      2. Ability to deploy on cloud infrastructure with the help of programming languages, services, libraries, and tools.
      3. Built-in scalability of deployed software with failover and load balancing.
      4. Integration with databases and web services through common standards.
      PaaS is not suitable in scenarios where the application -
      • requires to be more portable concerning where it is hosted.
      • performance needs customization of the underlying software and hardware.
      • proprietary approaches or languages would affect the development process.

      Infrastructure as a Service (IaaS)

      Capableness to provide networks, processing, storage, and other fundamental computing resources, and ability to deploy, run arbitrary software that can include operating systems and applications. Here, the consumer is incapable of controlling or managing the underlying cloud infrastructure.
      1. Resources are distributed as a service and enable dynamic scaling
      2. Utility pricing model
      3. Multiple users on one hardware Applicability-
      4. New organizations with less capital could invest in hardware easily
      5. Organizations growing rapidly
      6. Pressure on the organization to restrict capital expenditure and to migrate to operating expenditure
      IaaS is not suitable in cases where
      • strict regulatory compliance is followed
      • A very high level of performance is required.

      More on Cloud Computing

      Let's discuss some advantages to moving to the cloud
      1. Variable as opposed to upfront
      2. Fixed cost
      3. Economics of scale can reduce Operating cost
      4. It's easier to match capacity to demand
      5. It allows you to focus on developing and deploying applications instead of the undifferentiated heavy lifting associated with managing an on-premises data centre.
      6. It allows you to increase the velocity of your Agile development and allows a global presence right out of the gate.

      Types of Cloud Services

      Following are the different types of services that are offered by cloud
      1. Infrastructure as a Service: This allows you to easily provision the IT components you require; including networking capabilities, computers, multi-tenant or dedicated, and data storage. It's flexible and allows you to control and manage your IT resources similar to the way you would in a traditional on-premises data centre, such as EC2, S3, and VPC.
      2. Platform as a Service: It frees you from having to manage the underlying infrastructure and focus on the deployment and management of your application. It frees you from having to think about resource procurement, capacity planning, software maintenance, and patching. Examples of Platform as a Service on AWS include Route 53, Elastic Load Balancing, and Auto Scaling.
      3. Software as a Service: It provides you with an application that is run and managed entirely by a service provider. Think of SaaS as an end-user application running in the cloud. In a SaaS environment, you have access to the capabilities of an application without the hassle of how it's maintained or its underlying infrastructure

      Geographical displacement

      Next, let's take a look at the infrastructure in terms of its geographical dispersement.

      • Regions are geographical areas, such as California, that contain multiple data centres in what is called availability zones.
      • Availability zones are separate physical data centres that may exist within a particular region but have separate infrastructure dependencies, such as the electrical power grid, flood plain, and any other factors that might isolate it from the potential of outages
      • In addition to AZs, AWS supports numerous Edge locations. Throughout the globe, there are a lot more Edge locations than there are AZs. And these are small kinds of point of presence services used to deliver content, such as the Cloud Front and Content Distribution Network.
      • Infrastructure usage is the idea that you pay only for what you use, such as EC2. EC2 has various options, one of which is on-demand, which is where you only pay for the instance as long as you're using the instance or it's running.
      • Pricing concepts include paying for infrastructure usage, such as when using EC2; and data usage and transfer, such as when using Amazon S3 or DynamoDB.
      • Designing for high availability is a stricter requirement than designing for fault tolerance. For example, in architecture with a single instance, with an auto-scaling group of one, an instance failure will heal itself or replace the instance since the rule might say, "always provide one instance." This is an example of fault tolerance and not high availability. If however, I have an auto-scaling group with two instances in different AZs and one fails, the traffic will automatically route to the second instance. This is an example of higher availability.
      • Global infrastructure services include Identity and Access Management (IAM). Core services include networking, computing, storage, and databases, Application services include SNS, SQS, and SWF, Deployment and management services include Elastic Beanstalk and Cloud formation.

      History of AWS


      Extending IT Infrastructure to the AWS Cloud

      Observe how the IT extends further to support Cloud computing in this video

      Features of AWS

      AWS offers numerous ways to create and manage resources. Following are the different ways to access the features offered by AWS.

      AWS Management Console - A web interface for AWS.

      AWS Command Line Interface (AWS CLI) - Commands for a wide set of AWS products.

      ***Command Line Tools***- Commands for individual AWS products.

      AWS Software Development Kits (SDK) - APIs that are specific to programming language or platform.

      Query APIs - Low-level APIs that are accessible using HTTP requests.

      You will learn more about AWS Management Console and CLI in detail as you progress.

       AWS Management Console


      AWS Command Line Interface

      The AWS Command Line Interface is a unified tool that manages several AWS services from the command line and automates all the services through scripts.

      AWS-shell is a command-line shell program to offer productivity and ease features to aid advanced and new users of the AWS Command Line Interface.

      Key Features Include:

      • Fuzzy auto-completion for Resource identifiers, Options, Commands.
      • Dynamic in-line documentation
      • Execution of OS shell commands
      • Export executed commands to a text editor

      If You Enjoyed Reading our Blog Please Subscribe to our Mailing List or You can Click any Ad to Support Us Directly By Ads Money.