This might be a basic query but I wanted to confirm if there is any way of using the LUIS services/functionality offline without consuming the online APIs and generating the public key online. By offline, I mean to say if there are any supporting libraries/DLLs available for on-premise solutions by which we can build the Intends/Utterences/Entities and train the NLP system offline.
(The reason for asking this question is that I want to integrate LUIS with my existing Microsoft Bot application. However, our organization limits the software usage to utilize only on-premise offline software and any online software/services/APIs such as Azure APIs are restricted.)
Assuming that there is no such offline support for LUIS AI, are there any other libraries that would provide such support for .NET apps. I have come across Apache OpenNLP but that seems to more of Java-oriented offering.
Any inputs/suggestions on this would be appreciated.
Luis now has the ability to be fully off-cloud and on-premise through a docker container pull. This would be available for on-premise and Azure's IoT Edge (intelligent Edge) products.
Keep in mind
The described solution still requires a connection for Azure LUIS billing purposes that at the time of this writing is at a 15 minute interval. I believe this will be adjusted at some point in the future but it is something to keep in mind and plan for.
Link to Container Support in Azure Cognitive Services
As well, specifically, LUIS has full integration via this scenario. Where you can install and run LUIS docker containers. Please, keep in mind at the time of this writing this is ONLY for LUIS. Not QNA, not Bing Spell Check, *not analytics from the LUIS endpoints but there is a container work around for that.
Also, not speech priming or sentiment analysis and a few other features listed in the article.
Lastly, you can look into "Azure Stack" and IoT Edge here
It's a promising start. There are work arounds you may have to engineer while these services bare out more fruit but keep asking questions and keep raising concerns and more features will surely come!
LUIS is based on an online use, like almost all Microsoft Cognitive Services (except Custom vision compact models for example). There is no possibility for offline use, even if it may be useful for some cases like mobile use also.
Moreover (see here in the official documentation):
Is LUIS available on-premises or in private cloud? => No
For your 2nd question, StackOverflow may not be the right place for this (see https://stackoverflow.com/help/on-topic) and... I don't have a good solution! But would be interested to know one
Related
I am currently investigating possible tools with which to develop a workflow solution for a company that would be used by the staff to process incoming work and ensure incoming work is routed to the correct people for evaluation and are authorised by the relevant managers before work commences, and that the work is signed off when complete.
Is Microsoft Power Automate the right tool for this kind of work, or is it [simply] a tool for automating ones own personal tasks? I'm looking for something that could be used to develop a tool that would be used by everyone in the company.
I've looked at the various videos but it looks like it might be just something for automating ones personal tasks rather than building something to be shared. Is this correct or can it be used as a software development tool for developing a custom solution for a company?
Look at Business Process Flows (BPFs).
https://learn.microsoft.com/en-us/power-automate/business-process-flows-overview
The following text is from "Why use business process flows?" on the above link:
Business process flows provide a guide for people to get work done.
They provide a streamlined user experience that leads people through
the processes their organization has defined for interactions that
need to be advanced to a conclusion of some kind. This user experience
can be tailored so that people with different security roles can have
an experience that best suits the work they do.
Use business process flows to define a set of steps for people to
follow to take them to a desired outcome. These steps provide a visual
indicator that tells people where they are in the business process.
Business process flows reduce the need for training because new users
don’t have to focus on which table they should be using. They can let
the process guide them. You can configure business process flows to
support common sales methodologies that can help your sales groups
achieve better results. For service groups, business process flows can
help new staff get up-to-speed more quickly and avoid mistakes that
could result in unsatisfied customers.
You can create broad, or detailed, BPFs, to cover company wide business processes. You can also call on separate normal flows, validations, and more. There are a lot of ways you can use a BPF to move things forward in a company.
Power Automate (aka MS Flow) is a low code/no code business workflow management or process orchestration software, getting more power with Robotic Process Automation & Virtual Agents inclusion.
The concept is having variety of connectors for all the available SaaS solutions (name anything like Dynamics, Salesforce, Oracle, SAP, Twitter, Facebook, Exchange mailbox, OneDrive, SharePoint, etc) to act as both Trigger and Action to achieve what we want. At worst case we can use REST APIs to complete the project setup.
Community demo the usefulness of it by showcasing the automation of personal stuffs but it has more. MS Flow is the alternate for Dynamics CRM 365 workflow and SharePoint workflow as well. Definitely it’s an enterprise candidate to solve company wide problems like onboarding, approvals, and many other workflow solutions.
Personally I would look at Azure Logic Apps for that level. It has just about the same connectors as MS Flow , but with the addition of better management, troubleshooting and extensibility capabilities and you get all the benefits of security in Azure and compliance good stuff that companies would need
As per Wikipedia:
SnapLogic is a commercial software company that provides Integration Platform as a Service (iPaaS) tools for connecting Cloud data sources, SaaS applications and on-premises business software applications.
It is surely a competitor to informatica, but it doesn't seem to be just another ETL tool. I have a rough understanding that it is used for data integration but that's about it.
Is it merely an ETL tool or does it have any other functionality? Also, what are iPaaS tools in general?
Well, the best place to learn about SnapLogic will be their website, https://www.snaplogic.com/
Here is a video of SnapLogic: https://www.youtube.com/watch?v=KYJK7bjOlA0
A simple developer friendly example:
Let's say i want to search for twitter feeds posted with a particular hashtag by a particular person and write that data into a database of my choice or into amazon S3. SnapLogic allows me to do that without learning about the Twitter API and AWS. SnapLogic takes care of the abstraction for the user so that they can focus on the business logic of things.
The demos are available in the blog: http://www.snaplogic.com/blog
A look at SnapLogic on crunchbase is not a bad idea and you could also find their competitors there.
Your other questions like what are integration platform as a service(iPaaS) tools is too basic and should just be googled.
Basically there are two types of cloud integration, iPaaS and dPaaS
Basically SnapLogic is a iPaas Tool (Integration Platforma as a Service), One of the growing online cloud based integration ETL tool.
As per the Gartner report one of leader in "Enterprise Integration Platform as a Service" refer below link
https://www.snaplogic.com/press-releases/gartner-names-snaplogic-as-a-leader-in-the-magic-quadrant
About tool and few useful links,
1.Designer
It's a canvas area to play and develop your integration pipelines.
2.Manager
Is is a main important to manage all the projects , pipelines, assets ,accounts,creating users and providing permissions, and also import and export of
projects.
3.Dashboard
Monitoring the pipelines logs and information of running pipelines and history.
Useful links:
1.Main site:
https://www.snaplogic.com
2.SnapLogic free trial:
https://www.snaplogic.com/free-trial
3.SnapLogic Documentation
http://doc.snaplogic.com/
4.SnapLogic Community
https://community.snaplogic.com/
5.SnapLogic Blog
https://www.snaplogic.com/blog
Also recently they released SnapLogic Extremem, Please have a look
https://www.snaplogic.com/press-releases/introducing-snaplogic-extreme-to-help-data-engineers-operationalize-cloud-based-big-data-integrations
Since CodenameOne doesn't support "the cloud storage API" any more and the parse.com is going to retire soon as well. Does CodenameOne has any plan to release a new Cloud Storage API or provide suggestions/guidelines to help developers to deal with the parse4cn1 library code, cloud code, database structure and data in parse.com?
That is something you will have to figure out yourself as parse4cn1 was initially contributed by a community member and wasn't developed by Codenameone team.
You can use a simple webservices created in php, python or java, hosted along your content with any ISP.
You may also have a look at amazon aws which is promising, they provide a cloud solution but their SDKs is not yet integrated to Codenameone.
I made the parse4cn1 lib and I'm also wondering what's smartest to do. With the announcement of Parse.com's imminent shutdown, there's been a lot of discussion around alternatives. My feeling is that "the dust is yet to settle" as per what options are best and reliable for the longer term (it would be a pity to migrate to another service only for it to be shut down soon). So I personally plan to wait till sometime in Q2 to do a proper evaluation of the alternatives. Hopefully, there'll be more clarity then.
The option to host one's own Parse server (e.g. on AWS or Heroku) is getting interesting. They recently announced support for push notifications on iOS and Android. If (when?) they open source the Parse.com dashboard code, I think that option would be much more interesting.
At some point in the coming months, I plan to make a parse4cn1 release that exposes an option to set the server path. With that, anyone migrating to the Parse server option should, in principle, be able to continue to use the cn1lib. Of course, for features that are supported by the open source Parse server.
PS: Here are pointers to some of such discussions on Parse alternatives:
https://github.com/relatedcode/ParseAlternatives
http://www.slant.co/topics/5219/compare/~firebase_vs_kumulos_vs_kinvey
I am currently working heavily in Azure. I am actually quite fond of ARM (Azure Resource Manager) right now and would love to keep using it. Right now in the old portal, We have a lot of resources tied up as Cloud Services. Now, I know cloud services are available in the new portal, but it seems that Microsoft is moving away from the classic cloud service model. Can someone explain if this is true? If so, what will the new model look like? I already use resources groups to manage Websites (WebApps), so I assume this is where the azure future lies. Will we see the "deprecation" of cloud services on down the line?
I am trying to understand if I need to begin re-structuring my Azure Infrastructure.
Any insight, explanation, or documentation is greatly appreciated.
So there are two things here - Cloud Services and managemenet of Cloud Services.
When you manage Cloud Services in current portal the underlying mechanism used is Azure Service Management (ASM) where as it is Azure Resource Manager (ARM) in the preview portal. To me, ARM is the new way of managing your Cloud resources in Azure (including Cloud Services).
I don't work for Microsoft so I would not know if Cloud Services themselves will be deprecated down the road or not but one thing I think will happen is that ASM will be deprecated in favor of ARM. At some point of time, the only option you will be left with managing your cloud resources will be through Azure Resource Manager. One example that makes me believe this thing is the presence of Classic resource providers (e.g. Classic Storage Resource Provider which enables you to manage storage accounts created in current portal via ASM in the preview portal which works exclusively on ARM).
Personally I can't see a place for cloud services in the new ARM world of Azure. I have always found them a convoluted concept that simply added complexity to a deployment.
In the ARM view of deployments servers are collected together in a VNet, and each server is attached to a Nic which in turn can be connected to the internet. A security group then takes care of ingress / egress rules.
This is a much cleaner deployment method, as it puts connectivity configuration at the server layer instead of mapping them all through a higher layer of abstraction.
I don't see the place of cloud services in ARM, however after a quick search it seems that there is a plan to implement it
Still no direction from the Azure Advisers group other than officially they will not drop support for Cloud Services. I think they are nearing giving us some kind of direction but I can't say anymore than that.
I asked a question about the future of Cloud Services on the recent Azure Compute AMA.
You can read the answers directly on Reddit for all details, below are a few interesting quotes (emphasis mine).
On ARM Integration for Cloud Services:
We are looking at ways to make the transition to ARM easier for Cloud Service customers- one of those options includes CS integration in ARM. This investigation is in the very early stages though, so if you are looking for a solution soon, check out VMSS/ACS/SF/Web Apps (meagan-msft)
And:
I think it's safe to say that if we make any significant investment in CS in the near future, it would be ARM integration, and as Meagan suggests, that's still in planning. Beyond that, there are no major feature improvements on the horizon. We believe the platform is pretty mature at this point. (seanmichaelmckenna)
So it doesn't look like any major innovations will hit Cloud Services soon, however:
Cloud Services are not going anywhere. In fact, many Microsoft services run on Cloud Services, so we heavily rely on them as well. They are fully supported, so feel free to continue to use them.
(meagan-msft)
For those who want to switch to a different Compute service, these recommendations were made:
However, if you would like to check out other services that are integrated with ARM today, we recommend checking out the following:
Web Apps for customers who want a fully managed platform and are building traditional web applications
Service Fabric for customers who want an opinionated application platform and managed infrastructure, but still need some control over the IAAS layer
VM Scale Sets for customers who need IaaS-level control with easy scaling, autoscale and load balancer integration
Azure Container service was also listed as a potential alternative.
Some things to consider (my understanding):
Service Fabric currently (2017) requires at least 5 VM instances, except for dev/test purposes. So probably only an option for larger services
VM Scale Sets is an IaaS offering, i.e. you have to manage OS updates etc. yourself. However, support for automatic OS updates is being worked on.
I heard that apps don’t port directly and they have to be specifically written to work with Azure. I’m new to Azure and did some reading but I don’t see anything from their site or documentation that suggests that you must specifically code for Azure, so is it true?
If this question is better suited for another StackExchange site please let me know.
You should take a look at the Windows Azure Platform Training Kit to see some introductory project labs.
While you theoretically can just "drop in" some apps into a Windows Azure VM, it hardly makes sense to do so. Some apps can be migrated with only minor changes, such as an asp.net website - session state is easily handled by AppFabric Cache, and the Web Role VM is Windows Server 2008 with Full IIS. However, you'd still need to integrate with Windows Azure Diagnostics, to be able to have external visibility to the health of your app.
Further, with the example above, there are more optimal things you can do, such as moving static content to blob storage, and taking load off your VMs. This requires you to upload this content, and then change your IMG and other tag URLs to point to a slightly-different URL.
Just remember that you're moving to Windows Azure to take advantage of its platform and related services, not just to be a rack to host a server. To take advantages of these services, you're going to have to target them specifically, such as:
Access control services
Caching
Connectivity (vpn, service bus)
Diagnostics
Database (SQL Azure)
Synchronization services
Traffic management across data centers
This is somewhat true. Your apps will typically run as-is. You just need to add an azure project to the solution, and add your MVC apps as roles to the Azure Project.
I found O'Reilly's "Programming Windows Azure" to be a good conceptual introduction to Azure.