Which cloud service is the best, AWS or Microsoft Azure?

Amazon Web Services (AWS) and Microsoft Azure are two of the biggest names in public cloud computing. For example, if an organization is in need of a strong Platform-as-a-service (PaaS) provider or needs Windows integration, Azure would be the preferable choice while if an enterprise is looking for infrastructure-as-a-service (IaaS ) or diverse set of tools then AWS might be the best solution.

Let take a look on various aspect, and then we see who is better?

What is Azure?

Azureis the primary interface for managing apps, services and solutions commissioned on the Azure platform. This feature-rich web application allows you to interact with Azure services through a rich web-based interface, building, managing, and monitoring everything from simple web apps to complex cloud applications in a single, unified console.

Advantages of Azure

Here are some advantages of adopting Azure cloud services:

  • Capability for developers and users to create, maintain and deploy applications
  • Fully scalable cloud computing platform offers open access across multiple languages, frameworks, and tools
  • Total support for Microsoft legacy apps
  • Support for mixed Linux/Windows environments
  • Offers inbuilt tool like Azure stack to help the organization deliver Azure service from the own data centre

What is AWS?

Amazon Web Services (AWS) is a secure cloud services platform, offering compute power, database storage, content delivery and other functionality to help businesses scale and grow. It is a subsidiary of Amazon providing on-demand cloud computing platforms.

Advantages of Azure

Here are some advantages of AWS cloud services:

  • Compute Cloud allows you to increase or decrease storage according to the need of your organization
  • AWS enables you to select an operating system, programming language, database of your choice
  • Robust partner ecosystem
  • Broad & deep service offerings
  • High Transfer Stability
  • Offers more data centers for availability and low latency
  • Stronger support for Bl and analytics
  • Better DevOps support

Key Difference between Azure and AWS

 Some of the key differences are:

  • Both Azure and AWS supports hybrid cloud but Azure supports hybrid cloud better.
  • Azure offers express routes while AWS offers direct connection.
  • Azure provides security by offering permissions on the whole account whereas AWS security is provided using defined roles with permission control feature.
  • Azure has 140 availability zone whereas AWS has 61 availability zone.
  • Azure machines are grouped into cloud service and respond to the same domain name with various ports whereas the AWS machine can be accessed separately.
  • Azure has a virtual network cloud whereas AWS has Virtual Private Cloud.

Comparison between Azure and AWS

ParametersAWSAzure
Launched DateLaunched in 2006.Launched In 2010.
Market Share31% Share of the global computing market11% Share from the worldwide market.
Availability Zone61 Availability Zone140 Availability Zones
Storage servicesS3 Buckets EBS SDB domains Easy to use SQS CloudFront AWS Import/ExportBlob Storage Containers Azure Drive Table Storage Tables Storage Stats
Databases ServicesMySQL Oracle DynamoDBMS SQL SQL Sync
Deployment ServicesAmazon Web Services Amazon Machine Instance (AMI) Traditional Deployment Models Fine-grained updates Elastic Beanstalk Cloud FormationCspkg (fancy zip file) Upload via portal or API via blob storage Course-grained updates “click to scale.” More magic
Networking ServicesIP/Elastic IP/ELB Virtual Private Cloud Route 53 ELB Firewall heavily configurableAutomatic IP assignment Load-balancing Azure Connect Balancing Endpoints defined in csdef/cscfg
PricePer hour- rounded upOn-demand reserved spot.
CustomersAdobe, Airbnb, Expedia, Yelp, Nokia, Netflix, Novartis.Pearson, 3M, Towers Watson, NBC, Essar, Serko, etc.
Type of CloudVirtual Private Cloud (VPC)Virtual Network
Connection typeDirect ConnectExpressRoute
Pricing modelsFree Tier Per Hour Free Trial Per Minute No change for stopped Pay for EBS volumeFree Trial Per Minute
Government CloudAWS has an edge as far as government cloud offerings.Limited reach for government cloud offerings.
Support for Hybrid cloudDoes not offers the best of hybrid cloud support.With Hybrid Cloud, organizations can integrate onsite servers with Cloud instances.
EcosystemAWS has a software marketplace with an extensive partner ecosystem.With very few Linux options, Azure doesn’t’ have a big ecosystem.
Support for Big DataEBS storage is ideal for handling big data.Standard storage has many issues for big data, and therefore you need premium storage.
MaturityMore mature cloud environment for big data.The less mature environment for big data.
Machine accessIn AWS machine can be accessed separately.Machines are grouped into cloud service and respond to the same domain name with various ports.
SalaryThe average salary for “AWD engineer” is approximately $141,757 per year for Software Architect.The average salary for “Microsoft Azure” ranges from approximately $113,582 per year.
Key featuresZero setups, Detail Monitoring, Auto-scaling groups.Start-up friendly, High performance, Low cost.
Long term data archivingAllows long term data archiving and retrieval.Does not offer any long term data archiving and retrieval option.
SecuritySecurity is provided using defined roles with permission control feature.Provides security by offering permissions on the whole account.

