Welcome!

@CloudExpo Authors: Yeshim Deniz, Elizabeth White, Pat Romanski, Liz McMillan, Zakia Bouachraoui

Related Topics: @CloudExpo, Mobile IoT, @ThingsExpo

@CloudExpo: Blog Post

Machine Learning - Azure vs AWS By @SrinivasanSunda | @CloudExpo #IoT #Cloud

The importance of machine learning

Machine Learning - Azure vs AWS

Machine Learning, which is a process to predict future patterns and incidents based on the models created out of past data, is definitely the most important part of the success of the Internet of Things in the enterprise and consumer space. The main reason is that without machine learning the entire backbone of the Internet of Things - event acquisition, event processing , event storage and event reporting - is merely a live display of events happening elsewhere and will not provide any value to its consumers. Think of a smart monitor in an oil well that monitors various climatic conditions and other factors that can cause a failure; unless the monitor is able to predict of a failure and corrects itself the usage of such solution is quite limited.

MLPaaS - Azure Vs AWS
In that context, Machine Learning Platform as a Service (MLPaaS) has been a major component of the major cloud platforms. Both Azure and AWS have equivalent services, the below thoughts are comparison of major building blocks of a machine learning service and how the respective cloud providers handle them.

Machine Learning Component

Azure

Amazon AWS

Training Data Enablement: As the machine learning falls in to two major categories of Supervised Learning and Unsupervised Learning, proper training data is one of the most important aspect of a success of a machine learning experiment and how well a MLPaaS facilitates availability and usage of training data is a key factor.

Azure ML has extensive options for data input and manipulation. The Data sources could be any of, Hive, Azure SQL, Blob Storage, web based data feeding engines and even the data could be manually entered.

 

Never a input data from source could be directly used as a training data and hence in this context, Azure ML has an array of transformation functions like, Filter, Data Manipulation, Split and Reduce.

 

With the effective use of above options Azure ML will provide an effective means of integrating training data as part of the machine learning process.

AWS Machine Learning also supports multiple data sources within its eco system.

 

Amazon Simple Storage Service (Amazon S3) is storage for the AWS cloud platform. Amazon ML uses Amazon S3 as a

primary data repository.

 

Amazon ML allows you to create a data source object from data residing in Amazon Redshift, which is the Data Warehouse Platform as a service.

 

Amazon ML also allows you to create a datasource object from data stored in a MySQL database in Amazon

Relational Database Service (Amazon RDS).

 

Also Amazon ML provides a rich set of data transformation functions like, N-gram transformation, Orthogonal Sparse Bigram transformation and more.

Support For Machine Learning Life Cycle: Developing and consuming a machine learning model for an enterprise use case is in itself a eco system. There are multiple players like data scientist, data analyst, ETL Developers, Visualization Engineers and business users are involved and each one plays an important role. Hence any machine learning service should support this life cycle of work flow.

One of the key success factor of Azure ML is the positioning of Azure ML studio and its user friendly graphical interface and supporting workflows which makes the machine learning process highly collaborative and interactive.

The concept of Workspace nicely allows for separation of duties as well as seamless integration with rest of Azure eco system like storage. Typically Data scientist initially creates models and train them with various parameters and data combinations \. Also rich Visualization features help data scientist to test the results easily.

Once a model is trained successfully, Azure provides easy options to create a scoring experiment which can be ultimately published as a web service to be consumed by client applications.

The graphical interface of Amazon ML provides a very similar experience and features in terms of creating and training models.

 

While there is no separation between a training and scoring experiment, Amazon ML provides lot of options for model evaluation and interpretation.

 

When we evaluate an ML model, Amazon ML provides an industry-standard metric and a number of

insights to review the predictive accuracy of the model.

Algorithm Support: This is probably the most important piece of evaluating a machine learning service as there are different algorithms which can be applied for different situations.

While almost all machine learning solutions are covered under the three major categories namely, Clustering, Classification and Regression based on whether we needed a supervised machine learning or unsupervised machine learning.

However the real challenge could be the particular algorithm that suit the above 3 analysis categories.

Azure machine learning supports a whole array of algorithms be it, Decision Trees, Logistic Regression, Bayes Point Machine, Nerual Networks, K-Means ... to just name a few.

One important aspect of Azure machine learning is the democratization of these advanced algorithms that even without any programming knowledge of machine learning languages like R we could effectively deploy them for given use cases.

