AI Learning Path for Novice

Learning AI by Doing It As a person who does not have a perfect background on Mathematics and Basic Science, learning AI is somewhat challenging. However, AI is not a new kid on the block. If you want to start to learn AI by today, you shall find numerous things to learn and it will become complicated. On this article, I want to share about how to learn AI with the minimum effort at the beginning and then increasing based on your need. I split the steps into three major steps: Level 1 (Fundamental), Level 2 (Associate), and Level 3 (Expert). As a case study, I use Microsoft ecosystem to start the learning process. Let's get started. Level 1 Fundamental Start to learn what is AI all about. Think the AI as a solution rather than a set of mechanism / process. On this level, you should learn what AI impact in the society. On this level, you will learn AI as a black box that empower you to do more. You can start by understanding the AI on Azure. If you want to learn how AI is applied in the cloud computing. After you grab the fundamental, try to explore which one do you find most interested to understand. If you interest with image / audio / visual, you can start learning how to use AI on computer vision If you interest with speech / text / understand the meaning, you can start learning how to use AI on natural language processing If you interest with chatbot, you can start learning how to use AI on chatbot Enriching your knowledge about the AI in this MOOC Course After you grab the fundamental knowledge my recommendation is to join AI-900 exam to validate your knowledge. medianet_width = "600"; medianet_height = "250"; medianet_crid = "858385152"; medianet_versionId = "3111299"; Level 2 Associate On this level, you will learn how to develop customized AI solution based on the 'existing' model. You will need Microsoft Cognitive Services. It is a set of services that can be extended to provide a set of AI service. Azure Machine Learning Studio. It is a tool to design, develop, and deploy the AI solution. You can start the learning process by Understanding the role and the benefit of cognitive services. Azure Cognitive Language Services Azure Cognitive Speech Services Azure Vision Services Azure Decisions Azure Search Creating a model with Azure Machine Learning Studio by learning this course to learn Try to build the classification model Try to build the clustering model Try to build the regression model After this course, you can join AI-100 exam to validate your knowledge as AI engineer Level 3 Expert On this level, you will learn custom development of AI solution based on the 'niche' problems that need you to build the model from the scratch. You will need Visual Studio / Visual Studio Codes. SQL Server / Azure Data Lake / Azure Storage or any data solution that can help you to build and to maintain your model. You can start the learning process by Understanding the option to build machine learning Choosing the right tools If your computer is not sufficient you can try the Data Science Virtual Machine If your computer is good enough you can build the AI Solution with AI tools with Visual Studio Learn ML.NET if you are .NET developer, I recommend you to use Visual Studio 2019 or newer. Learn Python if you are non .NET developer, I recommend you to use Visual Studio Codes. There is a lot of option to learn after this. For example, you can learn how Deep learning, AI on IOT, AI works on data analytics, how to use ML Flow in Databricks, or using R as your choice of your programming language. After this course, my recommendation is to visit Azure Architecture Center to understand the recommended architecture to build better solution. You can learn further by clicking the links. medianet_width = "600"; medianet_height = "250"; medianet_crid = "858385152"; medianet_versionId = "3111299";

Accelerating .NET development in AWS