Which one is better AWS or Microsoft Azure?

Now, let’s see AWS vs Azure which is better for your needs?

We have tried to shower some light on AWS vs Azure debate in this article. There is no clear winner in this AWS Azure battle of cloud service providers. Comparing Azure and AWS is extremely difficult as both continue to launch new pricing structures, new products, and new integrations. Microsoft Azure has increased its market share in the last couple of years, but not to an extent where there is a real contest between the two companies at least for the near future.

 The decision to choose either of the platforms depends on the needs of organizations how AWS vs Azure comparison meets those requirements.

 Therefore, the final selection will be depend on the need of your organization. And also if you want to learn AWS or Azure then please check out Devopsschool.com

Tagged : / / / /

What is EKS and How EKS can help you?

In simple line, Amazon EKS is generally available, bringing fully-managed Kubernetes to AWS.

Amazon launched Amazon EKS in November at its re:Invent 2017 conference. Till the time this article is written, Amazon EKS is available in the US East (N. Virginia) and US West (Oregon) Regions only.

The cost of running EKS is $0.20 per hour for the EKS Control Plane, apart from EC2, EBS, and Load Balancing prices for resources that run in your account.

How does Amazon EKS work?

Amazon EKS works by provisioning (starting) and managing the Kubernetes control plane for you. At a high level, Kubernetes consists of two major components – a cluster of ‘worker nodes’ that run your containers and the control plane that manages when and where containers are started on your cluster and monitors their status.

Without Amazon EKS, you have to run both the Kubernetes control plane and the cluster of worker nodes yourself. With Amazon EKS, you provision your cluster of worker nodes using the provided Amazon Machine Image (AMI) and AWS CloudFormation script and AWS handles provisioning, scaling, and managing the Kubernetes control plane in a highly available and secure configuration. This removes a significant operational burden for running Kubernetes and allows you to focus on building your application instead of managing AWS infrastructure.

