- Understanding Cloud Computing
- Microsoft Azure as Cloud Computing Platform
- Infrastructure as a Service (IaaS)
- Platform as s Service (PaaS)
- Software as a Service (SaaS)
- Microsoft Azure Features
- Microsoft Azure Vs Amazon Web Services Vs Google Cloud
- Cloud Computing Application Course by University of Illinois
- Microsoft Azure Services
- Compute Services
- Storage Services
- Networking Services
- Monitoring and Management
- Web and Mobile
- Integration Services
- Data Services
- Security and Identity
Understanding Cloud Computing:
Before understanding cloud computing, we need to first understand the term “Cloud” in computer technology. We can say that “Cloud” is nothing but a combination of computer’s hardware, storage, network services, and various software platforms like databases, operating systems and programming languages over the internet, i.e. public or private network.
Cloud computing provides various type of services to client for deploying and managing their product in cloud environment. There are so many vendors offering a Cloud computing platform among them 3 are more popular, “Microsoft”, “Google” and “Amazon”. Here we are discussing about “Microsoft Azure as a Cloud Computing Platform”.
Back to Top
Microsoft Azure as Cloud Computing Platform:
Azure is a cloud computing platform provided by Microsoft. It’s provides cloud platform in very flexible and open manner for developing, deploying and managing application and services. Microsoft azure also offers on demand storage capacity and cost means client need to pay only when they use the services. Client can easily scale and upscale the resources based on their requirement.
When any client wants to deploy the application, then the basic requirement is as like bellows
“Application”, ”Data”, ”Run Time”, “Middleware”, “Operating System”, “Virtualization”, “Servers”, “Storage”, and “Networking”. Before cloud computing platform like Microsoft Azure, Client have responsible for arranging and managing all of the required things. Microsoft Azure resolve these problem by providing 3 types of cloud computing service model.
Infrastructure as a Service (IaaS):
Microsoft Azure provides Virtual Machine functionality to end client for deploying and managing their application. With the use of Microsoft Azure “Virtual Machines”, Client have only responsible for “Application”, “Data”, “Run time”, “Middleware”, and “Operating System”. “Virtualization”, “Servers”, “Storage”, and “Networking” will be managed by Microsoft Azure.
Platform as a Service (PaaS):
Microsoft Azure provides various platforms for deploying and managing databases, web applications, web api, and mobile applications. By using Platform as a Service, Client have only responsible for “Application”, and “Data”. All other requirement like “Run time”, “Middleware”, “Operating System”, “Virtualization”, “Servers”, “Storage” and “Networking” are managed by Microsoft Azure. Client also have ability to managed the resource using Microsoft Azure Portal Management.
Microsoft Data Services (SQL Server, Cosmos DB) , App Services are very good example of Platform as a Service.
Software as a Service (SaaS):
Cloud Computing platform does not provide Software as a Service model. Microsoft Azure provides the Platform where client can deploy the application and managed it as like software as a service for other clients. For example, Microsoft Office 365 is best example of Software as a Service.
Microsoft Azure Features:
- Microsoft Azure makes the client life easier by providing cost effective platform for managing and deploy the applications.
- Client has able to easily scale up the resources and scale down the resources whenever they wants. So Microsoft Azure provides the better solution for “Value for money” to end user.
- Microsoft Azure also provides the support for managing the performance of databases when the volume of data will increase day by day.
Microsoft Azure Vs Amazon Web Services (AWS) Vs Google Cloud Services
Lets compare different Cloud Computing Platforms in this Microsoft Azure Tutorial.
|Microsoft Azure||AWS||Google Cloud|
|Cloud Management Software||Proprietary||Proprietary||Proprietary|
|One Account For All Locations||Yes||Yes||Yes|
|Vertical scaling without reboot||No||No||No|
|Image from cloud server||Yes||Yes||Yes|
|Upload cloud server image||Yes||Yes||Yes|
|Download cloud server image||Yes||Yes||Yes|
|Hypervisor||Hyper-V Server||Xen Server||KVM Server|
|RAM||768 MB – 448 GB||630 MB – 1952 GB||0.6 GB – 624 GB|
|CPU Cores||1 – 16
(32 in West US)
|1 – 128||1 – 96|
|Storage||Instance: 160 GB – 48 TB
EBS: 1 GB – 20 TB
|1 GB – 32 TB||1 GB – 64 TB|
|SSD Storage Available||Yes||Yes||Yes|
|Resource usage monitoring (CPU, RAM)||Yes||Yes||Yes|
|Cloud Files service||Yes||Yes||Yes|
- Roy H. Campbell, Professor of Computer Science.
- Reza Farivar, Data Engineering Manager at Capital One, Adjunct Research Assistant Professor of Computer Science.
Cloud Computing Application Online Course covers multitude of technologies comprising latest concepts of Cloud Computing.
- Cloud Computing Applications, Part 1: Cloud Systems and Infrastructure
- Introduction to Cloud Computing.
- Foundations – Containers, Virtual Machiens, JVM.
- MAAS, PAAS, Web Services
- Storage – Ceph, SWIFT, HDFS, NAAS, SAN, Zookeeper.
- Cloud Computing Applications, Part 2: Big Data and Applications in the Cloud
- Spark, Hortonworks, HDFS, CAP
- Large Scale Data Storage
- Streaming Systems
- Graph Processing and Machine Learning
Microsoft Azure Services
- Virtual Machine: Client have able to deploy any application to any server with virtually. Microsoft Azure Virtual Machine provides the flexible way to client for managing there hosting environment.
- Virtual Machine Scale Sets: It is a compute resource provided by Azure that can be used to deploy and manage an identical “Virtual Machines” set. It’s support auto scale feature and hence are provide major benefit to client where computing requirements vary over time.
- Azure Container Service: By using Azure Container Service, Client have able to make their application portable to make it run on any system, without caring about the target and or source system environments.
- Azure Container Registry: It is used for keeping the container images very near the deployments for reducing costs as well as latency.
- Batch: Azure provides auto scale features by providing various batch likes “tens”, “hundreds”, or “thousands” of Virtual Machines with staging data. Client has able to choose the operating system i.e. “Windows” or “Linux” depending on their requirement. The best advantage is, “Pay only for only consuming services”.
- Function: Azure provide cloud computing development by using “Functions”. Developer can write code without taking care about the deployment server and infrastructure. We can say such type of architecture is “Server less” architecture. It is used for executing background task.
- Service Fabric: It is either a stateless or state full compute service that manages the execution, lifetime, and complexity part and code components. We can design micro service based architecture by using Service Fabric.
- Cloud Services: Client does not worry about hardware and networking, they just deploy their code and all are the set. Azure Cloud services support multiple programming languages like “.NET”, “C#”, “Java”, “Node.JS”, “Python”.
- Blob Storage: It is used for storing any type of data in the cloud as objects/blobs for ex, text, binary data, media file, etc. It is also used for content distribution, backup and also for big data analytics.
- Queue Storage: It is used for creating a distributed system or loosely coupled system architecture. It is provide a queuing service for managing the messages for communicating between decoupled components.
- Table Storage: It is used for storing petabytes of semi-structured data. It is also used for reducing a cost. It is always available, so we can say that downtime of Table Storage is 0.
- File Storage: It is used for storing a static file and resources on the cloud. It is very easy cloud migration without any code changes.
- Virtual Network: Azure Virtual Network provides you a very high secure and isolated environment for running your applications to virtual machines. Client have ability to use own IP Addresses, define own subnets, designing own access control policies and much more. Client have used Cloud computing feature via virtual network in such a way that they used own datacenter.
- Load Balancer: Microsoft azure provide built-in load balancing functionality for virtual machines for cloud computing functions. With this unique feature client have able to create highly scalable and maintainable applications within a couple of minutes. Microsoft azure load balancer supports various TCP/UDP – based protocols for example HTTP, HTTPS, SMTP and also protocol used for voice and video messaging applications.
- Application Gateway: Microsoft Azure Application Gateway provide the flexibility to the client for application-level routing and also a load balancer services for designing and deploying a highly secure, available and scalable web application in Microsoft Azure. Clients have ability to control the gateway size and scaling of their deployment based on their customized needs.
- VPN Gateway: Microsoft Azure VPN Gateway provide the flexibility to client for connecting their on-premises networks to Microsoft Azure via sites-to-site Virtual Private networks in a very similar way that client set up and connecting to their various remote branch offices. The VPN Gateway connectivity is design by Microsoft Azure in such a secure manner and also uses the various industry standard protocols like Internet Protocol Security (IPSEC) and Internet Key Exchange (IKE).
- Content Delivery Network (CDN): Microsoft Azure provides a smart way to manage the static content of your applications. Content Delivery Network playing a major role for ensuring a consistent user experience. In today’s era, all the applications (websites or mobile apps) containing streaming media, gaming logic, and IOT endpoints, video and images. Microsoft Azure Content Delivery Network guarantees that it can reduce the loading times, saving bandwidth and also increase responsiveness so client will get maximum user experience.
- Azure DNS: Microsoft Azure provides the flexibility to client that, they can manage their Domain Name System in Azure platform via Azure DNS. Client has able to manage their DNS records using the same username and password and support contract as well as billing support. Azure DNS is responsible for seamlessly integrate DNS updates and azure-based services and also streamlined client end-to-end deployment process.
- Traffic Manager: Microsoft azure provides the flexibility to client that, they can manage the traffic in three methods for example 1) fail-over, 2) performance and 3) weighted round robin. Clients have ability to choose any one of them depending on the application or scenario. Traffic manager also provides various many other features also like improvement in the availability of applications by monitoring your azure services and external websites and services, Traffic manager is responsible for automatically re-direction your customer to a new location when any failure occurs.
- Express Route: In most of the cases that, client want the connection between on-premises environment and cloud computing environment, Microsoft Azure best suite in these requirements via Express Route. Clients have able to create connection between on-premises environment and Azure data centers and infrastructure using Express Route. Express route provides the more reliability, lower latency and faster speed when comparing with typical internet connections. Transferring the data between on-premises and azure using Express Route gives the significant cost benefits to client.
Monitoring and Management:
- Microsoft Azure Portal: Microsoft Azure provides the User Interface for managing all the cloud computing services provided by Azure. Client have able to manage their web apps, databases, content delivery network, domain name system, virtual machine, virtual networks, etc. from one place only. Clients also have able to identify the success and failure of requests from Azure Portal.
- Azure Resource Manager: Microsoft Azure provides flexibility to their clients for creating and designing a single declarative template for defining an infrastructure and dependencies for their web apps using Azure Resource Manager. Its enables the clients to repeatedly deploy their web app and also guarantees that their resources are deployed in consistence state. Azure Resource Manager Templates is flexible enough for using for the entire clients environment such as development, test, staging and production.
- Automation: Microsoft Azure provides flexibility to their client for automating a frequent, time-consuming cloud management tasks. Clients have able to automate the deployment process of their web apps. Microsoft Azure Automation helps the client to focus more in business value work; Azure Automation handles all of other deployment and hosting tasks.
Web and Mobile:
- Web Apps: Microsoft Azure provides the flexibility to their client for build and deploys their web application to the Azure Web Apps. Clients have able to deploy the web app that can write in .NET, PHP, Python, Node.JS and Java. Clients have also able to create a deployment slot for their web apps. So during single deployment, they have able to create an environment for staging and production.
- Mobile Apps: Microsoft Azure provides the flexibility to their client for deploying and managing their mobile apps for IOS, Android and cross platform to one place i.e. Mobile Apps. Cloud services. Clients have able to create cross platform application using XAMARIN using C# and then deploy the application in Microsoft Azure Mobile Apps.
- API Apps: Microsoft Azure provides the flexibility to their client for build and deploys their web API to the Azure API Apps. Clients have able to deploy the web API that can write in .NET, PHP, Python, Node.JS and Java. Clients have also able to create a deployment slot for their web API. So during single deployment, they have able to create an environment for staging and production.
- Notification Hubs: Microsoft Azure provides the flexibility to their client for notification services for their mobile apps. Client also has managed notification push service using Microsoft Azure Notification Hubs. Notification hubs are a scalable engine for push notification to mobile. Using Notification Hubs client can quickly send millions of notification to various types of mobiles (IOS, Android, Windows and much more.)
- Logic Apps: Microsoft also supports Software as a Service by Logic Apps. Clients also have flexibility to connect existing apps, data and devices from anywhere, on-premised or in cloud environment. The Logic apps include Sales force, Office 365, Dynamic CRM and much more.
- Azure Search: Microsoft provides the flexibility to their client for search capabilities to their website or application. The website or application doing great if the search mechanism is more powerful. Powerful means retrieving most relevance data-information based from billions of data, so the end user has able to find the information that they really needs.
- Event Hubs: Microsoft Azure provides the flexibility to their client for designing a distributed architecture for their web applications using Microsoft Azure Event Hubs. Event Hubs is a platform for managing highly scalable data and their event ingestion service that are capable of receiving millions of event per second and processing the same.
- Service Bus: Microsoft Azure provides the flexibility to their client for designing a distributed architecture for their web applications using Microsoft Azure Service Bus. Clients have to use Service Bus when they need highly-reliable cloud messaging service between services and applications. When the client web application will be in offline or down then also the other application used their data from service bus. So, with the help of Service Bus, Two applications communicate with each other in offline mode also.
- SQL Service Stretch Database: Microsoft Azure provides the flexibility to their end client for managing on-premises databases as well as Azure databases by using of SQL Service Stretch Database. It is used for stretch cold and warm transactional data from Microsoft SQL Server 2016 to Microsoft Azure. The benefits of stretch database are that they provide longer retention time for retrieving data without breaking the bank.
- SQL Database: Microsoft Azure provides the flexibility to their client for using platform as a service for managing SQL Server database of their applications. Using Azure SQL Database, Client doesn’t need to manage their data in their data centers. Azure SQL Database also provides the flexibility for using geo graphical location, so the data retrieval time is very less. Azure SQL database also support for managing database performance and backup.
- Document DB: Microsoft Azure provides the flexibility to their client for using platform as a service for managing NO SQL database using Document DB. Using Document DB, Client doesn’t need to manage their NO SQL data in their data centers. Document DB Database also provides the flexibility for using geo graphical location, so the data retrieval time is very less. Microsoft Azure also provides Azure Cosmos DB for NO SQL Database, Azure Cosmos DB provide the flexibility to use various type of NO SQL database like, Mongo DB, Graph DB, Document DB etc.
- Redis Cache: Microsoft Azure provides the flexibility to their client for using platform as a service for managing Key- Value storage database using Redis Cache. Using Document DB, Client doesn’t need to manage their own Key-Value storage data in their data centers.
Security and Identity:
- Key vault: In any kind of web application, security plays a major role. All application have primary requirement for security. Using Microsoft Azure Key Vault security mechanism, client have design their application security using secure encrypt key and secret password by using Key Vault. Key Vaults generating passwords using keys stored in hardware security modules like HSMs.
- Azure Active Directory: Client also secures their application using Azure Active Directory features. It is the same way as Windows Active Directory, but in cloud environment and much more secure then windows active directory. Clients have able to secure their application in two ways 1) username and password and 2) token based authentication. Azure Active directory support bearer and JWT token for security. Azure Active Directory also support for authorization, means client can manage their users and their roles.
- Azure AD B2C: Azure Active Directory also provides business to customer service. Means external users integrate with application using azure active directory authentication and authorization.
- Azure AD Domain Services: Azure Active directory also provide the Domain Services for providing high-performances, scalable and manages various types of domain services like LDAP, Kerberos etc. With the single click of a button, Client administrator can enable for managing domain services for virtual machines and applications deployed in Microsoft Azure Cloud Services.
- Multi-Factor Authentication: Microsoft Azure also support two factor/multi authentication mechanism same like Google Two Factor authentication. Clients have able to make more secure application using Multi-Factor Authentication.
We will cover more practical scenarios in this Microsoft Azure Tutorial soon.
Back to Top