.NET is a first-class citizen in Microsoft Azure. However, you might have a customer who want to develop with .NET but use their existing Amazon AWS infrastructure. Is it hard to start with non-Microsoft environment? This article shows my experience when having Microsoft .NET solution but hosted in AWS. Terminology between AWS and Azure As a developer, we might think that is a solution in AWS does not exist in Azure (or vice versa). The Good News are cloud computing environment in Azure and AWS have similar terminology. Is just like buying a coke with brand Coca Cola vs Pepsi, you will have similar terminology Amazon EC2 vs Azure VM S3 vs Azure Storage Amazon RDS vs Azure SQL Dynamo DB vs Cosmos DB Elastic Beanstalk vs App Services medianet_width = "600"; medianet_height = "250"; medianet_crid = "858385152"; medianet_versionId = "3111299"; You can find a long list of this comparison here. In conclusion, you do not need to worry that your solution is not exist in AWS. .NET Support for Developer Amazon and Microsoft are open platform cloud computing environment. Therefore, you will find the .NET solution cam be deployed there through IaaS or PaaS environment. However, if you want to develop the .NET solution that utilize the AWS services (i.e. S3) you can download AWS Toolkit for Visual Studio. This is a tool that help you connect, manage, and consume the AWS infrastructure directly in your Visual Studio. You can download the toolkit for Visual Studio 2008, 2010, 2012, 2013, 2015, 2017, and 2019 here. AWS Toolkit for Visual Studio Codes. If you are using Visual Studio Codes the AWS toolkit is ready for you. Just search the AWS toolkit and you will find the way You can get see the getting started video here Comparing the Cost between Azure and AWS If your customer, ask you which one is better. You will be said that solution work great. In term of cost, both services are equal. I am hosting a .NET solution in EC2 instance with 4GB RAM, 2 VCPU, and 100 GB HDD, and Windows. I will get I am hosting a .NET solution in Azure VM with similar spec, I will get You can compare between the solution by visiting: Amazon AWS calculator Azure Pricing Calculator So which one do you choose? I recommend you play it around and decide. If your customer requests are AWS, it is a good time to install toolkit! See you next time! medianet_width = "600"; medianet_height = "250"; medianet_crid = "858385152"; medianet_versionId = "3111299";

MLOps a DevOps Culture for Machine Learning

What is MLOps and Why You Should Care? MLOps is a DevOps in Machine Learning Project. Just imagine you have a project to build an AI 'empowered' software. You need to build the AI feature through machine learning approach. You should build model, test the model, and implement it into your software. There are extra steps you should fulfill and implement the MLOps means you can make sure that the machine learning activity can be well integrated with your DevOps. MLOps = DevOps + ML Project What is the key difference between MLOps and DevOps? MLOps is an extra step in the DevOps. Therefore, some additional activity will be happened in MLOps. Here are the key deference's MLOps is an iteration of experiment. MLOps provides additional iteration to experiment the model. You can put the experiment before the scrum sprint or includes it in the Scrum. MLOps needs to be monitored. When building the model, you need to understand that the model itself need to be monitored carefully. Imagine you have a DGX1 to play with the dataset, you need to monitor the DGX 1 status with Azure Monitor. MLOps needs automation before the model is built. Imagine you have dataset; you might need to pre-processing first. This extra step is part of MLOps MLOps needs to handle model validation. MLOps doesn't use acceptance test, unit test, or code coverage. It uses different approaches. You might need validation set to validate your model. Doing some statistics measurement for error rate or something like that MLOps needs a special member. MLOps might need more than software engine. Data Engineer, Data Science, or AI engineer can be part of MLOps medianet_width = "600"; medianet_height = "250"; medianet_crid = "858385152"; medianet_versionId = "3111299"; How do I get started with MLOps? To get started in MLOps you should learn You should learn how to build machine learning models. You can learn here for free You should learn how to scale your AI solution and ML model. You can learn here for free. You can see the implementation of MLOps here Any Quick Reference for MLOps? We have it for you, you can click to download the PDF file. Case study about MLOps – Download Here MLOps infographic – Download Here MLOps how to implement it – Download Here In the next post, we will learn MLOps in step-by-step. medianet_width = "600"; medianet_height = "250"; medianet_crid = "858385152"; medianet_versionId = "3111299";

Active Backup for Microsoft 365

A lot of organization uses Microsoft 365 for their productivity. The increasing number of users and data on the cloud make the Microsoft 365 become one of the biggest digital assets on the organization. Although Microsoft 365 provides a data redundancy and data durability. The Cloud provider does not give warranty that the data can be accessed efficiently. In the multi-account environment, there are so many assets for each account such as: Email attachment Contact Files on OneDrive SharePoint Calendar Attachment On this article we want to show you how to do backup activity for our own Microsoft 365 by using the free solution from Synology NAS. medianet_width = "600"; medianet_height = "250"; medianet_crid = "858385152"; medianet_versionId = "3111299"; Introducing Active Backup for Microsoft 365 Organization should control the data so that the data can be accessed efficiently and can be used effectively. To do that we should download and backup or data in the on-premise. The on-premise solution is never been easier without NAS. Active Backup for Microsoft 365 provides you with a great feature such as: Backing up your SharePoint Online, Exchange Online, and OneDrive for Business. Centralized management for multiple accounts. Easy backup for new accounts and sites. Providing retention policy, continuous backup and many more. Storage efficiency and fast backup in your NAS. You can see the details of the feature here How to use Active Backup The video will show you how. You can download the script here. You can read the tutorial here medianet_width = "600"; medianet_height = "250"; medianet_crid = "858385152"; medianet_versionId = "3111299";

