Developing Microsoft Azure and Web Services Innovation
COURTESY :- vrindawan.in
Wikipedia
Microsoft Azure, often referred to as Azure (/ˈæʒər, ˈeɪʒər/ AZH-ər, AY-zhər, UK also /ˈæzjʊər, ˈeɪzjʊər/ AZ-ure, AY-zure), is a cloud computing service operated by Microsoft for application management via Microsoft-managed data centers. It provides software as a service (SaaS), platform as a service (PaaS) and infrastructure as a service (IaaS) and supports many different programming languages, tools, and frameworks, including both Microsoft-specific and third-party software and systems.
Azure, announced at Microsoft’s Professional Developers Conference (PDC) in October 2008, went by the internal project code name “Project Red Dog”, and was formally released in February 2010 as Windows Azure, before being renamed Microsoft Azure on March 25, 2014.
Azure uses large-scale virtualization at Microsoft data centers worldwide and it offers more than 600 services.
- Virtual machines, infrastructure as a service (IaaS) allowing users to launch general-purpose Microsoft Windows and Linux virtual machines, as well as precon figured machine images for popular software packages.
- Most users run Linux on Azure, some of the many Linux distributions offered, including Microsoft’s own Linux-based Azure Sphere.
- App services, platform as a service (PaaS) environment letting developers easily publish and manage websites.
- Websites, Azure Web Sites allows developers to build sites using ASP.NET, PHP, Node.js, Java, or Python and can be deployed using FTP, Git, Mercurial, Team Foundation Server or uploaded through the user portal. This feature was announced in preview form in June 2012 at the Meet Microsoft Azure event. Customers can create websites in PHP, ASP.NET, Node.js, or Python, or select from several open source applications from a gallery to deploy. This comprises one aspect of the platform as a service (PaaS) offerings for the Microsoft Azure Platform. It was renamed Web Apps in April 2015.
- WebJobs, applications that can be deployed to an App Service environment to implement background processing that can be invoked on a schedule, on demand, or run continuously. The Blob, Table and Queue services can be used to communicate between WebApps,XYZ,iOS Software and WebJobs and to provide state.
- Azure Kubernetes Service (AKS) allows you to quickly deploy a production ready kubernetes cluster in Azure. Azure is responsible for managing the control plane and customers get the flexibility to choose/scale the data place (kubernetes worker nodes).
- Azure Active Directory is used to synchronize on-premises directories and enable SSO (Single Sign On).
- Azure Active Directory B2C allows the use of consumer identity and access management in the cloud.
- Azure Active Directory Domain Services is used to join Azure virtual machines to a domain without domain controllers.
- Azure information protection can be used to protect sensitive information.
- Azure Active Directory External Identities are set of capabilities which allow organizations to collaborate with external users including customers and partners.
- Mobile Engagement collects real-time analytics that highlight users’ behavior. It also provides push notifications to mobile devices.
- Hockey App can be used to develop, distribute, and beta-test mobile apps.
- Storage Services provides REST and SDK APIs for storing and accessing data on the cloud.
- Table Service lets programs store structured text in partitioned collections of entities that are accessed by partition key and primary key. Azure Table Service is a NoSQL non-relational database.
- Blob Service allows programs to store unstructured text and binary data as blobs that can be accessed by an HTTP(S) path. Blob service also provides security mechanisms to control access to data.
- Queue Service lets programs communicate asynchronously by message using queues.
- File Service allows storing and access of data on the cloud using the REST APIs or the SMB protocol.
- Azure Communication Services offers an SDK for creating web and mobile communications applications that include SMS, video calling, VOIP and PSTN calling, and web based chat.
- Azure Data Explorer provides big data analytics and data-exploration capabilities
- Azure Search provides text search and a subset of OData’s structured filters using REST or SDK APIs.
- Cosmos DB is a NoSQL database service that implements a subset of the SQL SELECT statement on JSON documents.
- Azure Cache for Redis is a managed implementation of Redis.
- StorSimple manages storage tasks between on-premises devices and cloud storage.
- Azure SQL Database works to create, scale and extend applications into the cloud using Microsoft SQL Server technology. It also integrates with Active Directory, Microsoft System Center and Hadoop.
- Azure Synapse Analytics is a fully managed cloud data warehouse.
- Azure Data Factory, is a data integration service that allows creation of data-driven workflows in the cloud for orchestrating and automating data movement and data transformation.
- Azure Data Lake is a scalable data storage and analytic service for big data analytics workloads that require developers to run massively parallel queries.
- Azure HDInsight is a big data relevant service, that deploys Hortonworks Hadoop on Microsoft Azure, and supports the creation of Hadoop clusters using Linux with Ubuntu.
- Azure Stream Analytics is a Serverless scalable event processing engine that enables users to develop and run real-time analytics on multiple streams of data from sources such as devices, sensors, web sites, social media, and other applications.
The Microsoft Azure Service Bus allows applications running on Azure premises or off-premises devices to communicate with Azure. This helps to build scalable and reliable applications in a service-oriented architecture (SOA). The Azure service bus supports four different types of communication mechanisms:
- Event Hubs, which provide event and telemetry ingress to the cloud at massive scale, with low latency and high reliability. For example, an event hub can be used to track data from cell phones such as coordinating with a GPS in real time.
- Queues, which allow one-directional communication. A sender application would send the message to the service bus queue, and a receiver would read from the queue. Though there can be multiple readers for the queue only one would process a single message.
- Topics, which provide one-directional communication using a subscriber pattern. It is similar to a queue, however, each subscriber will receive a copy of the message sent to a Topic. Optionally the subscriber can filter out messages based on specific criteria defined by the subscriber.
- Relays, which provide bi-directional communication. Unlike queues and topics, a relay doesn’t store in-flight messages in its own memory. Instead, it just passes them on to the destination application.
A PaaS offering that can be used for encoding, content protection, streaming, or analytics.
A global content delivery network (CDN) for audio, video, applications, images, and other static files. It can be used to cache static assets of websites geographically closer to users to increase performance. The network can be managed by a REST-based HTTP API.
Azure has 94 point of presence locations worldwide (also known as Edge locations) as of April 2020.
A web service (WS) is either:
- a service offered by an electronic device to another electronic device, communicating with each other via the Internet, or
- a server running on a computer device, listening for requests at a particular port over a network, serving web documents (HTML, JSON, XML, images).
The use of the term “Web” in Web Service is a misnomer. Web Services do not use the World Wide Web (WWW), a human user interface running on the Internet, but rather a machine-to-machine service running on the Internet using the WWW protocols.
In a web service, a web technology such as HTTP is used for transferring machine-readable file formats such as XML and JSON.
In practice, a web service commonly provides an object-oriented web-based interface to a database server, utilized for example by another web server, or by a mobile app, that provides a user interface to the end-user. Many organizations that provide data in formatted HTML pages will also provide that data on their server as XML or JSON, often through a Web service to allow syndication. Another application offered to the end-user may be a mashup, where a Web server consumes several Web services at different machines and compiles the content into one user interface.
Representational State Transfer (REST) is an architecture for well-behaved Web services that can function at Internet scale.
In a 2004 document, the W3C sets following REST as a key distinguishing feature of Web services:
We can identify two major classes of Web services:
- REST-compliant Web services, in which the primary purpose of the service is to manipulate XML representations of Web resources using a uniform set of stateless operations; and
- arbitrary Web services, in which the service may expose an arbitrary set of operations.
— W3C, Web Services Architecture