This article is contributed. See the original author and article here.
Tour Microsoft Viva, the new employee experience platform that connects learning, insights, resources, and communication. Viva is a unique set of curated and AI enriched experiences built on top of and integrated with the foundational services of Microsoft 365. Join Jeremy Chapman as he shares Viva’s capabilities, the underlying tech, and your core options for enabling and configuring Microsoft Viva as a team leader or admin.
Microsoft Viva’s 4 core modules:
Viva Topics— builds a knowledge system for your organization
Viva Connections— boosts employee engagement
Viva Learning— creates a central hub to discover learning content and build new skills
Viva Insights— recommends actions to help improve productivity and wellbeing
As an employee:
Get more time to focus and recharge — no matter where you’re working from.
Connect with others, stay informed and engage
Accelerate learning new skills, and balance your time at work.
At an organizational level:
Boost morale and retention and the overall success of your organization.
Foster a new culture of support for employees, so even when not physically together with colleagues, they feel connected to collective goals.
Employees can easily leverage the knowledge and connections of their work community to get things done and feel invested in their career growth.
We are Microsoft’s official video series for IT. You can watch and share valuable content and demos of current and upcoming tech from the people who build it at #Microsoft.
-Welcome to Microsoft Mechanics and our Essentials Series on the new employee experience platform, Microsoft Viva. In the next few minutes, I’ll introduce you to Viva’s capabilities, explain the underlying tech and your core options for enabling and configuring Microsoft Viva as a team leader or admin.
-You can think of Viva as a unique set of curated and AI-enriched experiences built on top of and integrated with the foundational services of Microsoft 365, which extends your existing investments. As an employee, Viva experiences are crafted to help you more easily connect with others and the information around you, stay informed and engaged, accelerate your learning of new skills and balance your time at work, giving you more time to focus and recharge no matter where you’re working from. At an organizational level, Viva can help foster a new culture of support for employees, so that even when they are not physically together with colleagues they always feel a strong connection to collective goals. They can more easily leverage the knowledge and connections of their work community to get things done and feel invested in their career growth and wellbeing, all of which can boost morale and retention and the overall success of your organization.
-Microsoft Viva experiences today are delivered across four core modules with more on the way. First, Viva Topics builds a knowledge system for your organization. With Viva Topics, you can discover knowledge connected to specific topics quickly in the context of your work. This helps you to easily connect the dots between people and information and take action. Now the underlying AI provides a useful baseline around topics and subject matter experts by organizing information into accessible knowledge within the apps and services you use every day. Think of it as a Wikipedia where AI does the first draft keeping it up-to-date, and then employees can collectively contribute their expertise to crowdsource knowledge across your organization, and knowledge managers can review and curate topic pages for accuracy.
-Next, Viva Connections is all about boosting employee engagement. Everyone from your everyday users, specific employee groups and departments through to your frontline workers. Expanding upon SharePoint home sites and news feeds as well as Yammer communities, it’s designed to give you a curated, company-branded experience that delivers personalized news, conversations, and other commonly used resources within the context of the apps you use every day, like Microsoft Teams.
-Then Viva Learning creates a central hub for individuals and teams to discover learning content and build new skills, all within the flow of their everyday work in Microsoft Teams. Viva Learning exposes recommended content by managers, experts, and peers to upskill employees. And they can also search for content that meets their specific needs as well as share and discuss learning, for example in chat. Content can come from learning providers, in-house custom materials stored in SharePoint, and your Learning Management Systems. Learning recommendations can also be surfaced directly inside of Viva Insights.
-Speaking of which, our fourth module, Viva Insights, leverages the MyAnalytics and Workplace Analytics foundation to deliver data-driven, privacy-protected insights and recommended actions to help individuals and teams improve productivity and wellbeing. So for individuals, Viva Insights offers actionable reminders for regular breaks and mindfulness activities in the flow of work, including integration with Headspace. Manager and leader insights provide visibility into work patterns that can lead to burnout and stress. And the new Glint dashboard helps leaders more accurately get a pulse of their organization by providing insight into the factors that impact engagement, so that they can take action.
-So, now that you know what the core experiences are, and the good news is, as part of the Microsoft 365 service, there’s little additional work required to implement Microsoft Viva for your organization. This is helped by the underlying AI together with Microsoft Graph that provides signals including the activities, relationships, and content spanning your organization to automate the delivery of core aspects of the experience. And you can extend this even further with SharePoint Syntex to transform your content into knowledge with AI-driven forms processing and document understanding. That said, while AI gives you a great starting point, you have control over curating, customizing, and targeting these experiences.
-Now while we’ll go deeper on the specific things you can do during the rest of the series, here are just some of the highlights. Differentiated experiences across roles, departments and geographies are managed using groups in Azure Active Directory to tailor what people see. For example, in Viva Connections you can build a branded and personalized experience, as well as target information using adaptive cards to reach specific groups. Another example is with Viva Topics, where you can do several things, such as targeting the experience toward specific audiences. As a Microsoft 365 admin, you have full control to configure access to Viva modules and experiences. For example, you can customize Viva Learning to curate online training from your preferred content providers and your own company-developed content so that it’s available all in one place. And you can also make Viva modules discoverable in the context of Microsoft Teams.
-Next, there are granular options to set up Viva Topics for your organization. For example, you can crowdsource information where everyone can create and edit topic pages, or you can establish additional governance oversight by assigning knowledge managers to review and curate topics for accuracy and suitability. For Viva Learning, Knowledge admins can also be assigned to curate learning content, and they can also feature specific learning content for everyone in the organization. And for Viva Insights, you can create custom policies to tailor personal experiences, while manager and leader insights are available to licensed users of Workplace Analytics.
-Now as you would expect, privacy and security are built into all Microsoft Viva experiences. And any information protection and compliance controls you’ve configured in Microsoft 365 are respected when you access content. For example, you can only see the files and documents you have permissions to see in Viva Topics and the same is true for Viva Connections. For Viva Topics, you can exclude topics by name and even entire sites that you don’t want the service to crawl as it builds the knowledge index. Additionally, Viva is GDPR compliant, for example personal experiences from Viva Insights are only visible to individuals. For manager and leader insights, safeguards like aggregation, de-identification, and differential privacy are built-in to protect individual privacy. Also, in Viva Topics you can unlist yourself as a topic expert to prevent others from contacting you. And in Viva Learning, recommended learning is only visible to the target employee and the person who made the recommendation.
-As an employee experience platform, of course Microsoft Viva is extensible. As we’ve shown, Viva builds on Microsoft Teams and Microsoft 365 platforms to provide the organizing layer for integrated employee experiences. This gives you an extensibility layer that ensures faster and broader integration with your existing tools and systems. Viva Topics and Viva Connections extensibility leverage the same patterns and practices of the familiar SharePoint Framework to build out custom experiences. For example, you can build custom web parts for your home site and topic pages. And you can use adaptive cards for your Viva Connections dashboard to expose specific content and target the right employees with the right resources. Experiences are infused with a strong and growing ecosystem of partners, and it’s designed to integrate with your existing systems. For example, you’ll be able to use Viva Learning connectors to integrate with popular Learning Management Systems to surface assigned or mandatory trainings. Also, LMS integration and APIs will be available via Microsoft Graph, so you can integrate your own custom solutions.
-Viva is also built to integrate across learning resources. So for example, Viva Learning brings in content from Skillsoft, PluralSight, Coursera, edX, LinkedIn Learning, Microsoft Learn, and Microsoft 365 training with even more on the way. And Viva Insights can pull in data from existing apps and services, such as Zoom and Slack or SAP SuccessFactors.
-So that was a quick overview of Microsoft Viva and how it brings together communications, knowledge, learning, resources, and insights into an integrated experience that empowers you and your teams to be your best from anywhere you work and in the tools you use every day. This is part one of our series explaining Microsoft Viva. Keep checking back to aka.ms/VivaMechanics for deep dives on all the Viva modules where we’ll show you how you to configure and setup the experiences. And you can learn more at aka.ms/Viva. Thanks for watching.
This article is contributed. See the original author and article here.
In this installment of the weekly discussion revolving around the latest news and topics on Microsoft 365, hosts – Vesa Juvonen (Microsoft) | @vesajuvonen, Waldek Mastykarz (Microsoft) | @waldekm are joined by Rhode Island, US-based, MVP, professional archer, blogger and presenter specializing in UI/UX, information architecture and user adoption at TrnDigital, D’arce Hess | @ DarceHess. Topics discussed in this session include: The path to IT and on becoming an MVP, reflections on UX/UI changes over the years and designing custom experiences that addresses business processes. In post pandemic times, organizations will be circling back to optimize Microsoft Teams experiences while vendors will continue efforts to land the right extensibility stories. Microsoft Viva – with great power comes great responsibility and ideas about prepping for Viva. Finally, thoughts on women in IT and on using what we learn in school in the field. Microsoft and the Community delivered 18 articles in this last week. This session was recorded on Monday, May 10, 2021.
Please remember to keep on providing us feedback on how we can help on this journey. We always welcome feedback on making the community more inclusive and diverse.
This episode was recorded on Monday, May 10, 2021.
These videos and podcasts are published each week and are intended to be roughly 45 – 60 minutes in length. Please do give us feedback on this video and podcast series and also do let us know if you have done something cool/useful so that we can cover that in the next weekly summary! The easiest way to let us know is to share your work on Twitter and add the hashtag#PnPWeekly. We are always on the lookout for refreshingly new content. “Sharing is caring!”
Here are all the links and people mentioned in this recording. Thanks, everyone for your contributions to the community!
Want to ask a question or in general engage with the community – Add a note in the Microsoft 365 PnP Community hub athttps://aka.ms/m365pnp/community
Check out all the great community calls, SDKs, and tooling for Microsoft 365 fromhttps://aka.ms/m365pnp
If you’d like to hear from a specific community member in an upcoming recording and/or have specific questions for Microsoft 365 engineering or visitors – please let us know. We will do our best to address your requests or questions.
This article is contributed. See the original author and article here.
Microsoft 365 Patterns and Practices (PnP) Community April 2021 update is out with a summary of the latest guidance, samples, and solutions from Microsoft or from the community for the community. This article is a summary of all the different areas and topics around the community work we do around Microsoft 365 ecosystem during the past month. Thank you for being part of this success. Sharing is caring!
What is Microsoft 365 Community (PnP)
Microsoft 365 PnP is a nick-name for Microsoft 365 platform community activities coordinated by numerous teams inside of the Microsoft 365 engineering organizations. PnP is a community-driven open source initiative where Microsoft and external community members are sharing their learning’s around implementation practices for Microsoft 365.
Topics vary from Microsoft Viva, Microsoft Graph, Microsoft Teams, OneDrive and SharePoint. Active development and contributions happen in GitHub by providing contributions to the samples, reusable components, and documentation for different areas. PnP is owned and coordinated by Microsoft engineering, but this is work done by the community for the community.
The initiative is facilitated by Microsoft, but we have multiple community members as part of the PnP team (see team details in end of the article) and we are always looking to extend the PnP team with more community members. Notice that since this is open source community initiative, so there’s no SLAs for the support for the samples provided through GitHub. Obviously, all officially released components and libraries are under official support from Microsoft.
We highly recommend also subscribing on the Microsoft 365 Developer Podcast show, which is a great show covering also latest development in the Microsoft 365 platform from developer and extensibility perspective.
Community Calls
There are numerous different community calls on different areas. All calls are being recorded and published either from Microsoft 365 Developer or Microsoft 365 Community (PnP) YouTube channels. Recordings are typically released within the following 24 hours after the call. You can find a detailed agenda and links to specific covered topics on blog post articles at the Microsoft 365 developer blog when the videos are published.
SharePoint https://aka.ms/spdev-call – Consists of the latest news, providing credits for all community contributors and live demos typically by SharePoint engineering.
M365 General Dev SIG https://aka.ms/spdev-sig-call – Bi-weekly – General topics on Microsoft 365 Dev from various aspects – Microsoft Teams, Microsoft Graph Toolkit, Provisioning, Automation, Scripting, Power Automate, Solution design
SharePoint Framework SIG https://aka.ms/spdev-spfx-call – Bi-weekly – Consists of topics around SharePoint Framework and JavaScript-based development in the Microsoft Teams and in SharePoint platform.
If you are interested in doing a live demo of your solution or sample in these calls, please do reach out to the PnP Team members (contacts later in this post) and they are able to help with the right setup. These are great opportunities to gain visibility for example for existing MVPs, for community members who would like to be MVPs in the future or any community member who’d like to share some of their learnings.
Microsoft 365 Community (PnP) Ecosystem in GitHub
Most of the community driven repositories are in the PnP GitHub organization as samples are not product specifics as they can contain numerous different solutions or the solution works in multiple different applications.
CLI Microsoft 365 – Cross-OS command line interface to manage Office 365 tenant settings
generator-spfx – Open-source Yeoman generator which extends the out-of-the-box Yeoman generator for SharePoint with additional capabilities
generator-teams – Open-source Microsoft Teams Yeoman generator – Bots, Messaging Extensions, Tabs, Connectors, Outgoing Web hooks and more
teams-dev-samples – Microsoft Teams targeted samples from community and Microsoft engineering
Sharing is Caring – Getting started on learning how to contribute and be active on the community from GitHub perspective.
pnpcore – The PnP Core SDK is an SDK designed to work against Microsoft 365 with Microsoft Graph API first approach
powershell – PnP PowerShell module which is PowerShell Core module targeted for Microsoft 365
pnpframework – PnP Framework is a .Net Standard 2.0 library targeting Microsoft 365 containing the PnP Provisioning engine and a ton of other useful extensions
What’s supportability story around the community tooling and assets?
Following statements apply across all of the community lead and contributed samples and solutions, including samples, core component(s) and solutions, like SharePoint Starter Kit, yo teams or PnP PowerShell. All Microsoft released SDKs and tools are supported based on the specific tool policies.
PnP guidance and samples are created by Microsoft & by the Community
PnP guidance and samples are maintained by Microsoft & community
PnP uses supported and recommended techniques
PnP is an open-source initiative by the community – people who work on the initiative for the benefit of others, have their normal day job as well
PnP is NOT a product and therefore it’s not supported by Premier Support or other official support channels
PnP is supported in similar ways as other open source projects done by Microsoft with support from the community by the community
There are numerous partners that utilize PnP within their solutions for customers. Support for this is provided by the Partner. When PnP material is used in deployments, we recommend being clear with your customer/deployment owner on the support model
Please see the specifics on the supportability on the tool, SDK or component repository or download page.
Microsoft 365 PnP team model
In April 2020 we announced our new Microsoft 365 PnP team model and grew the MVP team quite significantly. PnP model exists for having more efficient engagement between Microsoft engineering and community members. Let’s build things together. Your contributions and feedback is always welcome! During August, we also crew the team with 5 new members. PnP Team coordinates and leads the different open-source and community efforts we execute in the Microsoft 365 platform.
We welcome all community members to get involved on the community and open-source efforts. Your input do matter!
Got feedback, suggestions or ideas? – Please let us know. Everything we do in this program is for your benefit. Feedback and ideas are more than welcome so that we can adjust the process for benefitting you even more.
Area-specific updates
These are different areas which are closely involved on the community work across the PnP initiative. Some are lead and coordinated by engineering organizations, some are coordinated by the community and MVPs.
Microsoft Graph Toolkit
Microsoft Graph Toolkit is engineering lead initiative, which works closely with the community on the open-source areas. The Microsoft Graph Toolkit is a collection of reusable, framework-agnostic web components and helpers for accessing and working with Microsoft Graph. The components are fully functional right of out of the box, with built in providers that authenticate with and fetch data from Microsoft Graph.
All the latest updates on the Microsoft Graph Toolkit is being presented in our bi-weekly Microsoft 365 Generic Dev community call, including the latest community contributors.
Microsoft 365 Community docs
Community docs model was announced in the April 2020 and it’s great to see the interest for community to help each other by providing new guidance on the non-dev areas. See more on the announcement from the SharePoint blog – Announcing the Microsoft 365 Community Docs. We do welcome contributions from the community – our objective is to build a valuable location for articles from Microsoft and community together.
These are the updated SharePoint Framework samples which are available from the the different repositories.
New sample react-teams-membership-updater by Nick Brown which can be used to update the membership of a team based on the contents of a CSV file, can be hosted in a SharePoint site where a list can be defined for logging purposes or run inside teams as a personal app.
Updates to react-staffdirectory by Tristian O’Brien which is a web part shows the current user’s colleagues, and allows the user to search AD directory.
Updates to react-datatable by Chandani Prajapati which provides easy way to render SharePoint custom list in datatable view with all the necessary features.
Other to numerous SPFx web part and extension samples by our awesome community members!
How to find what’s relevant for you? Take advantage of our SharePoint Framework web part and extension sample galleries – includes also solutions which work in Microsoft Teams
These are samples which have been contributed on the community samples since last summary. We do welcome all Microsoft Teams samples to this gallery. They can be implemented using in any technology.
New sample msgext-bot-SPUploader by Sathya Raveendran and Varaprasad SSLN which is a document manager solution
New sample tab-activity-feed by Sébastien Levert (Microsoft) which shows on how to build a solution leveraging the Teams Activity Feed API to send notifications to other users
Updates to tab-sso by Shama which shows how to create a tab for Teams that uses the built-in Single Sign-On (SSO) capabilities
Numerous updates on the existing samples provided by community and Microsoft
New sample regex-functions by Geetha Sivasaiam and P3N on set of functions that performs regex match on currency, percent & time formats
New sample Tagbox by Carmen Ysewijn (Qubix) showing a textbox that adds items into a dynamic list
New sample Timesheet by April Dunnam (Microsoft) showing a timesheet application is a tablet-based canvas app that gives you a way to create and manage weekly timesheets
New sample calendar-component by April Dunnam (Microsoft) providing a re-usable component that allows you to display events in a calendar
The “Sharing Is Caring” imitative is targeted for learning the basics around making changes in Microsoft Docs, in GitHub, submitting pull requests to the PnP repositories and in GitHub in general. Take advantage of this instructor lead training for learning how to contribute to docs or to open-source solutions. Everyone is welcome to learn how to get started on contributing to open-source docs or code!
See more from the guidance documentation – including all upcoming instructor lead sessions which you can participate!
Different Microsoft 365 related open-source initiatives build together with the community
See exact details on the latest updates from the specific open-source project release notes. You can also follow up on the project updates from our community calls. There are numerous active projects which are releasing new versions with the community even on weekly basis. Get involved!
Microsoft Look Book – Discover the modern experiences you can build with SharePoint in Microsoft 365. Look book provides design examples for SharePoint Online which can be automatically provisioned to any tenant in the world. See more from https://lookbook.microsoft.com. This service is also provided as open-source solution sample from GitHub.
yo teams – Open-source Yeoman generator for Microsoft Teams extensibility. Supports creation of bots, messaging extensions, tabs (with SSO), connectors and outgoing Webhooks. See more from https://aka.ms/yoteams.
PnP Framework – .NET Standard 2.0 SDK containing the classic PnP Sites Core features for SharePoint Online. More around this package from GitHub.
PnP Core SDK – The PnP Core SDK is an SDK designed to work for Microsoft 365 with Graph API first approach. It provides a unified object model for working with SharePoint Online and Teams which is agnostic to the underlying API’s being called. See more around the SDK from documentation.
PnP PowerShell – PnP PowerShell is a .NET Core 3.1 / .NET Framework 4.6.1 based PowerShell Module providing over 400 cmdlets that work with Microsoft 365 environments and more specifically SharePoint Online and Microsoft Teams. See more details from documentation.
Reusable SharePoint Framework controls – Reusable controls for SharePoint Framework web part and extension development. Separate projects for React content controls and Property Pane controls for web parts. These controls are using Office UI Fabric React controls under the covers and they are SharePoint aware to increase the productivity of developers.
Office 365 CLI – Using the Office 365 CLI, you can manage your Microsoft Office 365 tenant and SharePoint Framework projects on any platform. See release notes for the latest updates.
PnPJs – PnPJs encapsulates SharePoint REST APIs and provides a fluent and easily usable interface for querying data from SharePoint sites. It’s a replacement of already deprecated pnp-js-core library. See changelog for the latest updates.
PnP Provisioning Engine and PnP CSOM Core – PnP provisioning engine is part of the PnP CSOM extension. They encapsulate complex business driven operations behind easily usable API surface, which extends out-of-the-box CSOM NuGet packages. See changelog for the latest updates.
PnP PowerShell – PnP PowerShell cmdlets are open-source complement for the SharePoint Online cmdlets. There are more than 300 different cmdlets to use and you can use them to manage tenant settings or to manipulate actual SharePoint sites. They See changelog for the latest updates.
PnP Modern Search solution – The PnP ‘Modern Search’ solution is a set of SharePoint Online modern Web Parts allowing SharePoint super users, webmasters and developers to create highly flexible and personalized search based experiences in minutes. See more details on the different supported capabilities from https://aka.ms/pnp-search.
Modernization tooling – All tools and guidance on helping you to transform you SharePoint to modern experiences from http://aka.ms/sppnp-modernize.
SharePoint Starter Kit v2 – Building modern experiences with Microsoft Teams flavors for SharePoint Online and SharePoint 2019 – reference solution in GitHub.
List formatting definitions – Community contributed samples around the column and view formatting in GitHub.
Site Designs and Site Scripts – Community contributed samples around SharePoint Site Designs and Site Scripts in GitHub.
DevOps tooling and scripts – Community contributed scripts and tooling automation around DevOps topics (CI/CD) in GitHub.
Teams provisioning solution – Set of open-source Azure Functions for Microsoft Teams provisioning. See more details from GitHub.
Documentation updates
Please see all the Microsoft 365 development documentation updates from the related documentation sets and repositories as listed below:
Microsoft 365 Dev and Microsoft 365 Community (PnP) YouTube video channels
You can find all Microsoft 365 related videos on our YouTube Channel at http://aka.ms/m365pnp-videos or at Microsoft 365 Dev. These channels contains already a significant amount of detailed training material, demo videos, and community call recordings.
Here are the new Microsoft demo or guidance videos released since the last monthly summary:
Here’s the list of active contributors (in alphabetical order) since last release details in GitHub repositories or community channels. PnP is really about building tooling and knowledge together with the community for the community, so your contributions are highly valued across the Microsoft 365 customers, partners and obviously also at Microsoft.
Thank you for your assistance and contributions on behalf of the community. You are truly making a difference! If we missed someone, please let us know.
Companies: Here’s the companies, which provided support the community initiative for this month by allowing their employees working for the benefit of others in the community. There were also people who contributed from other companies during last month, but we did not get their logos and approval to show them in time for these communications. If you still want your logo for this month’s release, please let us know and share the logo with us. Thx.
Microsoft people: Here’s the list of Microsoft people who have been closely involved with the PnP work during last month.
PnP Team manages the PnP community work in the GitHub and also coordinates different open-source projects around Microsoft 365 topics. PnP Team members have a significant impact on driving adoption of Microsoft 365 topics. They have shown their commitment to the open-source and community-driven work by constantly contributing to the benefit of the others in the community.
See all of the available community calls, tools, components and other assets from https://aka.ms/m365pnp. Get involved!
Got ideas or feedback on the topics to cover, additional partnerships, product feature capabilities? – let us know. Your input is important for us, so that we can support your journey in Microsoft 365.
This article is contributed. See the original author and article here.
Guest post by Lucas Liu Master’s student in Electrical & Computer Engineering at Duke University who specializes in Machine Learning & Federated Learning.
Throughout my time at university, I have built any number of scikit-learn, Tensorflow, or PyTorch machine learning models. I have developed and trained deep neural networks for applications ranging from cheetah footprint image classification to content similarity matching for bug tracking.
Many of these research projects have wound up more or less as Python scripts sitting on my PC, only existing locally. If a colleague or client wanted to use the product for themselves, this would involve a complicated series of file downloads, installation steps, dependency management, and more – a painful process even for researchers who are intimately knowledgeable with the technologies being used.
How can we eliminate this barrier between our research and our users? Microsoft Azure can help us transform machine learning research into a refined & easy-to-use product.
Containerize
First, we containerize our research with Docker. We take our ML model and package it into a simple flask app that serves predictions from POST requests with json payloads routed to `/predict`.
Here is an example Flask setup which predicts the probability of stroke with a scikit-learn ML model:
from flask import Flask, request
from flask.logging import create_logger
import logging
import pandas as pd
import joblib
app = Flask(__name__)
LOG = create_logger(app)
LOG.setLevel(logging.INFO)
@app.route("/")
def home():
html = "<h3>Stroke Prediction Home</h3>"
return html.format(format)
@app.route("/predict", methods=['POST'])
def predict():
"""Performs an sklearn prediction for stroke likelihood"""
json_payload = request.json
LOG.info(f"JSON payload: {json_payload}")
inference_payload = pd.DataFrame(json_payload)
LOG.info(f"inference payload DataFrame: {inference_payload}")
prediction = clf.predict_proba(inference_payload)[0][0]
statement = f'Probability of patient stroke is {prediction: .4f}'
return statement
if __name__ == "__main__":
clf = joblib.load("stroke_prediction.joblib")
app.run(host='0.0.0.0', port=8080, debug=True)
We then specify a Dockerfile configuration, which will handle requirements installation and run our Flask app. We will expose our container on port 80, and use Python slim, which is more lightweight.
A simple Docker configuration might look like this:
FROM python:3.8-slim
# Working Directory
WORKDIR /app
# Copy source code to working directory
COPY . app.py /app/
# Install packages from requirements.txt
RUN pip install --no-cache-dir --upgrade pip &&
pip install --no-cache-dir --trusted-host pypi.python.org -r requirements.txt
# Expose port 80
EXPOSE 80
# Run app.py at container launch
CMD ["python", "app.py"]
Build the container in ACR (let’s call our container image ‘stroke-predict’:
az acr build --registry mlproject --image stroke-predict .
Now, users can more easily access our ML model by quickly pulling, building, and running our image, without having to worry about dependencies or model running details. This helps us avoid the age old “But it runs on my machine!” problem.
Deploy & Operationalize
What if, instead of building a container image, users could simply hit a URL and perform inferences (no image setup required)? Let’s use Azure Kubernetes Service to serve our container at a ready-to-go endpoint:
First, we can use an Azure Pipeline Template to help us define a k8s deployment and load balancer YAML.
Now, we create an AKS cluster. This example cluster will have a load balancer, and the ability to autoscale between 1 and 5 nodes.
az aks create --resource-group mlproject --name mlproject
--generate-ssh-keys
--node-count 3
--vm-set-type VirtualMachineScaleSets
--load-balancer-sku standard
--enable-cluster-autoscaler
--min-count 1
--max-count 5
Next, Merge AKS credentials between kubectl and your AKS cluster
az aks get-credentials --resource-group mlproject --name mlproject
Attach our repository to the cluster
az aks update --resource-group mlproject --name mlproject --attach-acr mlproject
Deploy Application on Cluster
kubectl apply -f k8s/deployment.yaml
Apply Load Balancer
kubectl apply -f k8s/loadbalancer.yaml
Find IP for Endpoint
kubectl get services
Now our users can simply query our endpoint and receive predictions!
The power of Azure goes beyond just initial deployment. We can adopt Continuous Deployment practices with Github Actions for Azure to automatically trigger a new build each time a new version of the model is released, ensuring that the service endpoint is always providing the most up-to-date model.
Additionally, Azure’s autoscale feature allows our service to automatically scale up or down to meet real usage needs, activating additional resources during heavy usage time. We can even expand our AKS to reach users around the world. The Azure portal also allows us to monitor our AKS cluster metrics, and gain insights on the health and performance of the service.
Next Steps: MLOps
In this blog, we discuss how to transform your existing ML research models into a much more refined product with Azure’s Container Registry and Kubernetes Service, making it easy for users to access the fruits of your research.
However, if we start building with Azure from the very beginning, Azure’s MLOps offering provides an end-to-end solution for the ML life-cycle, from training and building the model initially, to continually retraining / redeploying an up-to-date service. Azure MLOps can even help us compare model performances & automatically detect data drift. This is just a small portion of what Azure’s MLOps can do –
This article is contributed. See the original author and article here.
Hello folks,
Today, there is increased scrutiny and demand for oversight on your data. Furthermore, the requirements dictated by laws and regulations present a growing set of challenges to your organisation.
For example, the ISO/IEC 27001:2013(E) Information technology — Security techniques — Information security management systems — Requirements states in section A.12.3.1
“Backup copies of information, software and system images shall be taken and tested regularly in accordance with an agreed backup policy.”
Therefore, if your enterprise is subject to that standard or is in the process of obtaining certification, you’ll need to prove to auditors that you have a process to validate compliance and remediate outliers. Azure Backup Center (ABC) gives you those capabilities.
**Please consult your compliance officer for information on the requirements your enterprise is subject to.
ABC on top of providing you a way to see all the Protectable Datasources that remain unprotected, provides you with a single location to define, assign and track Azure policies for backup across all your supported resources in Azure. Bringing your organization to your desired backup goal state through seamless integration with Azure Policy. Azure Policy allows you to track compliance against policies and create remediations when resources get “Non-compliant”.
Because ABC integrates so well with Azure Policy you can define and assign different policy to different scopes. When going through the assignment process, you’ll be able to:
Select the scope.
pick a management group,
or select a specific subscription,
and optionally select a resource group.
There are multiple built-in policies to cover backups, and multiple effects defined in these policies. You need to decide what to do with your non-compliant resources. Your compliance officer will help with this. Each possible response to a non-compliant resource is called an effect. The effect controls if the non-compliant resource is logged, blocked, has data appended, or has a deployment associated to it for putting the resource back into a compliant state. That way you have the control to verify compliance without making any changes. At least you know where you stand.
The code for these policies are stored in Github, you can fork that repo and modify the policies to make your own as you please.
There you go. The Azure Backup Center gives you the tools to protect your environment, to maintain and govern that protection across all your environments.
For more information, please see the documentation on docs.microsoft.com or using the links below.
Recent Comments