Managing Virtual Network in Cloud Computing

Whether you are using Microsoft Azure or using Amazon AWS, networking is fundamental aspect on how the cloud resources can communicate with each other. On this article, we want to show you the fundamental of virtual network management in the cloud. Although the sample will use Azure, it can be implemented in AWS. Let us get started! VNET Peering When you want to communicate between two different virtual networks can communicate each other. For example, you have two VM with separated virtual network. VNET Peering has some characteristics which are: VNET peering can be done in same subscription, different region, or cross tenant (by using CLI) VNET peering can't be overlapping IP Address VNET is not transparent VNET is limited to 100 VNET for one subscription VNET can be transitive when connecting to Gateway or NVA Network Interface medianet_width = "600"; medianet_height = "250"; medianet_crid = "858385152"; medianet_versionId = "3111299"; Each cloud computing resource has one or more network interface. For example, a VM has one or more Network interface. Network interface can be defined as a main identity of the computing resources in cloud computing. Network interface characteristics are: Network interface consists of public and private IP address Network interface is part of subnet that created in VNET Route table will help the network interface to communicate efficiently NSG (Network Security Group) Network security group will help the cloud computing resource secure their communication. NSG contains rule inbound or outbound of security rules. Security rules are worked based on priority based. Lower mean higher priority. There are inbound and outbound rules that can be applied differently. For example, you can block the port 80 for outbound, but allow the port 80 for inbound. You can deploy a specific firewall to identify the port required and blocked for better NSG VPN Gateway VPN Gateway helps you to connect between cloud computing resources with the on-premise resources (private cloud). VPN gateway is cost-effective version for connecting on-premise to cloud. There is high performance connection such as Azure Express Route or AWS Direct Connect.   medianet_width = "600"; medianet_height = "250"; medianet_crid = "858385152"; medianet_versionId = "3111299";

Azure Data Fundamental

The Fun Fact about the data When we build anything, we use data. Start from structured data, unstructured data, and semi-structured data we store the data to retrieve it as information and knowledge. Despite of the data usage, we know that the data in our life is growing. And when we can't store the data in the local storage the cloud is the answer. The question is how we store and manage the data in the cloud. This article will discuss how we store and analyze the data in the cloud era. You can read the data concept here The Data Store You can store the data in two types relational data or non-relational data. In non-relational data you will have Azure Cosmos DB, File, Blob, and many more. You can learn more here In relational data you will have the power of SQL Azure, as well as MySQL, Maria DB and any others database. You can learn more here. If you need high volume transaction without than the Non-relational data is for you. However, for small and tight relation between data you need the relational database such as SQL Server. You can learn more the consideration here. The Data Analytics medianet_width = "600"; medianet_height = "250"; medianet_crid = "858385152"; medianet_versionId = "3111299"; After the data is stored, you can analyze the data for more useful manner. This step knowns as analytics. According to Microsoft they have several products which are? Azure Data Factory who take any data and convert it into format that you need. The ETL process heavily happen in this Azure Data Factory Azure Data Lake who store raw data to ready to retrieve as fast as it can. Azure Data Lake is the main storage for Azure Data Factory Azure Databricks is a tool to provide big data processing, streaming, and machine learning. It can use data lake as a data source Azure Synapse Analytics is an analytics engine. It is designed to process large amounts of data very quickly. Azure Synapse Analytics supports two computational models: SQL pools and Spark pools. Azure Analysis Services enables you to build tabular models to support online analytical processing (OLAP) queries. You can combine data from multiple sources from the data lake, cosmos DB, and off course SQL Azure Azure HDInsight is a big data processing tool based on well-known platform Hadoop.   You can learn more about analytics here. After you have analytics you can pull it into dashboard or report by using Power BI. medianet_width = "600"; medianet_height = "250"; medianet_crid = "858385152"; medianet_versionId = "3111299";