Major Features of Amazon Elastic Container Service for Kubernetes (EKS)
Amazon Elastic Container Service for Kubernetes (EKS) is a managed Kubernetes service that makes it easy for you to run Kubernetes on AWS without needing to install, operate, and maintain your own Kubernetes control plane.

  1. Availability and Scalability of Nodes – Amazon EKS automatically manages the availability and scalability of the Kubernetes control plane nodes that are responsible for
    1. Starting and stopping containers,
    2. Scheduling containers on virtual machines,
    3. Storing cluster data, and other tasks.
  2. Health check of Nodes – Amazon EKS Automatically detects and replaces unhealthy control plane nodes for each cluster.
  3. Amazon EKS Integration – Great Integration with AWS networking and security services, such as Application Load Balancers for load distribution, IAM for role based access control, and VPC for pod networking.
  4. Managed Kubernetes Control Plane – Amazon EKS provides a scalable and highly-available control plane that runs across multiple AWS availability zones.
  5. Kubernetes Masters in three Availability Zones – Amazon EKS runs the Kubernetes control plane across three Availability Zones in order to ensure high availability, and it automatically detects and replaces unhealthy masters.
  6. Amazon EKS with IAM Authentication – Amazon EKS integrates Kubernetes RBAC (the native role based access control system for Kubernetes) with IAM authentication through a collaboration with Heptio. You can assign RBAC roles directly to each IAM entity allowing you to granularly control access permissions to your Kubernetes masters.
  7. Amazon EKS with VPC Support
    Your EKS clusters run in an Amazon VPC, allowing you to use your own VPC security groups and network ACLs. No compute resources are shared with other customers. This provides you a high level of isolation and helps you use Amazon EKS to build highly secure and reliable applications.
  8. Container Interface – EKS uses the Amazon VPC CNI to allow Kubernetes pods to receive IP addresses from the VPC means The Container Network Interface for Kubernetes uses Elastic Network Interfaces to provide secondary IP addresses for Kubernetes Pods.
  9. Amazon EKS Logging
    Amazon EKS is integrated with AWS CloudTrail to provide visibility and audit history of your cluster and user activity. You can use CloudTrail to view API calls to the Amazon EKS API.
  10. Amazon EKS with EBS – Kubernetes PersistentVolumes (used for cluster storage) are implemented as Amazon Elastic Block Store (EBS) volumes.
  11. Amazon EKS with Route 53 – The External DNS project allows services in Kubernetes clusters to be accessed via Route 53 DNS records. This simplifies service discovery and supports load balancing.
  12. Amazon EKS Support – Amazon EKS runs up-to-date versions of the open-source Kubernetes software, so you can use all the existing plugins and tooling from the Kubernetes community.

Reference
EKS Getting Started Guide
EKS Publication
EKS FAQ

Tagged : / / / / / /

Introduction of containers services at Amazon AWS

Here are the following Services which is offered by AWS at present which will help you to onboarding Containers on AWS platforms.

Amazon Elasitc Container Services (ECS)

Amazon Elasitc Container Services (ECS) was introduced in 2014. Amazon EC2 Container Service (ECS) is a cloud computing service in Amazon Web Services (AWS) that manages containers. It enables developers to deploy and manage scalable applications that run on groups of servers called clusters through application programming interface (API) calls and task definitions.

Amazon ECS is a scalable service that is accessible through the AWS Management Console and software developer’s kits (SDKs). It is comparable to Kubernetes, Docker Swarm, and Azure Container Service.

ECS runs your containers on a cluster of Amazon EC2 (Elastic Compute Cloud) virtual machine instances pre-installed with Docker. It handles installing containers, scaling, monitoring, and managing these instances through both an API and the AWS Management Console.

EC2 Container Service includes two schedulers, which enable users to deploy containers based on computing needs or availability requirements. Amazon ECS runs containers on top of EC2 instances, which provides isolation to help businesses achieve compliance

Amazon ECS competes with Kubernetes, Google’s open source container orchestration system. While the container management tools and use cases differ, Kubernetes has the following features that ECS does not:

  • It is deployable to non-AWS clouds and on-premises resources;
  • It has storage options outside AWS; and
  • It receives contributions from the developer community, while not all ECS code is publicly available.

Amazon Elastic Container Repository (ECR)

Amazon Elastic Container Registry (ECR) is a fully-managed Docker container registry that makes it easy for developers to store, manage, and deploy Docker container images. Amazon ECR is integrated with Amazon Elastic Container Service (ECS), simplifying your development to production workflow. Amazon ECR eliminates the need to operate your own container repositories or worry about scaling the underlying infrastructure.

Amazon Elastic Kubernetes Services (EKS)