Amazon ML supports three types of ML models: binary classification, multiclass classification, and regression.

 

As the name indicates, Binary classification is used to predict one of two possible out comes.

 

Multi class classification is used to predict one of three or more possible out comes.

 

Regression is used to predict a continuous variable which is a number.

However as per documentation there does not seem to be an option within the Amazon ML to select individual algorithms like a K-Means as part of evaluating the model.

Consumer Applications: Once the model is trained it has to be put into the practice and the most natural usage is that the results of machine learning are to be used as part of consumer application and in todays context it is mostly a mobile based consumer. So a robust machine learning service should support multiple consumer applications too.

Azure machine learning provides ready to go client side code for the web services that are published. It supports clients for both request and response model as well as batch based execution. Azure machine learning also produces sample client side code in C#, Python and R. It provides an easy interface for testing the request and response parameters. When it comes to batch execution, Azure machine learning provides APIs for submitting and starting a job and sample code is available in C#, Python and R. With this support Azure machine learning provides excellent support for developing client side applications.

Amazon support both batch predictions as well as real time predictions with the support of API for each of the tasks.

 

Amazon ML API has batch prediction APIs like, Create, Update, Delete which can be used for creating batch applications.

 

Similarly the real time machine learning API samples are available in platforms like Java, Python and Scala.

Pricing aspects are not discussed in the table because PaaS solutions like machine learning are charged per usage and the pricing is either per prediction or by per prediction hour and typically enterprises would worry more about the capabilities of the platform in choosing a machine learning service.

Also without doing significant machine learning case studies we cannot comment on the algorithms and their support; however, a higher level view indicates that Azure Machine Learning supports more algorithms and individual choice of algorithms within a category like clustering, classification which may be of interest to seasoned data scientists. Also most data scientists predict the future of machine learning will be on unsupervised learning which has got a good support from Azure in the form clustering algorithms, especially the K-Means algorithm.

More Stories By Srinivasan Sundara Rajan

Highly passionate about utilizing Digital Technologies to enable next generation enterprise. Believes in enterprise transformation through the Natives (Cloud Native & Mobile Native).

CloudEXPO Stories
Nicolas Fierro is CEO of MIMIR Blockchain Solutions. He is a programmer, technologist, and operations dev who has worked with Ethereum and blockchain since 2014. His knowledge in blockchain dates to when he performed dev ops services to the Ethereum Foundation as one the privileged few developers to work with the original core team in Switzerland.
Most DevOps journeys involve several phases of maturity. Research shows that the inflection point where organizations begin to see maximum value is when they implement tight integration deploying their code to their infrastructure. Success at this level is the last barrier to at-will deployment. Storage, for instance, is more capable than where we read and write data. In his session at @DevOpsSummit at 20th Cloud Expo, Josh Atwell, a Developer Advocate for NetApp, will discuss the role and value extensible storage infrastructure has in accelerating software development activities, improve code quality, reveal multiple deployment options through automated testing, and support continuous integration efforts. All this will be described using tools common in DevOps organizations.
Dynatrace is an application performance management software company with products for the information technology departments and digital business owners of medium and large businesses. Building the Future of Monitoring with Artificial Intelligence Today we can collect lots and lots of performance data. We build beautiful dashboards and even have fancy query languages to access and transform the data. Still performance data is a secret language only a couple of people understand. The more business becomes digital the more stakeholders are interested in this data including how it relates to business. Some of these people have never used a monitoring tool before. They have a question on their mind like "How is my application doing" but no idea how to get a proper answer.
DXWordEXPO New York 2018, colocated with CloudEXPO New York 2018 will be held November 11-13, 2018, in New York City and will bring together Cloud Computing, FinTech and Blockchain, Digital Transformation, Big Data, Internet of Things, DevOps, AI, Machine Learning and WebRTC to one location.
@DevOpsSummit at Cloud Expo, taking place November 12-13 in New York City, NY, is co-located with 22nd international CloudEXPO | first international DXWorldEXPO and will feature technical sessions from a rock star conference faculty and the leading industry players in the world. The widespread success of cloud computing is driving the DevOps revolution in enterprise IT. Now as never before, development teams must communicate and collaborate in a dynamic, 24/7/365 environment. There is no time to wait for long development cycles that produce software that is obsolete at launch. DevOps may be disruptive, but it is essential.