VM, Container, Web App which one do you choose?

In a cloud computing solution, we can host our web application into three models: virtual machine (IAAS), managed server like Web app or EBS (PAAS), or serverless like ECS or Azure Container. So, which one do you choose? The VM If you do not want to spend time to migrate the VM is for you If you need to communicate with the operating system service, the VM is for you If you cannot find the managed server solution / like legacy application with specific framework the VM is for you. The Web App If you build the solution with the supported technology (current web app) If you don't want to control the host OS If you want the great scalability without additional configuration medianet_width = "600"; medianet_height = "250"; medianet_crid = "858385152"; medianet_versionId = "3111299"; The Container. If you want to build microservices architecture rather than monolithic If you need a performance If you want agnostic with a platform You can see how easy to deploy this kind of publish setting in Azure with the Visual Studio   medianet_width = "600"; medianet_height = "250"; medianet_crid = "858385152"; medianet_versionId = "3111299";

Five Things that You Need to do When Designing Cloud Computing Solution

Cloud as a cost center When building solution in the cloud. You might be found that the cloud is a cost center. You can compare that the cloud computing cost you more than the traditional hosting. Therefore, you need to take care the 'go' or 'not go' in the cloud situation. You can answer these five questions. Is my current hosting environment having a bottleneck in term capacity and performance? Is my current solution needs a burst performance when needed or all the time? Is my current solution depending on the on-premise infrastructure? Does my current solution just need to run in seldom occasion? Is my current solution should fulfill the compliance from the specific institution? medianet_width = "600"; medianet_height = "250"; medianet_crid = "858385152"; medianet_versionId = "3111299"; If one of your answer is yes! That you might need cloud. If you do not find a yes answer, please stay on your current solution. However, cloud is costly, and you need take it seriously when designing a solution in the cloud. Because when you are doing improper design you will get inefficiency greater than the conventional hosting. This article will discuss five domain that you need to do when designing cloud computing solution. Five principles when designing the cloud solution Tips 1. Scalable, Resilient, and Manageable This is the first thing you need to consider. Your solution should be scalable by using the power of the cloud. The solution should be elastic so when there is no user you should slow down the computing power Resilient when your solution is needed most, the solution should fulfill the need Manageable the solution should be controlled by the organization with self-management model. You can read these principles in here Tips 2. Understand and Choosing the correct services When building the cloud solution, you have a lot options to do the same things. For example, when you host a web application in Amazon Web Services you can host in LightSail, S3, EC2, or Beanstalks. You need to understand the topology of the product. You can visit Azure Architecture Center to understand the topology product Tips 3. Designing with Cost Optimization Whether you are doing in AWS or Azure, the cost optimization is a must have design. In order to deliver a cost-efficient solution, you should understand Cost model Cost monitoring Budgeting You can see a good checklist here Tips 4. Designing with "Eliminate Waste" When you are designing high performance solution in the cloud, please keep in mind that the cloud will have a lot of waste in the cost when you do not need it. To eliminate waste, please make sure that the high-performance solution is 'just enough' rather than overkill. Follow these three easy steps. Choosing the correct compute solution. For example, VM vs Cloud App. Starting with a free / shared tier to eliminate waste. In VM, you can start from the small instance. Choosing the right storage. HDD vs SSD, Tables vs Blob, etc. You can start the eliminate waste by understanding the fundamental of product here Tips 5. Activating Runbooks or Automation Azure has a good solution namely Azure Automation. It can help you to shutdown the VM when you do not need it. Reducing the cost of Cloud App by reducing the scale out. Tracking and logging useful information for your justification and decision point You read the automation here Any others tip? Please share in the comment below!       medianet_width = "600"; medianet_height = "250"; medianet_crid = "858385152"; medianet_versionId = "3111299";

Three steps that you must do before building cloud solution