Amazon Elastic Kubernetes Services (EKS) was introduced by AWS in November 2017 at its re:Invent conference. Amazon Elastic Container Service for Kubernetes (Amazon EKS) makes it easy to deploy, manage, and scale containerized applications using Kubernetes on AWS. Kubernetes control plane that is high availability, with three masters across three availability zones. This is something that used to be challenging to setup yourself. EKS is just running upstream Kubernetes so you can connect to it with kubectl just like a self managed Kubernetes.

Amazon Fargate

Amazon Fargate was introduced by AWS in November 2017 at its re:Invent conference.
AWS Fargate is a new service for running containers without needing to manage the underlying infrastructure.
AWS Fargate is a technology for Amazon ECS and EKS that allows you to run containers without having to manage servers or clusters. With AWS Fargate, you no longer have to provision, configure, and scale clusters of virtual machines to run containers.

Your control plane can just ask Fargate to run a container and Fargate takes care of all the details. Pricing is based on how much CPU and memory you reserve for the container to use, on a per second basis.

 

 

Tagged : / / / / / / / /

List of AWS regions and availability zones

List of  AWS Regions

This is complete list of  AWS regions available currently.

S.No Code Name
1 us-east-1 US East (N. Virginia)
2 us-west-2 US West (Oregon)
3 us-west-1 US West (N. California)
4 eu-west-1 EU (Ireland)
5 eu-central-1 EU (Frankfurt)
6 ap-southeast-1 Asia Pacific (Singapore)
7 ap-northeast-1 Asia Pacific (Tokyo)
8 ap-southeast-2 Asia Pacific (Sydney)
9 ap-northeast-2 Asia Pacific (Seoul)
10 sa-east-1 South America (São Paulo)
11 cn-north-1 China (Beijing)
12 ap-south-1 India (Mumbai)

AWS upcoming regions

 

S.No Code Name
1 N/A OHIO
2 N/A MONTREAL
3 N/A UK
4 N/A INDIA
5 N/A NINGXIA

List of  AWS regions and their availability zones

S.No AWS region code AWS region name Number Of Availability Zones Availability Zone Names
1 us-east-1 Virginia 4 us-east-1a
us-east-1b
us-east-1c
us-east-1e
2 us-west-2 Oregon 3 us-west-2a
us-west-2b
us-west-2c
3 us-west-1 N. California 3 us-west-1a
us-west-1b
4 eu-west-1 Ireland 3 eu-west-1a
eu-west-1b
eu-west-1c
5 eu-central-1 Frankfurt 2 eu-central-1a
eu-central-1b
6 ap-southeast-1 Singapore 2 ap-southeast-1a
ap-southeast-1b
7 ap-southeast-2 Sydney 3 ap-southeast-2a
ap-southeast-2b
ap-southeast-2c
8 ap-northeast-1 Tokyo 2 ap-northeast-1a
ap-northeast-1c
9 ap-northeast-2 Seoul N/A N/A
10 sa-east-1 Sao Paulo 3 sa-east-1a
sa-east-1b
sa-east-1c
11 cn-north-1 China (Beijing) N/A N/A
12 ap-south-1 India (Mumbai) 2 ap-south-1a
ap-south-1b

If you are familiar with AWS CLI you can always check regions and availability zones using following aws cli commands

Find regions using AWS CLI

Command:  aws ec2 describe-regions

Tagged : / /

Getting Started with Amazon Simple Queue Service (SQS)

amazon-simple-queue-service

We’ve put together a list of resources that we think will be useful to you, as you familiarize yourself with Amazon SQS and get started working with it.

Introductory Topics

What is Amazon SQS?
http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/Welcome.html

Getting Started with Amazon SQS:
http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-getting-started.html

How Amazon SQS Queues Work:
http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-how-it-works.html

Best Practices for Amazon SQS:
http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-best-practices.html

Using Amazon SQS Dead Letter Queues:
http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html

Using JMS with Amazon SQS:
http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-java-message-service-jms-client.html