Building for cloud is different Whether you are building for the Azure or for the AWS, you can see there are some difference between building the cloud solution and on-premises solution. There are three key differences when comparing cloud and on-premises which are: Cloud is running in massive scale virtualization. Therefore, some of the key architecture such as cookie, session, and cache should be different between cloud and on-premises. Cloud is providing platform tools. Cloud computing such as AWS or Azure is giving you some platform tools to more productive Cloud is costly for some workload. Cloud computing is costly for some workloads. When comparing with the on-premises or conventional hosting, the cloud computing is costly for some workload configuration medianet_width = "600"; medianet_height = "250"; medianet_crid = "858385152"; medianet_versionId = "3111299"; Based on that difference, we discuss three steps that you must do before building cloud solution. Step 1. Learning the platform tools After installing visual studio or visual studio codes you should download the platform tools for Azure or AWS. For Azure, you can download and install Azure developments workload on Visual Studio Installer. You can download https://azure.microsoft.com/en-us/downloads/ For Aws, you can download The AWS toolkit https://aws.amazon.com/visualstudio/ Step 2. Start with the developer SKU Both Azure and AWS has the developer SKU. It provides you better price for developer and testing purpose. Beside of that both platforms have 12 months free use for lightweight use. For Azure, you have Dev Test Pricing. It clears enough to get started https://azure.microsoft.com/en-us/pricing/dev-test/ For AWS, you should register it first. You can get 70% reduced prices https://aws.amazon.com/pricing/?nc2=h_ql_pr_ln Step 3. Learning the architecture for the Cloud Next things that you can do is learning the recommended architecture in the cloud. By learning the recommended architecture, we can make sure that the proposed solution can be utilized and used for customer. For Azure, you can read the cloud patterns by visiting https://docs.microsoft.com/en-us/azure/architecture/patterns/ For AWS, you can learn AWS well architecture format https://docs.aws.amazon.com/wellarchitected/latest/framework/welcome.html medianet_width = "600"; medianet_height = "250"; medianet_crid = "858385152"; medianet_versionId = "3111299";

How to develop Microsoft Based Solution in AWS Platform

If you have a customer who want to develop Microsoft based solution in the AWS platform, this article is for you. In this article we discuss several options that can make your Microsoft Based solution work as expected. What Microsoft Based Solution that can be developed in AWS Basically, AWS is a cloud computing platform. Therefore, you can use any available Microsoft platform to the AWS. Although Azure is the primary option for Microsoft solution, you can use Amazon Web Services for many of Microsoft based solution. The real question what the best AWS platform for Microsoft Based Solution? Running Windows on AWS Platform // Windows Server, Windows 10, and Windows Based Hosting can be placed in Amazon EC2. It equals with Microsoft Virtual Machine. AWS claims that the Windows platform on AWS platform is faster, cheaper, and better. You can see their claim here. My suggestion is creating the EC2 instance on AWS and VM instance on Microsoft Azure. And please comment what you found! Running SQL Server on AWS Platform SQL Server can be hosted in two ways. First way is deployed on EC 2 instance, the second way is deployed through RDS platform. For better flexibility you can use EC2 since you can manage operating system and its configuration. RDS is great when you have less complexity on the database usage. Typical of web application with single database can utilize the RDS. For easier deployment and management for simple process you can use RDS For better flexibility you can use EC2 instance Running Cloud App on AWS Platform If you need to deploy your codes, you can use AWS Code Deploy. You can host your codes in Elastic Beanstalk. Elastic beanstalk works just like Azure Cloud App. Code Deploy works just like a portion of Azure DevOps. You can see how to do that in this link. Off course you can create the serverless function based on ,NET platform with AWS Lambda. Fortunately, the Amazon provides you a AWS Toolkit for Visual Studio to make you more productive. You can download the toolkit here Running on Azure or AWS I can say, we can deploy it to both platforms. You can host asp.net in AWS or Azure. The question is which perform better? Have an experience about that? You can share the result in the comments. //

Topics Highlights

About @ridife

This blog will be dedicated to integrate a knowledge between academic and industry need in the Software Engineering, DevOps, Cloud Computing and Microsoft 365 platform. Enjoy this blog and let's get in touch in any social media.

Xbox

Month List

Visitor