Limits in Amazon SQS:
http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-limits.html

Integration with Other AWS Services

Subscribing an Amazon SQS Queue to an Amazon SNS Topic:
http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-subscribe-queue-sns-topic.html

Monitoring Amazon SQS with CloudWatch:
http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/MonitorSQSwithCloudWatch.html

Managing Large Amazon SQS Messages (Up to 2 GB) Using Amazon S3:
http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-s3-messages.html

Tagged : / / / / /

AWS Storage FAQ

What data is stored in ephemeral storage of an Amazon EC2 instance?

Anything that is not stored on an ebs volume that is mounted to the instance will be lost. For instance, if you mount your ebs volume at /mystuff, then anything not in /mystuff will be lost. If you don’t mount an ebs volume and save stuff on it, then I believe everything will be lost.

You can create an AMI from your current machine state, which will contain everything in your ephemeral storage. Then, when you launch a new instance based on that AMI it will contain everything as it is now.

Meaning of “Warning: Please note that any data on the ephemeral storage of your instance will be lost when it is stopped”

There is a difference between “stop” and “terminate”. If you “stop” an instance that is backed by EBS then the information on the root volume will still be in the same state when you “start” the machine again.

Basically, root volume (your entire virtual system disk) is ephemeral, but only if you choose to create AMI backed by Amazon EC2 instance store.

If you choose to create AMI backed by EBS then your root volume is backed by EBS and everything you have on your root volume will be saved between reboots.

If you are not sure what type of volume you have, look under EC2->Elastic Block Store->Volumes in your AWS console and if your AMI root volume is listed there then you are safe. Also, if you go to EC2->Instances and then look under column “Root Device” of your instance and if it says “ebs”, then you don’t have to worry about data on your root device.

Tagged : / / / /

What is the difference between terminating and stopping an EC2 instance?

terminating-and-stopping-an-ec2-instance

Answer

Terminate Instance

When you terminate an EC2 instance, the instance will be shutdown and the virtual machine that was provisioned for you will be permanently taken away and you will no longer be charged for instance usage. Any data that was stored locally on the instance will be lost. Any attached EBS volumes will be detached and deleted. However, if you attach an EBS Snapshot to an instance at boot time, the default option in the Dashboard is to delete the attached EBS volume upon termination.

Stop Instance

When you stop an EC2 instance, the instance will be shutdown and the virtual machine that was provisioned for you will be permanently taken away and you will no longer be charged for instance usage. The key difference between stopping and terminating an instance is that the attached bootable EBS volume will not be deleted. The data on your EBS volume will remain after stopping while all information on the local (ephemeral) hard drive will be lost as usual. The volume will continue to persist in its availability zone. Standard charges for EBS volumes will apply. Therefore, you should only stop an instance if you plan to start it again within a reasonable timeframe. Otherwise, you might want to terminate an instance instead of stopping it for cost saving purposes.

The ability to stop an instance is only supported on instances that were launched using an EBS-based AMI where the root device data is stored on an attached EBS volume as an EBS boot partition instead of being stored on the local instance itself. As a result, one of the key advantages of starting a stopped instance is that it should theoretically have a faster boot time. When you start a stopped instance the EBS volume is simply attached to the newly provisioned instance. Although, the AWS-id of the new virtual machine will be the same, it will have new IP Addresses, DNS Names, etc. You shouldn’t think of starting a stopped instance as simply restarting the same virtual machine that you just stopped as it will most likely be a completely different virtual machine that will be provisioned to you.

Tagged : / / / / / / /

What’s the difference between ephemeral and volume boot disks?

Different boot sources

There are several different kinds of sources to boot from in the DreamCompute dashboard, but they all need to create some sort of virtual disk for the virtual machine to boot. The virtual disk can use either ephemeral storage or volume block storage. When launching an instance, you have several Boot Source options:

  • Image: Launches an instance from the image you choose onto either an ephemeral disk or a new volume disk.
  • Instance Snapshot: Launches an instance from the instance snapshot you choose onto either an ephemeral disk or a new volume disk.
  • Volume: Launches an instance from an existing bootable volume.
  • Volume Snapshot: Creates a volume from the volume snapshot you choose and then launches an instance using that new bootable volume.

Ephemeral boot disks

Ephemeral disks are virtual disks that are created for the sole purpose of booting a virtual machine and should be thought of as temporary.

Ephemeral disks are useful if you aren’t worried about needing to duplicate an instance or destroy an instance and save the data. You can still mount a volume on an instance that is booted from an ephemeral disk and put any data that needs to be saved on it, instead of using the volume as the root of your OS.

  • Can be snapshotted: Useful for duplicating instances or having a copy of an instance at a certain point in time. Snapshots of ephemeral boot disks are stored as Images and count against DreamCompute’s Image quota.
  • Do not use up volume quota: If you have more instance quota, you can always boot it from an ephemeral disk even if you don’t have any volume quota left.
  • Are destroyed when the instance is terminated: This means you will loose your data if you want to delete an instance to free up some instance quota.

Volume Boot Disks

Volumes are a more permanent form of storage than ephemeral disks and can be used to boot from as well as a mountable block device.

Volume boot disks are useful if you need an easy way to duplicate instances and back them up with snapshots, or if you need a more reliable storage solution for your instance than an ephemeral disk. If you use them, you should plan ahead so that you have enough quota for all of the instances you want to boot.

  • Can be snapshotted: Useful for duplicating instances or having a copy of an instance at a certain point in time.
  • Does not get destroyed when you delete the instance (Unless you select the “Delete Volume on Instance Delete” option): You can delete the instance and your data will still exist as a volume that you can boot from later.
  • Uses your volume quota: This can be pricey if you have lots of instances, or take lots of snapshots.

Source – https://help.dreamhost.com/hc/en-us/articles/217701757-What-s-the-difference-between-ephemeral-and-volume-boot-disks-

Tagged : / / / /

How to Setup AWS Credentials using AWS Command Line Interface?

setup-aws-credentials-using-aws-command

Setup AWS Credentails using AWS Command Line Interface

Install the AWS CLI Using Pip
Please click here complete installation guide.

Test the AWS CLI Installation

 $ aws help

Environment Variables – 

  • AWS_ACCESS_KEY_ID
  • AWS_SECRET_ACCESS_KEY

Step 5: Get a key aws_access_key_id, aws_secret_access_key, region from AWS website, under your 

$ aws configure

Step 6: Setup AWS with key

$  aws configure
AWS Access Key ID [None]: AKIAJB6WCXXXXRKRT5SQ
AWS Secret Access Key [None]: fDBVPhlHzMk70ip5FGHDl/AcmEyMnylwOllc+n4s
Default region name [None]: us-east-1
Default output format [None]:
$  aws s3 list

Step 7: Verify details in ~/.aws/credentials and ~/.aws/config

$ more ~/.aws/credentials
[default]
aws_access_key_id = AKIAJB6WCXXXXRKRT5SQ
aws_secret_access_key = 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

$  more ~/.aws/config
[default]
region = us-east-1

Step 8: Verify AWS CLI setup

$ aws ec2 describe-instances --output table --region us-west-2

The AWS credentials file –

Located at ~/.aws/credentials on Linux, OS X, or Unix, or at C:\Users\USERNAME \.aws\credentials on Windows. This file can contain multiple named profiles in addition to a default profile.

The CLI configuration file –

Typically located at ~/.aws/config on Linux, OS X, or Unix, or at C:\Users\USERNAME \.aws\config on Windows. This file can contain a default profile, named profiles, and CLI specific configuration parameters for each.

Reference
http://docs.aws.amazon.com/cli/latest/userguide/installing.html
http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html
http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html

Tagged : / / / / / / / / / / / / / /